Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
作者による説明(英語の原文)
Read-only MCP server: CWI Gear Ledger reads, deterministic trust scoring, NEEDLE DROP verification.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
作者はレジストリにインストール情報を載せていません。下にある作者のREADMEをご覧ください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名はドメイン cumulativeweb.com で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.3.0)がレジストリに届いたのは33 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。
同じカテゴリには:Finance Toolkit, SolidInvoice, Korea Tax Calculator
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
CWI's read-only MCP (Model Context Protocol) server. Seven tools, zero dependencies, stdio transport — connect it to any MCP client (Claude Desktop, Claude Code, Cursor, or another agent) and read CWI's trust infrastructure from your own runtime.
What you get:
insufficient-data instead of inventing a score).cwi-needledrop/v1).Read-only means read-only. No write tools, no signing, no presence heartbeats, no task creation, no state mutation. The server holds no secrets: no tokens, passwords, or keys in code, config, or logs.
Don't trust us — see VERIFY.md for how to check every claim yourself, cold, in under five minutes.
Requirements: Node ≥ 18 and python3 on your PATH. Nothing to install — there are zero dependencies.
git clone https://github.com/CumulativeWebInc/cwi-mcp-server.git
cd cwi-mcp-server node test.js # expect: 28/28 tests passed node test-http.js # expect: 13/13 HTTP tests passed
That's it. server.js is the server.
New here? Start with the 10-step equip guide (every step tested): https://cumulativewebinc.github.io/cwi-learn/EQUIP-GUIDE.md
cwi MCP config pre-filled (stdio: node /absolute/path/to/cwi-mcp-server/server.js). Replace the path with your real checkout path.vscode:mcp/install with the same config pre-filled.Claude Desktop (claude_desktop_config.json):
{
"mcpServers": { "cwi": { "command": "node", "args": ["/absolute/path/to/cwi-mcp-server/server.js"] } } }
Claude Code / any stdio MCP client: same shape — command node, one argument: the absolute path to server.js. Transport is stdio: one JSON-RPC object per line on stdin, responses on stdout.
server-http.js is a zero-dependency streamable-HTTP front-end for the exact same 7 tools — same code path, no duplication (server.js's handleMessage() answers every request). It speaks the transport Meta's Muse uses for custom connectors: POST /mcp with JSON-RPC 2.0, stateless (no session id required), 202 on notifications, 405 on GET /mcp.
node test-http.js # expect: 13/13 HTTP tests passed
PORT=3000 BIND=0.0.0.0 node server-http.js
Host it on any always-on machine with a public HTTPS URL (Railway, Render, Fly.io, a VPS, …) and tell Muse in chat to connect that /mcp URL as a custom connector. Read-only holds over the wire too: 1 MB body cap, 60 req/min/IP rate limit, no batches. GET / serves a human info page, GET /health a JSON health check.
Dockerfile (Node 20 + python3) and render.yaml (Render Blueprint) ship with the repo — the bridge is deployment-ready on any container host.
/health checks. Free tier sleeps after 15 min idle (~1 min cold wake) — fine for on-demand MCP calls.docker build -t cwi-mcp . then run with -p 7860:7860; the MCP endpoint is https:// /mcp.402 Payment Required: Gradio and Docker Spaces now require a PRO subscription; only static Spaces stay free).| # | Tool | Arguments | Returns |
|---|---|---|---|
| 1 | ledger_state_version | none | {version, updated_at, sha, tasks, agents} |
| 2 | ledger_state_get | fields (optional string[]) | Full ledger state, or selected top-level keys |
| 3 | ledger_agents | none | Every registered agent + latest presence heartbeat |
| 4 | ledger_tasks | state (optional enum) | Task summaries; filter by lifecycle state |
| 5 | ledger_task_get | task_id (required) | Full task detail incl. state history and artifacts |
| 6 | trust_verdict | input (required object) | Trust score or honest insufficient-data |
| 7 | needledrop_verify | file (optional path) | {file, ok, messages} chain-integrity verdict |
// tools/call {"name": "ledger_state_version", "arguments": {}}
{ "version": 1541, "updated_at": "2026-09-17T11:23:35Z", "sha": "3b2b46c8b8e14e0a3351e8896c6bd75e53391cde", "tasks": 38, "agents": 11 }
// tools/call {"name": "trust_verdict", "arguments": {"input": {
"engine_version": "1.0.0", "subject": {"agent_id": "some_agent"}, "context": "agent-trust", "observed_at": "2026-09-17T12:00:00Z", "signals": {"erc8004": [], "needle_drop": [], "first_spin": []} }}} { "status": "insufficient-data", "score": null, "missing": ["at least 3 verified signals across 2 families"], "input_sha256": "9f2c…" }
Empty evidence → insufficient-data, never a made-up number. That's the engine's whole point. Feed it real, citable evidence and you get a real score; the output carries input_sha256 so anyone can reproduce it byte-for-byte.
// tools/call {"name": "needledrop_verify", "arguments": {}}
{ "file": "vendor/needledrop/example-ledger.json", "ok": true, "messages": ["chain intact"] }
Point file at any absolute path to a cwi-needledrop/v1 ledger to verify that one instead. Tampered entries fail — try it: copy the example ledger, edit one byte, watch ok flip to false with the entry named.
On CWI's infrastructure the tools read through the canonical ledger CLI. On yours, they read the same bytes from CWI's public gear-ledger repo — no auth, no setup. (trust_verdict and needledrop_verify are fully local and never touch the network at all.)
server.js — the server (7 tools, stdio, zero deps)server-http.js — streamable-HTTP bridge (stateless POST /mcp, zero deps)test.js — full protocol + tool harness (node test.js → 28/28)test-http.js — HTTP bridge harness (node test-http.js → 13/13)VERIFY.md — the zero-trust verification guide: check everything yourselfEQUIPS.md — public, receipt-only log of external equipsagent-card.json — machine-readable card for agent discoveryvendor/cwi-verdict-engine-v1.0.0/ — the vendored verdict engine (byte-identical copy; see vendor/cwi-verdict-engine-v1.0.0/SOURCE.md)vendor/needledrop/ — ledger.py + schema + a 2-entry example ledger (entries sealed by the real ledger.py, clearly labeled as examples)examples/ — real verdict output from a 2026-09-17 runMIT — see LICENSE.