MCP server that lets AI agents create, fetch, verify, and publish Molpha oracle data.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add molpha --env SIGNER_BACKEND='<SIGNER_BACKEND>' --env PRIVY_APP_ID='<PRIVY_APP_ID>' --env PRIVY_APP_SECRET='<PRIVY_APP_SECRET>' --env PRIVY_WALLET_ID='<PRIVY_WALLET_ID>' --env TURNKEY_API_PUBLIC_KEY='<TURNKEY_API_PUBLIC_KEY>' --env TURNKEY_API_PRIVATE_KEY='<TURNKEY_API_PRIVATE_KEY>' --env TURNKEY_ORGANIZATION_ID='<TURNKEY_ORGANIZATION_ID>' -- npx -y @molpha/mcp~/.codex/config.toml
[mcp_servers.molpha]
command = "npx"
args = ["-y", "@molpha/mcp"]
env = { SIGNER_BACKEND = "<SIGNER_BACKEND>", 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>" }
# codex mcp add molpha --env SIGNER_BACKEND='<SIGNER_BACKEND>' --env PRIVY_APP_ID='<PRIVY_APP_ID>' --env PRIVY_APP_SECRET='<PRIVY_APP_SECRET>' --env PRIVY_WALLET_ID='<PRIVY_WALLET_ID>' --env TURNKEY_API_PUBLIC_KEY='<TURNKEY_API_PUBLIC_KEY>' --env TURNKEY_API_PRIVATE_KEY='<TURNKEY_API_PRIVATE_KEY>' --env TURNKEY_ORGANIZATION_ID='<TURNKEY_ORGANIZATION_ID>' -- npx -y @molpha/mcp~/.cursor/mcp.json
{
"mcpServers": {
"molpha": {
"command": "npx",
"args": [
"-y",
"@molpha/mcp"
],
"env": {
"SIGNER_BACKEND": "<SIGNER_BACKEND>",
"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>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"molpha": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@molpha/mcp"
],
"env": {
"SIGNER_BACKEND": "<SIGNER_BACKEND>",
"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>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"molpha": {
"command": "npx",
"args": [
"-y",
"@molpha/mcp"
],
"env": {
"SIGNER_BACKEND": "<SIGNER_BACKEND>",
"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>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"molpha": {
"command": "npx",
"args": [
"-y",
"@molpha/mcp"
],
"env": {
"SIGNER_BACKEND": "<SIGNER_BACKEND>",
"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>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"molpha": {
"command": "npx",
"args": [
"-y",
"@molpha/mcp"
],
"env": {
"SIGNER_BACKEND": "<SIGNER_BACKEND>",
"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>"
}
}
}
}Environment variables
SIGNER_BACKENDPRIVY_APP_IDPRIVY_APP_SECRETPRIVY_WALLET_IDTURNKEY_API_PUBLIC_KEYTURNKEY_API_PRIVATE_KEYTURNKEY_ORGANIZATION_ID
Replace the placeholders with your own credentials and keep them out of version control.