Developer tools
Remote MCP server
Connect coding agents to Nace's hosted endpoint for Drex decisions. No installation required; try decide and list_models without an API key within the free limits.
The remote MCP server is hosted by Nace at https://console.nace.ai/mcp. It gives a coding agent, such as Claude Code, Codex or Cursor, Drex's decide and list_models tools from one URL, over Streamable HTTP. Nothing installs on your machine.
An agent can use it before you have an API key. Add the URL, and the agent can call decide within the free limits below. When it reaches them, the tool tells the agent to ask you for a key and says how to add it. With a key, calls run on your account at your own limits and billing.
Remote or local
| Server | Tools | Setup |
|---|---|---|
| Remote MCP server (this page) | decide for text or JSON state, and list_models. | Connect to Nace's hosted URL. No installation; an API key is optional within the free limits. |
| Local MCP server | Decisions with text or images, document processing, uploads and jobs, saved schemas, cloud browser automation, workspaces, domains, storage connections and search. | Run nace-mcp on your machine and add a Nace API key. Only the offline get_documentation tool works without a key. |
The remote server currently exposes only the two decision tools. Use the local server for the broader tool set or local file access.
Connect your agent
Each agent below starts with the URL alone, which uses the free limits. The key lines are for when you have an API key: replace nace_sk_... with yours, or name an environment variable where the agent supports it. Don't write a key into a project config you commit, such as .cursor/mcp.json or opencode.json: use the user-level file or a variable reference.
Claude Code and Claude Desktop
claude mcp add --transport http drex https://console.nace.ai/mcpWith a key, pass it as a header:
claude mcp add --transport http drex https://console.nace.ai/mcp \
--header "Authorization: Bearer nace_sk_..."claude mcp add --scope user ... adds it to every project, and the default adds it to the current one. Run /mcp in Claude Code to see whether it connected.
Claude Desktop connects to a remote server as a custom connector: open Settings, then Connectors, add a custom connector, and paste the URL. A connector can't set headers, so with a key use the URL form from Add your API key:
https://console.nace.ai/mcp?api_key=nace_sk_...Codex
codex mcp add drex --url https://console.nace.ai/mcpWith a key, name the variable Codex reads it from:
codex mcp add drex --url https://console.nace.ai/mcp --bearer-token-env-var NACE_API_KEYThe command writes the server to ~/.codex/config.toml, which the Codex CLI, IDE extension and desktop app share. To edit the file yourself:
[mcp_servers.drex]
url = "https://console.nace.ai/mcp"
bearer_token_env_var = "NACE_API_KEY"Leave out bearer_token_env_var to use the free limits. Codex reads the key from NACE_API_KEY in the environment it runs in.
OpenCode
OpenCode reads servers from the mcp key of opencode.json, in the project root or at ~/.config/opencode/opencode.json for every project:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"drex": {
"type": "remote",
"url": "https://console.nace.ai/mcp",
"headers": { "Authorization": "Bearer {env:NACE_API_KEY}" },
"enabled": true
}
}
}type is "remote" for a server at a URL. {env:NACE_API_KEY} reads the key from the environment OpenCode runs in; leave out headers to use the free limits. opencode mcp list shows whether the server connected.
Cursor
Cursor reads servers from .cursor/mcp.json in a project, or ~/.cursor/mcp.json for every project:
{
"mcpServers": {
"drex": {
"url": "https://console.nace.ai/mcp",
"headers": { "Authorization": "Bearer ${env:NACE_API_KEY}" }
}
}
}${env:NACE_API_KEY} reads the key from your environment; leave out headers to use the free limits. The server appears in Cursor's MCP settings, where a toggle turns it off without removing it.
Pi
Pi connects to a remote server that has a url:
pi mcp add drex --url https://console.nace.ai/mcp
pi mcp listWith a key, add --bearer-token-env-var NACE_API_KEY. pi mcp add writes the server to ~/.pi/agent/mcp.json, for every project; add -l to write the project's .pi/mcp.json instead, which Pi reads only once you trust the project. To edit the file yourself:
{
"mcpServers": {
"drex": {
"url": "https://console.nace.ai/mcp",
"headers": { "Authorization": "Bearer ${NACE_API_KEY}" },
"exposure": "direct"
}
}
}${NACE_API_KEY} reads the key from the environment Pi runs in; leave out headers to use the free limits. Pi names the tools mcp__drex__decide and mcp__drex__list_models. By default it reaches MCP tools from its codemode scripts without showing them to the model; "exposure": "direct" declares them to the model like built-in tools. In a running session, /reload picks up the change and /mcp shows whether the server connected.
Hermes Agent
Hermes Agent reads servers from the mcp_servers key of ~/.hermes/config.yaml. A server with a url is a remote one:
mcp_servers:
drex:
url: "https://console.nace.ai/mcp"
headers:
Authorization: "Bearer nace_sk_..."Leave out headers to use the free limits. Run hermes mcp test drex to check the connection, and /reload-mcp in a running session to pick up a change. Hermes names the tools mcp__drex__decide and mcp__drex__list_models.
Free limits
Calls without a key run on a Nace account that pays for them. Each network gets its own budget: an IPv4 address, or for IPv6 the /64 the address belongs to, so rotating IPv6 privacy addresses share one budget. An IPv4 address written in IPv6 form counts as that IPv4 address.
| Limit | Value |
|---|---|
| Calls a minute | 10 |
| Calls a day | 100 |
| Input per call | 32 KB |
A call over a limit is refused before it reaches the model. A refused call does not count against the day's budget when it was refused for speed. The server may also refuse free calls when many people are using them at once, or when the free tier is switched off. A key avoids all of these.
The free tier covers decide. list_models is free with or without a key.
When the limit is reached
decide returns an error result, not a protocol error, so the agent reads it and acts on it. The text names the limit, says when it resets, and tells the agent to ask you to:
- Create a free API key under API Keys in the dashboard. New accounts get $5.00 of signup balance, as the Quickstart explains.
- Add the key to this server's config, as one of the ways below.
- Ask again.
A successful free call carries a free_tier object with calls_left_today and a link to the API Keys page.
Add your API key
A key starts with nace_sk_. Send it as Authorization: Bearer nace_sk_... on every request. Calls then run on your account, with no free limits and no 32 KB cap (the API's own limits apply), and spend your balance at the normal per-token price. See Authentication for creating and rotating keys.
Each agent above shows where its key goes: a header on the server, or a variable it reads. Any other client that can set a header on a remote MCP server takes the same one.
For a client that cannot set headers, such as a custom connector in Claude Desktop, use the URL form:
https://console.nace.ai/mcp?api_key=nace_sk_...A key in a URL can end up in the client's logs, in browser history and in screenshots. Use a header when the client allows one, and keep a URL key out of files you commit. If a key leaks, revoke it under API Keys and create another. A header wins over ?api_key= when both are present.
If the server refuses the key, decide says so and tells the agent to ask you for a new one. A key whose account has no available funds gets a link to the Billing page.
Tools
| Tool | What it does | Billing |
|---|---|---|
decide | Ask typed questions about a state and get calibrated probabilities. | Per input token, or free within the limits above |
list_models | List the models decide can use. | Free |
decide takes the same arguments as the decide tool of nace-mcp, state, questions and an optional model, except images: the remote server does not accept image inputs, so Drex Max images go through the local MCP server, the API or an SDK. Ask questions describes the question types and the answers. The server forwards the call to POST /v1/systemone, so the errors of the API apply to a call with a key.
Calls made through this server show drex-mcp in the user agent of the request log.
Navigate tools
Give your own code agent the tools the search agent works with - locate, read-file and run-sql, plus folder-metadata and catalog for questions about the whole workspace - over a workspace's ingested files.
Local MCP server
Run nace-mcp on your machine to give coding agents Nace's decisions, document processing, workspaces and search tools.