Frankencoin MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Frankencoin MCP ServerWhat's the current state of the Frankencoin protocol?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Frankencoin MCP Server
Real-time Frankencoin (ZCHF) protocol data for AI agents and developers. One read-only server, several ways to reach it — supply, prices, peg health, savings, minting positions, liquidation challenges, governance, insurance products, and historical analytics across every supported chain.
Public endpoint: https://mcp.frankencoin.com
Interface | Endpoint | Best for |
MCP (Streamable HTTP) |
| Claude Desktop, Cursor, any MCP client / AI agent |
REST |
| Scripts, curl, agents — one request, no handshake |
CLI |
| Humans at the terminal |
llms.txt |
| A compact, self-describing guide for LLMs/agents |
Legacy SSE |
| Older MCP clients |
No authentication. No API key required. Read-only.
Quick start
MCP (Claude Desktop / Cursor)
{
"mcpServers": {
"frankencoin": {
"url": "https://mcp.frankencoin.com/mcp"
}
}
}Then ask your assistant things like "What's the current state of the Frankencoin protocol?" or "How healthy is the ZCHF peg versus other CHF stablecoins?".
REST (curl / scripts)
# Full protocol snapshot — the best starting point
curl https://mcp.frankencoin.com/api/get_protocol_snapshot
# Market data + peg health
curl https://mcp.frankencoin.com/api/get_market_data
# Governance: pending minter applications
curl "https://mcp.frankencoin.com/api/get_governance?type=minters&status=pending"
# Positions with full on-chain detail
curl "https://mcp.frankencoin.com/api/get_positions?detail=true&limit=10"
# 30 days of protocol analytics
curl "https://mcp.frankencoin.com/api/get_analytics?type=time_series&days=30"
# Raw read-only GraphQL against the on-chain indexer
curl -X POST https://mcp.frankencoin.com/api/query_ponder \
-H 'Content-Type: application/json' \
-d '{"query":"{ analyticDailyLogs(limit:3){ items { date totalSupply } } }"}'Every REST response is a JSON envelope: { "ok": true, "tool": "<name>", "result": { … } }.
CLI
npx frankencoin-mcp snapshot
npx frankencoin-mcp market
npx frankencoin-mcp positions --detail --limit 10
npx frankencoin-mcp analytics --type trades --limit 5
npx frankencoin-mcp knowledge --topic governance
npx frankencoin-mcp ponder '{ equityTrades(limit:3){ items { kind trader shares } } }'Discover everything
GET /health and GET /api are self-describing manifests, and GET /llms.txt is a compact, always-current guide generated from the live tool registry.
Related MCP server: Ironflow MCP
Tools
Organised by what the agent needs, not where the data comes from — one tool per responsibility, each aggregating from multiple sources internally.
Tool | Description |
| Full live state — supply (per chain), TVL, FPS price/reserve/earnings, savings rate, active challenges |
| Prices, peg health, CHF-stablecoin comparison (ZCHF/VCHF/CHFAU), macro (BTC/ETH), collateral prices |
| Approved + pending rates, plus per-module stats (TVL, interest paid, deposits, withdrawals) |
| Rate proposals, minter applications, FPS equity trades, holder stats ( |
| Minting positions; |
| Liquidation challenges with collateral details, pricing, and position context |
| Accepted collateral types across all chains |
| Historical time-series, FPS trades, minter history, rate-change timeline ( |
| Docs & reference: FAQ, guides, token addresses, links ( |
| Legal & regulatory posture — Swiss FINMA + EU MiCA classifications, legal opinions, MiCA white paper, ESMA register, security audits, bug bounty |
| Press articles, videos, use cases, ecosystem partners |
| ZCHF-related third-party insurance products such as OpenCover ZCHF depeg cover |
| Merch store products, prices, availability |
| Independent third-party risk ratings — Pharos stablecoin-safety report card + Xerberus composite scores ( |
| Dune Analytics — holder counts, minting volume, savings TVL over time |
| Raw read-only GraphQL escape hatch against |
Parameter details live in each tool's MCP inputSchema (via tools/list) and in GET /api.
Data sources
All aggregated server-side — callers never talk to these directly:
Source | Provides | Key |
Supply, TVL, FPS, savings rates, collaterals, challenges, prices | — | |
On-chain indexed data — positions, trades, minters, analytics | — | |
Market prices, 24h changes, CHF-stablecoin comparison | optional | |
Holder counts, minting volume, savings TVL history | optional | |
Stablecoin-safety report card for ZCHF ( | optional | |
Composite on-chain risk scores ( | optional | |
Documentation and website content (links, media, token addresses) | — | |
Merch products (Shopify) | — | |
Ethereum RPC | CHFAU on-chain supply | — |
When an optional key is absent, the affected tool (get_market_data, get_dune_stats, get_risk) returns partial data plus a note rather than failing.
Self-hosting
No build step. Node ≥ 20, that's it.
git clone https://github.com/Frankencoin-ZCHF/frankencoin-mcp.git
cd frankencoin-mcp
npm install
node src/index.js --http # HTTP mode (default port 3000)
node src/index.js # stdio mode (for local MCP clients)
npm test # run the test suiteHealth check: curl http://localhost:3000/health
Environment variables
Nothing is required to boot. Every variable is optional; missing secrets only degrade the tools that depend on them.
Variable | Default | Effect |
|
| HTTP port |
| — | Enables full market/macro data (else those fields degrade) |
| — | Enables |
| — | Enables the Pharos section of |
| — | Enables the Xerberus section of |
| — | Sent with |
|
| Canonical origin used in |
|
| Requests per IP per minute |
|
| Trusted proxy hops for client-IP derivation |
See src/config.js for the full list (cache, timeouts, session and query_ponder limits).
Architecture
Node.js ESM, no build step, no database — stateless between restarts and safe to restart anytime. Strictly layered, with one place that performs network I/O:
src/
index.js entrypoint — stdio vs --http, signals
config.js env read once, frozen; nothing required to boot
cli.js terminal client
cache.js in-memory TTL cache: single-flight + LRU bound
lib/ pure utilities (number encoding, envelopes, errors, concurrency)
upstream/ the ONLY layer that calls fetch() — one client per source
services/ per-domain logic: compose upstreams, transform, shape output
tools/ registry (zod-validated tool defs) + one dispatch path
server/ http router, MCP registration, sessions, rate limiting, llms.txt
test/ node:test suites (offline / hermetic)Why it's fast: caching sits at the upstream boundary, so a single /prices/list fetch is shared across every tool that needs it, and concurrent identical fetches are coalesced (single-flight). Warm responses are ~1–2 ms.
Adding a tool
Add the definition (name, description, zod
input,params,handler) tosrc/tools/registry.js.Implement its logic in the relevant
src/services/*.js, using ansrc/upstream/*.jsclient for any network call.
That's it — MCP, REST, /health, /api, and /llms.txt all pick it up automatically from the registry.
Security
Public, unauthenticated, read-only — hardened accordingly:
query_ponderis AST-validated: read-only only (no mutations/subscriptions), no introspection or batched queries, with depth/field/alias/length andlimitcaps and a result-size cap.Rate limiting derives the client IP from the trusted proxy hop (never the attacker-controllable left-most
X-Forwarded-For).Request-body caps (413), slowloris timeouts, session caps with idle/absolute expiry, prototype-pollution rejection, and a single error mapper that never leaks stack traces, upstream URLs, secrets, or file paths.
Security headers and a strict CORS policy on every response.
Threat model and controls: docs/rebuild/SECURITY.md.
Deployment
Runs on Railway and auto-deploys from main via nixpacks — no build phase, no dashboard configuration, no required env vars. railway.toml sets startCommand = node src/index.js --http and health-checks /health.
License
MIT — Frankencoin Association
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers

Ironflow MCPofficial
AlicenseAqualityCmaintenanceEnables AI agents to access real-time and historical market data for on-chain derivatives, including prices, orderbooks, trades, and analytics. Supports triggers, cohorts, and bulk export for advanced use cases.3271MIT- FlicenseAqualityBmaintenanceComplete DeFi intelligence — Yield, Staking, Restaking, RWA, Perps, Gas Optimization & Contract Security. One answer, not raw data.17
- Flicense-qualityDmaintenanceEnables AI agents to access real-time financial data including crypto, equities, on-chain, prediction markets, and macro via a single API key.
Related MCP Connectors
Cross-network DeFi API data, AMM analytics, and SDK docs for 17+ networks.
Search 700+ DeFi vaults, compare risk scores, analyze protocols. No API key needed.
DefiLlama MCP — DeFi analytics from DefiLlama (free, no auth)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Frankencoin-ZCHF/frankencoin-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server