MCP 服务器

Radix Wiki

wiki.radix/radix-wiki
加密货币与 Web3 知识与文档 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Searches, reads, and supports authenticated contributions to a community-maintained Radix DLT wiki.

create_page
Create a page
Create a new Radix Wiki page. Requires a ROLA bearer token — see https://radix.wiki/AGENTS.md for the challenge-sign-verify flow. Call get_categories first for a valid tagPath. Some paths are balance-gated (blog needs 50,000 $XRD). Earns contribution points.
输入模式
{'type': 'object', 'required': ['tagPath', 'title', 'content'], 'properties': {'slug': {'type': 'string', 'description': 'URL slug (derived from the title when omitted)'}, 'title': {'type': 'string', 'description': 'Page title'}, 'content': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Array of typed blocks. Each needs a unique `id` (UUID) and a `type`. A `content` block carries semantic HTML in `text`; an `infobox` block carries nested `blocks`. Start with an infobox, hyperlink every assertion to its source, no inline styles.'}, 'tagPath': {'type': 'string', 'description': 'Tag path the page lives under (e.g. "contents/tech/core-concepts")'}, 'metadata': {'type': 'object', 'description': 'Key-value metadata for the page, including `excerpt` (one sentence, ≤160 chars). Some tag paths require specific keys — the error names any that are missing.'}, 'bannerImage': {'type': 'string', 'description': 'Banner image URL'}}}
edit_page
Edit a page
Edit an existing Radix Wiki page. Requires a ROLA bearer token — see https://radix.wiki/AGENTS.md. Fetch the page with get_page first and send the full revised block array; the version bump, block-level diff, and revision entry are computed server-side. Locked and author-only pages are rejected. Earns contribution points.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['tagPath', 'slug'], 'properties': {'slug': {'type': 'string', 'description': 'Slug of the page to edit'}, 'title': {'type': 'string', 'description': 'New title'}, 'content': {'type': 'array', 'items': {'type': 'object'}, 'description': 'The full revised block array (not a patch). Omit to change only the title or metadata.'}, 'tagPath': {'type': 'string', 'description': 'Tag path of the page to edit'}, 'metadata': {'type': 'object', 'description': 'Replacement metadata object'}, 'revisionMessage': {'type': 'string', 'description': 'What changed and why — shown in the page history. Always send one.'}}}
get_categories
List categories
The wiki tag hierarchy as a tree, each node carrying its path, name, description and the page count of its whole branch. The cheapest way to orient before searching, and the only way to find a valid tagPath before create_page. Costs one call and a few kilobytes; prefer it to listing pages to find out what exists.
只读 幂等
输入模式
{'type': 'object', 'properties': {}}
get_challenge
Start a login
Step 1 of writing to the wiki: a single-use ROLA challenge (5-minute expiry). The response spells out the exact recipe for the message your Ed25519 key must sign. You always sign with your OWN key — nothing here custodies anything. Takes no parameters.
输入模式
{'type': 'object', 'properties': {}}
get_full_corpus
Whole corpus
Every article as one plain-text document, for bulk ingestion rather than reading. PREFLIGHT FIRST: call it with sizeOnly=true for the exact character count, a token estimate and the per-branch breakdown — the whole corpus is several times a context window. Then pull it with `maxChars` (default 200000, max 1000000), or narrow it with `tagPath` to take one branch at a time. Truncation is page-aligned and honest: `truncated`, `omittedPages` and `nextSkip` say exactly where to resume (pass skip=nextSkip). Search or list first if you have a question; the same corpus is also served, cacheably and with an ETag, at /llms-full.txt.
只读 幂等
输入模式
{'type': 'object', 'properties': {'skip': {'type': 'number', 'description': 'Resume from this page index — pass the `nextSkip` from the previous truncated call (default 0)'}, 'tagPath': {'type': 'string', 'description': 'Restrict to one branch and its descendants, e.g. "contents/tech". Omit for everything.'}, 'maxChars': {'type': 'number', 'description': 'Character budget for `document` (default 200000, max 1000000)'}, 'sizeOnly': {'type': 'boolean', 'description': 'Return sizes and breakdowns only, no document. Do this before the first real pull.'}}}
get_ideas_board
Ideas pipeline
Get the RADIX Wiki Ideas Pipeline kanban — community proposals and Radix DAO tasks grouped into status columns (Discussion → Proposed → Approved → In Progress → Testing → Done), each card carrying its working group, category, priority, and assignee. Use this to follow DAO / project progress.
只读 幂等
输入模式
{'type': 'object', 'properties': {'category': {'type': 'string', 'description': 'Filter to one category: Governance, Protocol, Tooling, Ecosystem, or Community'}, 'workingGroup': {'type': 'string', 'description': 'Filter by working group name substring, e.g. "Treasury", "Legal", "NetOps"'}}}
get_page
Read a page
Read one page in full: its extracted text, current version number, update date and declared metadata. Takes either the whole path as one string (the `url` a listing returns works as-is) or the tagPath/slug pair it splits into — not a title. A wrong pair is answered with the tools that find a right one rather than an empty result. For the whole article set at once use get_full_corpus, and for a page as markdown fetch its URL with `.md` appended.
只读 幂等
输入模式
{'type': 'object', 'properties': {'path': {'type': 'string', 'description': 'The whole path in one string, e.g. "contents/tech/core-concepts/utxo-model" — the form every listing returns as `url`. Use this or the tagPath/slug pair.'}, 'slug': {'type': 'string', 'description': 'Page slug (e.g. "utxo-model"). Ignored when `path` is set.'}, 'tagPath': {'type': 'string', 'description': 'Tag path (e.g. "contents/tech/core-concepts"). Ignored when `path` is set.'}}, 'requireOneOf': ['path', 'slug']}
get_recent_changes
Recent changes
Pages edited within the last N days, newest first — what to poll when you are watching the wiki rather than reading it. Same row shape as list_pages. Look back at most 30 days and take at most 50 rows; for anything older, list_pages sorted by updatedAt.
只读 幂等
输入模式
{'type': 'object', 'properties': {'days': {'type': 'number', 'description': 'Look back N days (default 7, max 30)'}, 'limit': {'type': 'number', 'description': 'Max results (default 20, max 50)'}}}
list_pages
List pages
Browse the wiki by tag path rather than by keyword — every page under a branch, newest first by default. Returns the same rows as search_wiki (title, URL, tagPath, slug, snippet, updatedAt) plus a pagination envelope carrying totalPages, hasMore and nextPage. Omit tagPath to walk the whole wiki; pass one from get_categories to stay inside a branch. Sort by title for an A-Z pass.
只读 幂等
输入模式
{'type': 'object', 'properties': {'page': {'type': 'number', 'description': 'Page number (default 1)'}, 'sort': {'enum': ['title', 'updatedAt'], 'type': 'string', 'description': 'Sort order (default "updatedAt")'}, 'tagPath': {'type': 'string', 'description': 'Filter by tag path prefix (e.g. "developers")'}, 'pageSize': {'type': 'number', 'description': 'Results per page (default 20, max 100)'}}}
login
Exchange a signed proof for a token
Step 2: exchange the signed ROLA proof for a 7-day Bearer token — the same verification the human wallet flow runs. Send the returned token as an HTTP `Authorization: Bearer <token>` header on every later create_page / edit_page call; tool arguments never carry it.
可访问外部资源
输入模式
{'type': 'object', 'required': ['challenge', 'address', 'publicKey', 'signature', 'curve'], 'properties': {'curve': {'enum': ['curve25519', 'secp256k1'], 'type': 'string', 'description': 'Signing curve (Ed25519 = "curve25519")'}, 'address': {'type': 'string', 'description': 'Your account address (virtual account of the signing key; its public key must be an on-ledger owner_keys entry)'}, 'challenge': {'type': 'string', 'description': 'The challenge from get_challenge'}, 'publicKey': {'type': 'string', 'description': 'Ed25519 public key, hex'}, 'signature': {'type': 'string', 'description': 'Signature over the ROLA message, hex'}}}
search_wiki
Search the wiki
Keyword search across Radix Wiki titles and page text — the first call when you know what you are looking for. Returns a page of results, each with its title, URL, tagPath, slug, a matched snippet and the date it was last updated. The tagPath and slug identify the page every read tool accepts. Narrow with tagPath when a term is common; page through with page/pageSize. When you do not yet know what exists, call get_categories first.
只读 幂等
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'page': {'type': 'number', 'description': 'Page number (default 1)'}, 'query': {'type': 'string', 'description': 'Search term (matched against page titles and body text)'}, 'tagPath': {'type': 'string', 'description': 'Limit results to a tag path (e.g. "contents/tech/core-concepts")'}, 'pageSize': {'type': 'number', 'description': 'Results per page (default 20, max 50)'}}}
已更改
get_categories
2026年9月21日 02:58
已更改
get_page
2026年9月21日 02:58
已添加
edit_page
2026年9月17日 12:55
已添加
create_page
2026年9月17日 12:55
已添加
login
2026年9月17日 12:55
已添加
get_challenge
2026年9月17日 12:55
已添加
get_ideas_board
2026年9月17日 12:55
已添加
get_full_corpus
2026年9月17日 12:55
已添加
get_recent_changes
2026年9月17日 12:55
已添加
get_categories
2026年9月17日 12:55
已添加
list_pages
2026年9月17日 12:55
已添加
get_page
2026年9月17日 12:55
已添加
search_wiki
2026年9月17日 12:55