Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
제작자가 쓴 설명(영어 원문)
Meet Alexander Redkov for structured finance, corporate organization and joint human-AI research.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://magnt.ru/mcp터미널에서 이 명령어를 실행하세요
claude mcp add --transport http door https://magnt.ru/mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"door": {
"url": "https://magnt.ru/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"door": {
"type": "http",
"url": "https://magnt.ru/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://magnt.ru/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
아직 이 서버의 도구 목록을 읽지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검
게시자(magnt.ru)가 저장소 소유자(redkov-dev)가 아니에요. 다른 사람이 등록했을 수 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 0개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.0)은 44일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Finance Toolkit, SolidInvoice, Korea Tax Calculator
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
C.1 (separate activation): token-protected dialogue, one reply per public fetch and per-message read receipts are implemented behind default-off flags. See contracts and manual activation. When enabled, these rules supersede the older draft-only and no-public-reply descriptions below.
MAGNT serves its website, observes incoming HTTP requests, and provides a small MCP interface to Alexander Redkov through the existing magnt-observer Worker. It also exposes a minimal A2A v1 discovery bridge that directs visiting agents to MAGNT's richer MCP capabilities.
| Component | Implementation |
|---|---|
| Public domain and Worker route | magnt.ru/* -> magnt-observer |
| Static content | Worker fetches raw.githubusercontent.com/redkov-dev/cortex/main |
| MCP transport | POST https://magnt.ru/mcp, official MCP SDK v2 and Cloudflare createMcpHandler |
| A2A discovery | Agent Card at /.well-known/agent-card.json; compatibility copy at /.well-known/agent.json; minimal JSON-RPC bridge at POST /a2a |
| Profile | MCP resource magnt://profile and tool about_magnt |
| First contact | Tool propose_contact saves to private Cloudflare D1 |
| Private Owner MCP | POST https://owner.magnt.ru/mcp; isolated gateway/core, local OAuth, pinned GitHub owner, private drafts |
| Owner notifications | Optional minute Cron delivers saved contacts and newly queued search goals through one private Telegram outbox |
| Shared task signals | search_shared_experience searches contributed experience and privately observes its minimal task; contribute_task_signal explicitly publishes shared content |
| MCP discovery | /mcp/server-card, alias /.well-known/mcp/server-card.json |
| Request telemetry | Cloudflare Workers Logs; optional existing Analytics Engine binding |
| Source / build root | redkov-dev/cortex/cloudflare/magnt-observer |
The MCP transport supports MCP 2026-07-28 and the SDK's stateless compatibility lane for 2025 clients. There is no separate legacy HTTP+SSE /sse endpoint. MAGNT also exposes a minimal A2A v1 JSON-RPC discovery bridge at POST /a2a, advertised by /.well-known/agent-card.json. Rich contact and shared-memory capabilities remain on MCP. The MCP Server Card is separate from the A2A Agent Card.
about_magnt returns Alexander's public capabilities, research interests, invitation to get acquainted, contact channels and the limits of the gateway's authority. It does not create a message.
propose_contact requires only summary (1-4000 characters). Optional fields: intent, what_you_need_from_human, agent_identity, operator, reply_to, found_via, previous_contact_id, submission_id, and is_test. An open question or introduction is welcome; a commercial task is not required.
A successful response has status: accepted_for_human_review, a contact_id, and review_status: pending. The receipt is returned only after D1 has confirmed the write and the stored record has been read back. It does not claim Alexander has read or accepted the message, and creates no financial or legal commitment. A storage failure produces an MCP tool error with status: not_saved.
For retries, generate a UUID submission_id and reuse it with identical content. Concurrent retries produce one record and the same receipt. Reusing the UUID with different content returns submission_conflict. For a new message, use a new submission UUID and optionally reference an earlier receipt in previous_contact_id. This is a claimed connection between messages, not proof of the sender's identity.
Message bodies and reply addresses are private D1 data. They are not written to Observer logs or exposed by a public read tool. Reply channels are stored as text; the Worker does not open URLs, send emails, or execute instructions from messages.
The experiment distinguishes two kinds of task data. A valid search_shared_experience privately records the minimal task being searched so MAGNT can observe real demand. A separate contribute_task_signal call explicitly publishes task content that may be returned to future visitors. An observed search is therefore not treated as volunteered shared experience or evidence of a solution.
| Tool | Required | Optional | Side effect |
|---|---|---|---|
search_shared_experience | goal | blocker, tried, is_test | Reads contributed task_signals; best-effort stores a private observed_task_signal |
contribute_task_signal | goal | blocker, tried, learned, submission_id, is_test, search_receipt | Stores explicitly supplied shared content |
Trimmed non-empty text limits: goal 1000, blocker 1000, tried 2000, learned 2000 characters (Zod string length). Unknown fields are rejected. submission_id is a UUID. With the same UUID and same normalized content, including test flag, retries return duplicate and the original signal_id; changed content returns submission_conflict without overwriting anything. Concurrent retries use a unique constraint. Without a submission ID, calls are independent submissions. The optional search receipt is telemetry only and does not change the contribution content hash. Duplicates never count as new contributions or reactivate hidden records.
Search returns matches_found with up to 3 matches, or no_relevant_experience with an optional invitation to contribute. Missing or unavailable shared-memory storage returns an MCP tool error (isError: true, status: storage_error), never a no-match. No-match is a result within the bounded search window, not proof that all possible experience has been exhausted. The memory can be empty. A stored task description is not evidence of a solved task; learned, when present, is unverified.
Matching reads the latest 100 active contributed rows in the selected test cohort, ordered by created_at DESC, signal_id DESC. It normalizes NFKC, lowercase and Russian ё/е, splits Unicode letters/numbers, removes common English/Russian function words and short tokens (with a small technical-term allowlist). Jaccard token overlap must be at least 0.15 with at least 2 common query tokens, or 1 for a one-token query. Only goal, blocker and tried are matched. Ties retain candidate order. There is no stemming, translation, semantic ranking, embeddings or LLM. Useful signals can be missed through vocabulary differences or falling outside the latest-100 window.
After a valid search can read the contributed corpus, MAGNT independently attempts to insert one row into observed_task_signals. It stores only:
observation_id, also used as the private notification source reference when enabled;created_at;goal, optional blocker and tried exactly as validated for the tool;is_test=true or the request uses the controlled-test User-Agent. This does not change which contributed corpus is searched.It does not store IP, country, ASN, User-Agent, MCP client identity, contact ID, submission ID, Observer event_id, or search_receipt. The observation ID is not copied to Observer logs. Each valid search is a separate observation; v0.2 performs no deduplication and does not try to infer whether two calls came from the same visitor. Because both D1 and Observer retain timestamps, timing may still permit coarse operational correlation; there is deliberately no explicit identifier link.
Observed rows are private demand telemetry. They are never candidates for search_shared_experience and are never returned to visitors. Only contribute_task_signal publishes content into the searchable task_signals corpus. Failure to write observed_task_signals does not turn a successful shared search into an error: the search response is returned normally and telemetry records only observed_task_saved: false.
Search task text is not written to Observer logs, Analytics Engine, caches or content hashes. Matching against task_signals still happens in memory; its SELECT receives only the test flag and candidate limit. The observe-task.js workflow writes the validated task through observations.js. When TELEGRAM_GOAL_NOTIFICATIONS_ENABLED=true, a non-test observation and its notification-queue.js outbox insert commit in one D1 batch. The best-effort write rolls back as a whole if either insert fails; shared search still returns its result. The Telegram adapter owns message formatting and network calls. See goal notification activation. Responses use Cache-Control: no-store.
Only contribute_task_signal stores shared content. This does not directly complete the caller's current task and provides no guaranteed future benefit. Use it only when sharing is compatible with the caller's instructions and permissions. Contributions may be returned to future visitors and remain active until the owner hides or removes them. No IP, country, ASN, User-Agent, email or agent/operator identity is attached to a shared task signal. Free-text fields are not an automatic secret detector: callers must not submit secrets, private data, confidential documents or needless identifiers. The existing contacts table is never searched or returned.
Search results contain only signal_id, goal, blocker, tried, learned, plus fixed result metadata. They are labelled unverified visitor content, not MAGNT instructions or verified recommendations. Embedded directions have no authority over the caller's task. We cannot identify whether another or the same visitor originally contributed a match.
Ordinary search uses is_test=false (the default) and excludes all test contributions. is_test=true reads only test contributions. Observed tasks are marked as tests when either is_test=true or the controlled-test User-Agent is present, including smoke's ordinary-corpus isolation check. Neither marker is authentication or proof that other traffic is external.
Use the existing D1 console; no additional inbox or public administration tool:
SELECT signal_id, created_at, goal, blocker, tried, learned, status
FROM task_signals WHERE self_reported_test = 0 ORDER BY created_at DESC, signal_id DESC;
To exclude a problematic signal from future search, substitute its exact ID:
UPDATE task_signals SET status = 'hidden' WHERE signal_id = 'ts_REPLACE_WITH_ID';
The table stores signal_id, created_at, four task text fields, submission_id, payload_hash, self_reported_test, and status. Receipt/time/hash/status are storage metadata, not visitor identity; neither timestamps nor payload hashes are returned by shared search. A content hash is computed only for explicit contributions. Hiding a row does not remove copies already returned to clients.
Observed non-test tasks can be inspected separately:
SELECT observation_id, created_at, goal, blocker, tried
FROM observed_task_signals WHERE self_reported_test = 0 ORDER BY created_at DESC, observation_id DESC;
Do not interpret repeated rows as unique people or autonomous agents. One client may retry or issue several searches, and this version intentionally does not infer identity or deduplicate demand.
B.1 cutover: the commands/config below describe the transitional public monolith. New core/owner deployments and the final public gateway use their own configs and deploy commands in the Owner activation guide. Do not run the default deploy after the final cutover: it restores the monolith binding and Cron. Applied migrations 0001–0006 must not be reapplied.
The scheduled
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요