Read-only MCP server for the Symbol blockchain (XYM): node health, harvesting, voting keys.
MCPpedia last refreshed this data
io.github.inotakeh/symbol is an MCP server that read-only MCP server for the Symbol blockchain (XYM): node health, harvesting, voting keys. Its tool list has not been published yet over stdio and sse, requires no API key, and scores 89/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"symbol": {
"env": {
"SYMBOL_NODE_URL": "https://<node-host>:3001",
"SYMBOL_TIMEZONE": "Asia/Tokyo"
},
"args": [
"-y",
"symbol-mcp-server"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Read-only MCP server for the Symbol blockchain (XYM): node health, harvesting, voting keys.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked symbol-mcp-server against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in finance
OKX trading MCP server — connect AI agents to spot, swap, futures, options & grid bots via the Model Context Protocol.
Open-source AI Security Operations Center: alert fusion, LLM-agent triage, MITRE ATT&CK investigation, and a replayable decision ledger for every agent step. Self-hostable, runs with no API keys, MIT licensed. Ships an MCP server for Claude, Cursor and Continue.
Crypto briefs and data, Solana pre-trade checks, sanctions, papers, NLP. 102 tools, USDC, 20 chains.
LuxAlgo for AI agents: the Library, prop firms, Market Trackers, Edge Stats, and your Trade Journal
MCP Security Weekly
Get CVE alerts and security updates for io.github.inotakeh/symbol and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Symbol only. This server talks to Symbol (catapult) nodes. It does not support NEM NIS1 (XEM), which is a separate chain with a different API. Unofficial. This is an independent project with no affiliation to the NEM or Symbol core teams.
Read-only MCP server that turns the Symbol REST API into 20 task-level tools. Instead of mirroring REST endpoints one-to-one, each tool answers a question a person actually asks:
Every tool returns structuredContent (validated against a published outputSchema) plus the same
JSON as text (only symbol_harvesting_income with output: "csv" puts CSV in the text instead),
with a short summary first: its first line answers the question, and further lines add details
such as each month or each check that is not ok. Amounts are returned both with divisibility
applied and as the raw integer; timestamps are ISO 8601 UTC, with a local time added when
SYMBOL_TIMEZONE is set.
Two calls and excerpts of what they return. The values come from the test fixtures (a synthetic node host and account), not from a live node.
"Is my node healthy, and is it in sync?" → symbol_node_status {}
{
"summary": "node.test:3001 (friendlyName \"fixture-node\", host \"mainnet-node.example\") on mainnet is healthy and synced.\nSymbol 1.0.3.9, roles Peer/API/Voting; height 5,763,675, finalized 5,763,656 (epoch 4004); 6 peers; latest block 201 s old (not synced above 300 s).",
"verdict": "healthy",
"sync": {
"synced": true,
"latestBlockTime": { "utc": "2026-09-10T03:01:38.808Z" },
"ageSeconds": 201,
"thresholdSeconds": 300,
"checkedAt": { "utc": "2026-09-10T03:05:00.000Z" }
},
"checks": [
{ "id": "api_node", "status": "ok", "detail": "API node service is up.", "hint": null },
{ "id": "db", "status": "ok", "detail": "Database service is up.", "hint": null },
{
"id": "clock_skew",
"status": "ok",
"detail": "Node clock is 1,000 ms behind this machine's clock (warn at 15,000 ms, fail at 30,000 ms).",
"hint": null
},
{
"id": "chain_tip_age",
"status": "ok",
"detail": "Latest block (height 5,763,675) is 201 s old (about 3.4 min; warn above 300 s, fail above 900 s).",
"hint": null
}
// … and storage_consistent, finalization_lag and roles
]
// … then node, network, chain, storage, peers, time and notes
}
verdict folds the seven checks into one word, and sync.synced says whether the node follows the
chain (null when that could not be judged). A check that is not ok carries a hint with the
next step, and the summary lists it on its own line. A request that fails makes its check unknown
and its fields null; the call still answers.
"How much did I earn from harvesting, month by month?"
→ symbol_harvesting_income { "account": "NCV5HR…", "fromDate": "2026-09-01", "toDate": "2026-09-11", "granularity": "monthly" }
NCV5HRBSFEGTPNBIUPBVAGWXWXZ43C4TNOQUYU
... [View full README on GitHub](https://github.com/inotakeh/symbol-mcp-server#readme)