Search / io.github.molpha/mcp
Molpha MCP
L0· runs locallyMCP server that lets AI agents create, fetch, verify, and publish Molpha oracle data.
v0.1.2 · active · repository · website · descriptor JSON · versions
Search / io.github.molpha/mcp
L0· runs locallyMCP server that lets AI agents create, fetch, verify, and publish Molpha oracle data.
v0.1.2 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"molpha": {
"command": "npx",
"args": [
"-y",
"@molpha/[email protected]"
],
"env": {
"SIGNER_BACKEND": "memory",
"PRIVY_APP_ID": "${PRIVY_APP_ID}",
"PRIVY_APP_SECRET": "${PRIVY_APP_SECRET}",
"PRIVY_WALLET_ID": "${PRIVY_WALLET_ID}",
"TURNKEY_API_PUBLIC_KEY": "${TURNKEY_API_PUBLIC_KEY}",
"TURNKEY_API_PRIVATE_KEY": "${TURNKEY_API_PRIVATE_KEY}",
"TURNKEY_ORGANIZATION_ID": "${TURNKEY_ORGANIZATION_ID}",
"SOLANA_RPC": "https://api.devnet.solana.com",
"MOLPHA_EVM_NETWORKS": "evm-sepolia",
"MOLPHA_STARKNET_NETWORKS": "starknet-sepolia",
"MOLPHA_DRY_RUN": "false",
"MOLPHA_MAX_EXECUTES_PER_DAY": "100",
"MOLPHA_X402_MAX_PRICE_USDC": "1",
"MOLPHA_X402_MAX_SPEND_PER_DAY_USDC": "10"
}
}
}
}claude mcp add molpha -e "SIGNER_BACKEND=memory" -e "PRIVY_APP_ID=${PRIVY_APP_ID}" -e "PRIVY_APP_SECRET=${PRIVY_APP_SECRET}" -e "PRIVY_WALLET_ID=${PRIVY_WALLET_ID}" -e "TURNKEY_API_PUBLIC_KEY=${TURNKEY_API_PUBLIC_KEY}" -e "TURNKEY_API_PRIVATE_KEY=${TURNKEY_API_PRIVATE_KEY}" -e "TURNKEY_ORGANIZATION_ID=${TURNKEY_ORGANIZATION_ID}" -e "SOLANA_RPC=https://api.devnet.solana.com" -e "MOLPHA_EVM_NETWORKS=evm-sepolia" -e "MOLPHA_STARKNET_NETWORKS=starknet-sepolia" -e "MOLPHA_DRY_RUN=false" -e "MOLPHA_MAX_EXECUTES_PER_DAY=100" -e "MOLPHA_X402_MAX_PRICE_USDC=1" -e "MOLPHA_X402_MAX_SPEND_PER_DAY_USDC=10" -- npx -y @molpha/[email protected][mcp_servers.molpha]
command = "npx"
args = ["-y", "@molpha/[email protected]"]
env = { "SIGNER_BACKEND" = "memory", "PRIVY_APP_ID" = "${PRIVY_APP_ID}", "PRIVY_APP_SECRET" = "${PRIVY_APP_SECRET}", "PRIVY_WALLET_ID" = "${PRIVY_WALLET_ID}", "TURNKEY_API_PUBLIC_KEY" = "${TURNKEY_API_PUBLIC_KEY}", "TURNKEY_API_PRIVATE_KEY" = "${TURNKEY_API_PRIVATE_KEY}", "TURNKEY_ORGANIZATION_ID" = "${TURNKEY_ORGANIZATION_ID}", "SOLANA_RPC" = "https://api.devnet.solana.com", "MOLPHA_EVM_NETWORKS" = "evm-sepolia", "MOLPHA_STARKNET_NETWORKS" = "starknet-sepolia", "MOLPHA_DRY_RUN" = "false", "MOLPHA_MAX_EXECUTES_PER_DAY" = "100", "MOLPHA_X402_MAX_PRICE_USDC" = "1", "MOLPHA_X402_MAX_SPEND_PER_DAY_USDC" = "10" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"molpha": {
"type": "local",
"command": [
"npx",
"-y",
"@molpha/[email protected]"
],
"enabled": true,
"environment": {
"SIGNER_BACKEND": "memory",
"PRIVY_APP_ID": "{env:PRIVY_APP_ID}",
"PRIVY_APP_SECRET": "{env:PRIVY_APP_SECRET}",
"PRIVY_WALLET_ID": "{env:PRIVY_WALLET_ID}",
"TURNKEY_API_PUBLIC_KEY": "{env:TURNKEY_API_PUBLIC_KEY}",
"TURNKEY_API_PRIVATE_KEY": "{env:TURNKEY_API_PRIVATE_KEY}",
"TURNKEY_ORGANIZATION_ID": "{env:TURNKEY_ORGANIZATION_ID}",
"SOLANA_RPC": "https://api.devnet.solana.com",
"MOLPHA_EVM_NETWORKS": "evm-sepolia",
"MOLPHA_STARKNET_NETWORKS": "starknet-sepolia",
"MOLPHA_DRY_RUN": "false",
"MOLPHA_MAX_EXECUTES_PER_DAY": "100",
"MOLPHA_X402_MAX_PRICE_USDC": "1",
"MOLPHA_X402_MAX_SPEND_PER_DAY_USDC": "10"
}
}
}
}{
"mcpServers": {
"molpha": {
"command": "npx",
"args": [
"-y",
"@molpha/[email protected]"
],
"env": {
"SIGNER_BACKEND": "memory",
"PRIVY_APP_ID": "${PRIVY_APP_ID}",
"PRIVY_APP_SECRET": "${PRIVY_APP_SECRET}",
"PRIVY_WALLET_ID": "${PRIVY_WALLET_ID}",
"TURNKEY_API_PUBLIC_KEY": "${TURNKEY_API_PUBLIC_KEY}",
"TURNKEY_API_PRIVATE_KEY": "${TURNKEY_API_PRIVATE_KEY}",
"TURNKEY_ORGANIZATION_ID": "${TURNKEY_ORGANIZATION_ID}",
"SOLANA_RPC": "https://api.devnet.solana.com",
"MOLPHA_EVM_NETWORKS": "evm-sepolia",
"MOLPHA_STARKNET_NETWORKS": "starknet-sepolia",
"MOLPHA_DRY_RUN": "false",
"MOLPHA_MAX_EXECUTES_PER_DAY": "100",
"MOLPHA_X402_MAX_PRICE_USDC": "1",
"MOLPHA_X402_MAX_SPEND_PER_DAY_USDC": "10"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=molpha&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBtb2xwaGEvbWNwQDAuMS4yIl0sImVudiI6eyJTSUdORVJfQkFDS0VORCI6Im1lbW9yeSIsIlBSSVZZX0FQUF9JRCI6IiR7UFJJVllfQVBQX0lEfSIsIlBSSVZZX0FQUF9TRUNSRVQiOiIke1BSSVZZX0FQUF9TRUNSRVR9IiwiUFJJVllfV0FMTEVUX0lEIjoiJHtQUklWWV9XQUxMRVRfSUR9IiwiVFVSTktFWV9BUElfUFVCTElDX0tFWSI6IiR7VFVSTktFWV9BUElfUFVCTElDX0tFWX0iLCJUVVJOS0VZX0FQSV9QUklWQVRFX0tFWSI6IiR7VFVSTktFWV9BUElfUFJJVkFURV9LRVl9IiwiVFVSTktFWV9PUkdBTklaQVRJT05fSUQiOiIke1RVUk5LRVlfT1JHQU5JWkFUSU9OX0lEfSIsIlNPTEFOQV9SUEMiOiJodHRwczovL2FwaS5kZXZuZXQuc29sYW5hLmNvbSIsIk1PTFBIQV9FVk1fTkVUV09SS1MiOiJldm0tc2Vwb2xpYSIsIk1PTFBIQV9TVEFSS05FVF9ORVRXT1JLUyI6InN0YXJrbmV0LXNlcG9saWEiLCJNT0xQSEFfRFJZX1JVTiI6ImZhbHNlIiwiTU9MUEhBX01BWF9FWEVDVVRFU19QRVJfREFZIjoiMTAwIiwiTU9MUEhBX1g0MDJfTUFYX1BSSUNFX1VTREMiOiIxIiwiTU9MUEhBX1g0MDJfTUFYX1NQRU5EX1BFUl9EQVlfVVNEQyI6IjEwIn19"
}{
"servers": {
"molpha": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@molpha/[email protected]"
],
"env": {
"SIGNER_BACKEND": "memory",
"PRIVY_APP_ID": "${PRIVY_APP_ID}",
"PRIVY_APP_SECRET": "${PRIVY_APP_SECRET}",
"PRIVY_WALLET_ID": "${PRIVY_WALLET_ID}",
"TURNKEY_API_PUBLIC_KEY": "${TURNKEY_API_PUBLIC_KEY}",
"TURNKEY_API_PRIVATE_KEY": "${TURNKEY_API_PRIVATE_KEY}",
"TURNKEY_ORGANIZATION_ID": "${TURNKEY_ORGANIZATION_ID}",
"SOLANA_RPC": "https://api.devnet.solana.com",
"MOLPHA_EVM_NETWORKS": "evm-sepolia",
"MOLPHA_STARKNET_NETWORKS": "starknet-sepolia",
"MOLPHA_DRY_RUN": "false",
"MOLPHA_MAX_EXECUTES_PER_DAY": "100",
"MOLPHA_X402_MAX_PRICE_USDC": "1",
"MOLPHA_X402_MAX_SPEND_PER_DAY_USDC": "10"
}
}
}
}{
"mcpServers": {
"molpha": {
"command": "npx",
"args": [
"-y",
"@molpha/[email protected]"
],
"env": {
"SIGNER_BACKEND": "memory",
"PRIVY_APP_ID": "${PRIVY_APP_ID}",
"PRIVY_APP_SECRET": "${PRIVY_APP_SECRET}",
"PRIVY_WALLET_ID": "${PRIVY_WALLET_ID}",
"TURNKEY_API_PUBLIC_KEY": "${TURNKEY_API_PUBLIC_KEY}",
"TURNKEY_API_PRIVATE_KEY": "${TURNKEY_API_PRIVATE_KEY}",
"TURNKEY_ORGANIZATION_ID": "${TURNKEY_ORGANIZATION_ID}",
"SOLANA_RPC": "https://api.devnet.solana.com",
"MOLPHA_EVM_NETWORKS": "evm-sepolia",
"MOLPHA_STARKNET_NETWORKS": "starknet-sepolia",
"MOLPHA_DRY_RUN": "false",
"MOLPHA_MAX_EXECUTES_PER_DAY": "100",
"MOLPHA_X402_MAX_PRICE_USDC": "1",
"MOLPHA_X402_MAX_SPEND_PER_DAY_USDC": "10"
}
}
}
}extensions:
"molpha":
enabled: true
name: "molpha"
type: stdio
cmd: "npx"
args:
- "-y"
- "@molpha/[email protected]"
envs:
"SIGNER_BACKEND": "memory"
"PRIVY_APP_ID": "${PRIVY_APP_ID}"
"PRIVY_APP_SECRET": "${PRIVY_APP_SECRET}"
"PRIVY_WALLET_ID": "${PRIVY_WALLET_ID}"
"TURNKEY_API_PUBLIC_KEY": "${TURNKEY_API_PUBLIC_KEY}"
"TURNKEY_API_PRIVATE_KEY": "${TURNKEY_API_PRIVATE_KEY}"
"TURNKEY_ORGANIZATION_ID": "${TURNKEY_ORGANIZATION_ID}"
"SOLANA_RPC": "https://api.devnet.solana.com"
"MOLPHA_EVM_NETWORKS": "evm-sepolia"
"MOLPHA_STARKNET_NETWORKS": "starknet-sepolia"
"MOLPHA_DRY_RUN": "false"
"MOLPHA_MAX_EXECUTES_PER_DAY": "100"
"MOLPHA_X402_MAX_PRICE_USDC": "1"
"MOLPHA_X402_MAX_SPEND_PER_DAY_USDC": "10"
timeout: 300
Placeholders to fill from your own secret store: ${PRIVY_APP_ID}, ${PRIVY_APP_SECRET}, ${PRIVY_WALLET_ID}, ${TURNKEY_API_PUBLIC_KEY}, ${TURNKEY_API_PRIVATE_KEY}, ${TURNKEY_ORGANIZATION_ID}. The registry never accepts secret values.
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulns2 advisories to act on (malicious, or rated high or critical with a fix available): GHSA-82x6-q7mm-w9cf in [email protected] (indirect, fixed in 4.2.0), GHSA-v5mp-jgw5-2x6j in [email protected] (indirect, fixed in 4.1.2); 5 more of lower severity or without a fixdeps.mcp_sdk_version@modelcontextprotocol/sdk 1.30.1 has 1 known advisory (GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.31.0 or laterdeps.resolvable@molpha/[email protected] resolved: 510 packagesNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website ~liveness-unmeasured ~updated-90d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
@molpha/[email protected] npm509 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.30.1 · advisories checked 2026-10-19
| advisory | severity | package | fixed in |
|---|---|---|---|
| GHSA-6qxp-vccf-f47hMCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP server | high | @modelcontextprotocol/[email protected]MCP SDK, direct | fixed in 1.31.0 |
| GHSA-82x6-q7mm-w9cftoml-node: Uncontrolled Recursion | high | [email protected]indirect | fixed in 4.2.0 |
| GHSA-v5mp-jgw5-2x6jtoml-node: Prototype Pollution Leads to `Object.prototype` Corruption via `__proto__` Key-Path Desynchronization | high | [email protected]indirect | fixed in 4.1.2 |
| GHSA-3gc7-fjrx-p6mgbigint-buffer Vulnerable to Buffer Overflow via toBigIntLE() Function | high | [email protected]indirect | no fix yet |
| GHSA-528h-pc64-c93xstream-json: pick/ignore/filter/replace filters are O(depth²) on nested input — small crafted JSON blocks the event loop for seconds→minutes (DoS) | moderate | [email protected]indirect | fixed in 3.5.0 |
| GHSA-hqr4-qq8f-hg3xstream-json: JSONC parser and verifier re-scan the whole accumulated comment on every input chunk | moderate | [email protected]indirect | fixed in 3.6.0 |
| GHSA-mjw6-4jj6-33hcstream-json has a prototype pollution issue: Assembler writes this.current[this.key] on plain objects | moderate | [email protected]indirect | fixed in 3.6.0 |
| GHSA-w5hq-g745-h8pquuid: Missing buffer bounds check in v3/v5/v6 when buf is provided | moderate | [email protected]indirect | fixed in 11.1.1 |
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
@molpha/mcp | npm | 0.1.2 | – | PRIVY_APP_ID, PRIVY_APP_SECRET, PRIVY_WALLET_ID, TURNKEY_API_PUBLIC_KEY, TURNKEY_API_PRIVATE_KEY, TURNKEY_ORGANIZATION_ID |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
{
"name": "io.github.molpha/mcp",
"title": "Molpha MCP",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "0.1.2",
"packages": [
{
"version": "0.1.2",
"transport": {
"type": "stdio"
},
"identifier": "@molpha/mcp",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"environmentVariables": [
{
"name": "SIGNER_BACKEND",
"choices": [
"memory",
"keychain"
],
"default": "memory",
"isRequired": true,
"description": "Signing backend: memory (local keypair) or keychain (Privy / Turnkey)."
},
{
"name": "OWNER_KEYPAIR",
"format": "filepath",
"description": "Path to a Solana JSON keypair file. Required when SIGNER_BACKEND=memory."
},
{
"name": "KEYCHAIN_BACKEND",
"choices": [
"privy",
"turnkey"
],
"description": "Keychain provider: privy or turnkey. Required when SIGNER_BACKEND=keychain."
},
{
"name": "PRIVY_APP_ID",
"isSecret": true,
"description": "Privy app ID. Required for KEYCHAIN_BACKEND=privy."
},
{
"name": "PRIVY_APP_SECRET",
"isSecret": true,
"description": "Privy app secret. Required for KEYCHAIN_BACKEND=privy."
},
{
"name": "PRIVY_WALLET_ID",
"isSecret": true,
"description": "Privy wallet ID. Required for KEYCHAIN_BACKEND=privy."
},
{
"name": "PRIVY_WALLET_ADDRESS",
"description": "Solana address for the Privy wallet."
},
{
"name": "TURNKEY_API_PUBLIC_KEY",
"isSecret": true,
"description": "Turnkey API public key. Required for KEYCHAIN_BACKEND=turnkey."
},
{
"name": "TURNKEY_API_PRIVATE_KEY",
"isSecret": true,
"description": "Turnkey API private key. Required for KEYCHAIN_BACKEND=turnkey."
},
{
"name": "TURNKEY_ORGANIZATION_ID",
"isSecret": true,
"description": "Turnkey organization ID. Required for KEYCHAIN_BACKEND=turnkey."
},
{
"name": "TURNKEY_WALLET_ADDRESS",
"description": "Solana address for the Turnkey wallet."
},
{
"name": "SOLANA_RPC",
"default": "https://api.devnet.solana.com",
"description": "Solana RPC endpoint."
},
{
"name": "GATEWAY_ENDPOINTS",
"description": "Comma-separated Molpha gateway URLs. Leave empty to use the SDK default."
},
{
"name": "MOLPHA_EVM_NETWORKS",
"default": "evm-sepolia",
"description": "Comma-separated EVM verifier networks."
},
{
"name": "MOLPHA_STARKNET_NETWORKS",
"default": "starknet-sepolia",
"description": "Comma-separated Starknet verifier networks."
},
{
"name": "MOLPHA_DRY_RUN",
"format": "boolean",
"default": "false",
"description": "Preview all write and spend operations without submitting them."
},
{
"name": "MOLPHA_MAX_EXECUTES_PER_DAY",
"format": "number",
"default": "100",
"description": "Process-local daily Solana submit cap."
},
{
"name": "MOLPHA_X402_MAX_PRICE_USDC",
"default": "1",
"description": "Refuse to fund an x402 round priced above this amount (decimal USDC)."
},
{
"name": "MOLPHA_X402_MAX_SPEND_PER_DAY_USDC",
"default": "10",
"description": "Process-local daily x402 spend cap (decimal USDC)."
},
{
"name": "MOLPHA_X402_GATEWAY_PDA",
"description": "Optional settling gateway PDA (base58) to skip discovery when the escrow is already funded."
}
]
}
],
"repository": {
"url": "https://github.com/molpha/mcp",
"source": "github"
},
"websiteUrl": "https://docs.molpha.io/",
"description": "MCP server that lets AI agents create, fetch, verify, and publish Molpha oracle data."
}