{"name":"io.github.molpha/mcp","slug":"molpha-mcp","title":"Molpha MCP","description":"MCP server that lets AI agents create, fetch, verify, and publish Molpha oracle data.","url":"https://mcp.market/server/molpha-mcp","rating":null,"grade":"A","score":85,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":30,"stars":2,"forks":0,"downloads_week":26,"last_push_at":"2026-09-21T07:36:44.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/molpha/mcp","website":"https://docs.molpha.io/","version":"0.1.2","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@molpha/mcp","version":"0.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Signing backend: memory (local keypair) or keychain (Privy / Turnkey).","isRequired":true,"default":"memory","choices":["memory","keychain"],"name":"SIGNER_BACKEND"},{"description":"Path to a Solana JSON keypair file. Required when SIGNER_BACKEND=memory.","format":"filepath","name":"OWNER_KEYPAIR"},{"description":"Keychain provider: privy or turnkey. Required when SIGNER_BACKEND=keychain.","choices":["privy","turnkey"],"name":"KEYCHAIN_BACKEND"},{"description":"Privy app ID. Required for KEYCHAIN_BACKEND=privy.","isSecret":true,"name":"PRIVY_APP_ID"},{"description":"Privy app secret. Required for KEYCHAIN_BACKEND=privy.","isSecret":true,"name":"PRIVY_APP_SECRET"},{"description":"Privy wallet ID. Required for KEYCHAIN_BACKEND=privy.","isSecret":true,"name":"PRIVY_WALLET_ID"},{"description":"Solana address for the Privy wallet.","name":"PRIVY_WALLET_ADDRESS"},{"description":"Turnkey API public key. Required for KEYCHAIN_BACKEND=turnkey.","isSecret":true,"name":"TURNKEY_API_PUBLIC_KEY"},{"description":"Turnkey API private key. Required for KEYCHAIN_BACKEND=turnkey.","isSecret":true,"name":"TURNKEY_API_PRIVATE_KEY"},{"description":"Turnkey organization ID. Required for KEYCHAIN_BACKEND=turnkey.","isSecret":true,"name":"TURNKEY_ORGANIZATION_ID"},{"description":"Solana address for the Turnkey wallet.","name":"TURNKEY_WALLET_ADDRESS"},{"description":"Solana RPC endpoint.","default":"https://api.devnet.solana.com","name":"SOLANA_RPC"},{"description":"Comma-separated Molpha gateway URLs. Leave empty to use the SDK default.","name":"GATEWAY_ENDPOINTS"},{"description":"Comma-separated EVM verifier networks.","default":"evm-sepolia","name":"MOLPHA_EVM_NETWORKS"},{"description":"Comma-separated Starknet verifier networks.","default":"starknet-sepolia","name":"MOLPHA_STARKNET_NETWORKS"},{"description":"Preview all write and spend operations without submitting them.","format":"boolean","default":"false","name":"MOLPHA_DRY_RUN"},{"description":"Process-local daily Solana submit cap.","format":"number","default":"100","name":"MOLPHA_MAX_EXECUTES_PER_DAY"},{"description":"Refuse to fund an x402 round priced above this amount (decimal USDC).","default":"1","name":"MOLPHA_X402_MAX_PRICE_USDC"},{"description":"Process-local daily x402 spend cap (decimal USDC).","default":"10","name":"MOLPHA_X402_MAX_SPEND_PER_DAY_USDC"},{"description":"Optional settling gateway PDA (base58) to skip discovery when the escrow is already funded.","name":"MOLPHA_X402_GATEWAY_PDA"}]}],"tools":[{"name":"molpha_agent_status","description":"Read the caller's x402 agent escrow (advisory: USDC ATA balance, amount committed to unsettled rounds, unsettled round count) and the next round's quoted price for a given quorum. Escrow is derived server-side per (payer, gateway). A non-existent escrow is normal pre-first-round — it's created lazily. Call before payment: \"x402\" fetches to see whether the escrow is already funded, or to pre-fund i","write_action":false,"price_micros":0,"input_schema":null},{"name":"molpha_derive_feed","description":"Locally derive the feedId for a declarative spec (apiConfig + quorum) — no transaction, no subscription required. feedId = keccak256(owner || apiConfigHash || signaturesRequired); the feed itself is created lazily on-chain at first settle (subscription or x402 round). Call this to preview a feedId before molpha_fetch_verified, or to check what feedId a given spec resolves to for the current signer","write_action":false,"price_micros":0,"input_schema":null},{"name":"molpha_describe_feed","description":"Read a feed's on-chain state (last committed value, registryVersion, signaturesRequired) and the caller's subscription status. Pass feedId directly, or apiConfig + signaturesRequired to derive it first (see molpha_derive_feed). A missing feed account is normal pre-first-settle — feeds are created lazily. `feed.valueKind` is the attested encoding of the stored bytes (\"value\" = raw payload, \"hash\" =","write_action":false,"price_micros":0,"input_schema":null},{"name":"molpha_execute","description":"Submit a signed DataUpdate to the Solana feed via submit_data_update. Pass the output of molpha_fetch_verified through unmodified — both the artifact shape ({ dataUpdate, signature }) and the flat shape ({ s, commitmentAddr, timestamp }) are accepted, and short hex fields are zero-padded server-side. Permissionless on-chain; the owner key pays SOL fees. EVM/Starknet execution is deliberately out o","write_action":true,"price_micros":0,"input_schema":null},{"name":"molpha_fetch_verified","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"molpha_get_capabilities","description":"Returns the current Molpha verification surface: active registryVersion, registered node set, gateway endpoints, supported chains, signing scheme, and x402 spend caps. Call first to learn where a signed result can be verified.","write_action":false,"price_micros":0,"input_schema":null},{"name":"molpha_get_latest","description":"Read the latest on-chain feed account for a Molpha feedId. `valueKind` is the attested encoding of the stored bytes (\"value\" = raw payload, \"hash\" = keccak digest) — it is not a scale hint. Molpha does not attest decimals on-chain; see molpha_describe_feed's valueEncoding for the (unsigned) apiConfig provenance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"molpha_verify","description":"Build the verifier address and call args for a signed DataUpdate on EVM or Starknet. This tool stops at calldata by design, not by omission: the Molpha verifier is stateless, so the agent (or its contract) executes verify() itself and the server never submits an EVM/Starknet transaction or vouches for a result it did not verify on-chain. There is no EVM/Starknet execution path anywhere in this MCP","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":85,"grade":"A","scanned_at":"2026-09-25T17:21:54.225Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-25T17:21:54.191Z","components":{"code":{"score":25,"max":25,"notes":["39 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@molpha/mcp","version":"0.1.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":14,"publishedAt":"2026-07-21T19:50:19.776Z","repositoryUrl":"git+https://github.com/Molpha/mcp.git","weeklyDownloads":26}],"repo":{"found":true,"owner":"molpha","repo":"mcp","archived":false,"pushedAt":"2026-09-21T07:36:44Z","stars":2,"forks":0,"openIssues":1,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/215841133?v=4","ownerCreatedAt":"2025-06-11T11:46:33Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/215841133?v=4&s=128","source":"github"},"presence":{"stars":2,"forks":0,"downloadsWeek":26,"license":"MIT","lastPushAt":"2026-09-21T07:36:44.000Z","score":30}}}},"grade_history":[],"reviews":[]}