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 Developer Tools -> API Keys
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.
There is one public API,
https://api.rootkey.ai/api-v1/, and no separate development environment. To try things out, use a test API key: it works on your organization’s test data, kept separate from your live data. See Test and Live Data. A ROOTKEY_ENV=development left over from an earlier version of the server is rejected with a configuration error; remove the variable.
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 API does not accept the key: it is not valid, or it has been deactivated. Check that
ROOTKEY_API_KEY holds the complete key and that the key is active in Developer Tools. Ask Claude to run rootkey_get_environment_info to see the API base URL the server is using.The server exits with a message about ROOTKEY_ENV
The server exits with a message about ROOTKEY_ENV
ROOTKey has one public API, so
ROOTKEY_ENV accepts only production and is best left unset. A leftover ROOTKEY_ENV=development is refused at startup. Remove it and use a test API key to try things out. For a self-hosted or on-premise deployment, set ROOTKEY_API_URL instead.Requests fail with 429 Too Many Requests
Requests fail with 429 Too Many Requests
A request went over a rate limit: your plan’s API rate limit, or the limit of an operation that has its own - Rate Limits says which apply. The server automatically retries once the period indicated by the
Retry-After header has passed, provided the wait is short. If 429s keep coming, spread those calls out over time, or move to a plan with a higher rate limit.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 or organisation members, 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.

