The server runs locally on your machine and talks directly to
api.rootkey.ai. Your API key stays in your own environment - it is never sent to Anthropic or to ROOTKey by any route other than the normal API call.Requirements
- Node.js 20 or newer on the machine running Claude
- A ROOTKey API key, created in the platform under Platform -> Developer Tools -> API Keys
rk_test_) while you try things out: the development environment costs nothing and anchors nothing to Polygon Mainnet.
Let your agent set it up
If you already have a coding agent open, hand it this URL and it will install and configure the server itself, in whichever client you use:Install
- Claude Code
- Claude Desktop
Run this once, from anywhere:Start a new session and ask Claude what ROOTKey tools it has.
Configuration
Every setting is an environment variable on the server process.
To work against the development environment, set
ROOTKEY_ENV=development and use an rk_test_ key. See Environments for the difference between the two.
Available tools
27 tools: every operation in the API Reference, plus a wait helper and one local diagnostic. Every tool name is prefixedrootkey_, so it cannot be confused with a same-named tool from another MCP server in the same session.
Vaults
Files
Records
Data recovery
Diagnostics
Prompts
Besides the tools, the server offers four prompts: whole workflows your client can list, so you do not have to remember the sequence.
In read-only mode only
compliance_evidence_pack is offered, since the other three write.
What to expect when using it
A few behaviours are worth knowing before your first session, because they follow from how the ROOTKey API works. Vault addresses come from the dashboard. The API has no endpoint that lists vaults, so the server cannot offer that tool. Claude will ask you for the address of the vault you mean. Whenrootkey_create_vault makes a new one, keep the address it returns.
Files move through your own machine. Uploads read from the local disk of the computer running the server, and downloads are written there and reported back as a file path. File contents are never pasted into the conversation, so a large PDF costs you nothing in context.
File anchoring is asynchronous. A newly uploaded file starts as PENDING and becomes REGISTERED once the anchor is confirmed, or FAILED if something went wrong. The create call returns before that happens.
Only files are anchored on chain. Records are stored, hashed and audited, and come back REGISTERED immediately: there is no pending phase and no transaction hash for a record.
Uploads can only read from a few directories. A file to be uploaded must sit in your home directory, the temp directory or wherever the server was started, and hidden directories inside those are refused. This matters because the path can be chosen by the model, and the model reads documents other people wrote. Widen it with ROOTKEY_ALLOWED_DIRS.
Records are versioned by primary key. Creating a record whose key column matches an existing record adds a version to it rather than creating a duplicate. Asking Claude to “try that again” after a create will produce a second version, which is usually not what you want.
Compliance reports arrive in the dashboard. rootkey_generate_file_audit_report queues the job and returns a report id. There is no API endpoint that returns the finished report, so collect it from the platform.
Safety
Read-only mode
SettingROOTKEY_READ_ONLY=true registers only the tools that read data. The write tools are not advertised at all, so Claude cannot call them, and the two download tools may only write inside the configured download directory.
Troubleshooting
Claude does not show any ROOTKey tools
Claude does not show any ROOTKey tools
Confirm Node.js 20 or newer is installed and on the PATH (
node --version), then restart the Claude client completely - configuration is read at startup. In Claude Desktop, check the MCP server logs under Settings -> Developer; the server writes its startup line and any failure to stderr, which is what those logs show.The server exits immediately
The server exits immediately
The most common cause is a missing key. The server refuses to start without
ROOTKEY_API_KEY and says so on stderr, rather than failing later on the first tool call. Check that the variable is set inside the env block of the configuration, not only in your shell: Claude Desktop does not pass your shell environment to the server.Every call returns 401 Unauthenticated
Every call returns 401 Unauthenticated
The key and the environment do not match.
rk_test_ keys work only against the development API and rk_live_ keys only against production. Ask Claude to run rootkey_get_environment_info to see which environment the server is configured for, then align the key or set ROOTKEY_ENV accordingly.Requests fail with 429 Too Many Requests
Requests fail with 429 Too Many Requests
You have exceeded the rate limit for that API key. The server automatically retries once the period indicated by the
Retry-After header has passed, provided the wait is short. Repeated 429s mean the workload needs a higher plan limit - see Rate Limits.A tool reports the created file or record as null
A tool reports the created file or record as null
The write succeeded. Several ROOTKey create endpoints do not return the id of what they created, so the server looks it up immediately afterwards; when anchoring has not yet surfaced the item, that lookup comes back empty. Ask Claude to list the vault or table again in a moment and the item will be there.
Windows: npx is not recognised
Windows: npx is not recognised
Use the
cmd /c form of the Claude Desktop configuration shown in the Install section above. Windows needs the command routed through the shell for npx to resolve.Current limits
The connector runs locally, which is what makes API key authentication safe: the key never leaves your machine. That has two consequences worth stating plainly.- It works in Claude Code and Claude Desktop, not in the claude.ai web app. Web connectors require a hosted server with OAuth, which is on the roadmap.
- It covers the public API and nothing beyond it. There are no tools for managing API keys, organisation members or webhooks, because the public API has no endpoints for them. Those arrive if and when the API does.
Source and support
The server is open source at github.com/ROOT-Key/rootkey-mcp and published on npm as@rootkey/mcp. Bug reports and feature requests are welcome on the issue tracker.
API Reference
Every endpoint the connector wraps, with interactive examples.
API Keys
Create, rotate and revoke the key the connector uses.

