
Molpha MCP
io.github.molpha由 GitHub 帳號 molpha 發布v0.1.2更新於 Oct 25, 2026
MCP server that lets AI agents create, fetch, verify, and publish Molpha oracle data.
概覽
Molpha MCP 讓 AI 助理取得門檻簽章的預言機資料、執行付費輪次,並將證明發布到 Solana 或為 EVM 與 Starknet 建構驗證器呼叫資料。
- 可以做什麼
- 檢視能力、資料提供者、資料來源、訂閱權限與 x402 報價,並在本機推導 sourceId,不需錢包。讀取 Solana 資料來源帳戶中最新已證明的值,並查詢錢包的訂閱擁有者或委派狀態。執行訂閱輪次或 x402 輪次以取得簽章證明,可選擇在同一次呼叫中結算到 Solana。根據證明建構 EVM 與 Starknet 驗證器呼叫資料。將簽章證明提交到 Solana,支援試執行預覽與每日支出上限。
- 適用情境
- 當助理需要來自 HTTP API 的可驗證預言機資料、需要在 Solana 上發布或結算證明,或需要為 EVM 或 Starknet 合約產生驗證參數時使用。唯讀模式適合探索;本機伺服器適合無人值守的代理與私有 API 資料來源。
- 執行需求
- 透過 npx 執行的本機程序,需要 Node.js 24 或更新版本。寫入與支出工具需要簽章器:SIGNER_BACKEND 設為 memory 並設定 OWNER_KEYPAIR,或設為 keychain 並將 KEYCHAIN_BACKEND 設為 privy(PRIVY_APP_ID、PRIVY_APP_SECRET、PRIVY_WALLET_ID)或 turnkey(TURNKEY_API_PRIVATE_KEY、TURNKEY_API_PUBLIC_KEY、TURNKEY_ORGANIZATION_ID)。SOLANA_RPC 與閘道端點可設定;未設定簽章器時以唯讀模式啟動。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Molpha MCP,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Molpha MCP
A Model Context Protocol (MCP) server that lets AI agents fetch signed Molpha oracle data, publish it on Solana, and build verifier calldata for EVM and Starknet.
Molpha turns HTTP API responses into threshold-signed payloads that can be verified on Solana, EVM, and Starknet. This server exposes that workflow as MCP tools, with signing behind a local, Privy, or Turnkey wallet, or, on mcp.molpha.io, behind your own wallet.
[!WARNING] This release targets Solana Devnet and Sepolia verifier networks. Treat it as testnet software, not a production security boundary. Write tools spend SOL, and round tools may consume subscription quota or pay USDC for x402 rounds, unless dry-run mode is enabled.
Quick start
Two recommended ways to connect:
mcp.molpha.io
Nothing to install, and no keys to hand over. Add the URL to your client.
Claude Code:
Cursor (.cursor/mcp.json):
The read tools work straight away. The server has no wallet of its own, so name the one you mean: submitter for describe_feed and get_latest_value, payer for get_x402_status.
Anything that needs a signature is returned for your own wallet to sign, so each such operation is two or three tool calls around one signature:
autoSubmit, dryRun and encryptSecrets are not offered here. Set spending limits in the wallet's own policy, and use the local server for private API work.
Sign in with your wallet (SIWX)
A subscription round on mcp.molpha.io is authorized by a sign-in session: the wallet signs one Sign-In-With-X text message (the x402 sign-in-with-x extension, in its Solana form), and the gateway issues a short-lived bearer token. The message is not a transaction and moves no funds.
- Who can sign in. The subscription owner, or a delegate the owner added with
add_delegate. A delegate passes the owner's address asowner. - How to sign. The message as returned: raw UTF-8, no prefix, no envelope, no trailing newline. The signature may be base58, base64 or hex.
solana sign-offchain-messagewraps the text and is refused withinvalid_signature. - What the token is. A credential for one wallet and one gateway, valid 30 minutes by default and never past the subscription term. It only identifies the caller: the gateway re-reads the subscription and delegate from chain on every round, so
remove_delegateends access whatever tokens exist. It passes through this server and is never stored or logged. - What it needs. A gateway with
sessionAuth: trueinGET /v1/info. Otherwisebegin_sessionanswerssessions_unavailableand x402 rounds remain available.
The full walkthrough, with a signing example, delegate setup, gateway routes and error codes, is in docs/integration.md.
Local (stdio)
The server runs on your machine and holds the signer, so one tool call runs a round or submits to Solana, and MOLPHA_DRY_RUN keeps every write a preview until you turn it off.
Needs Node.js 24 or later. Nothing to clone or build.
1. Look around, no wallet. Read-only: capabilities, providers, sourceIds, prices, feed values.
2. Build with a testnet wallet. Put your signer settings in a .env file (see Setup), then check them. The doctor prints a ready-to-paste config for your client, with secrets left as placeholders:
A config like this keeps every write a preview (MOLPHA_DRY_RUN=true):
3. Spend only when you mean to: fund the wallet, then set MOLPHA_DRY_RUN=false in the server's config. The full guide, with Cursor, VS Code, Codex and Claude Desktop, is docs/integration.md.
With no signer configured the server starts read-only and offers only the read tools (runLevel: "read-only" in get_capabilities). --read-only or SIGNER_BACKEND=none forces it.
Tools
On mcp.molpha.io the one-call round and submit tools become prepare/sign/execute pairs (above). Every tool returns structuredContent and carries MCP annotations; see Structured output and annotations. For tolerance-mode aggregation and the full configuration table, see docs/reference.md.
Round timing. Rounds run on a fixed 100 ms tick. Requests for one feed (the same source and quorum) inside one tick share a round, so a feed runs at most 10 rounds per second, and one wallet gets at most one round per tick for a feed: a second request in the same tick is answered with HTTP 409, which the round tools retry a tick later before failing with round_conflict. See Round timing.
Setup
For the local server.
Signer. Put your settings in a .env file and check them with the doctor. It prints a ready-to-paste config for your client with secrets left as placeholders. Use a dedicated testnet wallet.
Privy and Turnkey settings are in docs/reference.md and .env.example.
Dry-run lock. MOLPHA_DRY_RUN=true locks execute_subscription_round, execute_x402_round and submit_attestation to previews. A call with dryRun: false is refused with dry_run_locked, so going live is a change to the server's config, never to one tool call.
Subscription. Subscribing debits USDC, so it is kept out of the MCP tools and runs as a CLI command with the same signer configuration. --max-price-usdc is a cap in USDC base units (6 decimals); drop --dry-run to subscribe, or use extend to extend one.
Client. Every client launches the local server with npx. Snippets for Claude Code, Cursor, VS Code, Codex and Claude Desktop are in docs/integration.md, ready-to-edit copies are in examples, and Claude Desktop users can install the molpha-mcp.mcpb bundle attached to each release.
Example prompts
Discover. Use Molpha to inspect the current oracle capabilities. Summarize the registry version, node count, chains, gateways, and verifier addresses. Make no writes.
Derive. Derive a Molpha sourceId for
https://api.example.com/v1/finalized/priceusing the JSON path$.price. Show me the canonical JSON and the sourceId. Do not send a transaction.
Fetch. For that source, run a subscription round with 3 signatures for the EVM chain. Summarize the value, timestamp, registry version and verifier call. Treat the signed attestation as the trust anchor, not the value alone.
Provider. List the integrated data providers, describe TickerLayer's
btcusdfeed, and run it with 3 signatures for Solana, passing theapiConfigexactly as given.
Check spend. Call
get_x402_statusfor 3 signatures. Tell me the price, where payment goes, and my USDC balance before I authorize anexecute_x402_round.
Publish. If I give you a newer signed attestation, preview
submit_attestationwithdryRun: true, explain the exact write, and wait for my confirmation before submitting.
Use a public endpoint that returns stable, independently reproducible data: live ticker endpoints may differ across oracle nodes and fail to reach quorum.
How it works
The server is an adapter and policy boundary, not a new source of truth. Oracle nodes independently fetch the committed API configuration and produce one aggregate signature after reaching quorum; the server returns that self-contained signed artifact. Consumers trust a value only after verifying the signed payload against its registry version.
Development
Point a client at the built server with node /absolute/path/to/mcp/dist/src/server.js.
@molpha/sdk is pinned to an exact version and resolved from the npm registry; to try a local checkout run npm install ../sdk and do not commit the result. Install snippets are generated from src/install-config.ts: edit the renderers, not the generated text, because npm test fails when a generated file is out of date.
Versioning and publishing use Changesets: if a pull request changes published behavior, run npx changeset. On merge to main, release.yml opens a "Version Packages" PR and, when that merges, publishes @molpha/mcp to npm (trusted publishing, no token) and server.json to the MCP registry.
Bug reports and focused pull requests are welcome. For security issues, use GitHub's private vulnerability reporting instead of a public issue.
Documentation
- Integration guide: install per client, spending, signing in with your own wallet (SIWX), and running the HTTP server yourself
- Reference: sourceId, tolerance mode, x402, providers, configuration, signers
- Molpha protocol documentation
- Client configuration examples and the MCPB manifest
License
Released under the MIT License.
來源:README.md,提交 6393c56
工具
0版本歷史
1- v0.1.2最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分