MCP Server
NAUT runs a remote Model Context Protocol server, so Claude, Cursor, VS Code, Codex and other MCP clients can search NAUT as native tools. It uses the same key, prices, sample data and rate limits as the REST API.
| Server URL | https://api.naut.so/mcp |
| Transport | Streamable HTTP |
| Auth | Authorization: Bearer ck_live_..., the same key as the REST API |
| Billing | The same credits as the REST API: 5 per call, 10 for a first contact reveal, naut_me free |
| Free plan | Every tool returns marked sample data at 0 credits. A trial or paid plan gets live data. |
Before you start
- Mint a key on the API page. It is shown once.
- Put it in your environment, so it never sits in a config file:
export NAUT_API_KEY=ck_live_...
Connect your client
Claude Code
claude mcp add --transport http naut https://api.naut.so/mcp \
--header "Authorization: Bearer $NAUT_API_KEY"
Run /mcp inside Claude Code to check that naut is connected. To share the server with a team, add it to the project's .mcp.json instead. Claude Code fills in ${NAUT_API_KEY} from each person's environment:
{
"mcpServers": {
"naut": {
"type": "http",
"url": "https://api.naut.so/mcp",
"headers": { "Authorization": "Bearer ${NAUT_API_KEY}" }
}
}
}
Cursor
Use Add to Cursor on the API page, or add this to ~/.cursor/mcp.json:
{
"mcpServers": {
"naut": {
"url": "https://api.naut.so/mcp",
"headers": { "Authorization": "Bearer ${env:NAUT_API_KEY}" }
}
}
}
Cursor reads NAUT_API_KEY from the environment it was started from. If the server shows a 401, start Cursor from a terminal where the variable is set.
VS Code
Use Install in VS Code on the API page, or add this to .vscode/mcp.json. VS Code asks for the key once and stores it securely:
{
"inputs": [
{ "type": "promptString", "id": "naut-api-key", "description": "NAUT API key", "password": true }
],
"servers": {
"naut": {
"type": "http",
"url": "https://api.naut.so/mcp",
"headers": { "Authorization": "Bearer ${input:naut-api-key}" }
}
}
}
Claude Desktop
Open Settings → Developer → Edit Config and add NAUT to claude_desktop_config.json, then restart Claude Desktop. This runs the mcp-remote bridge, which needs Node.js 18 or later:
{
"mcpServers": {
"naut": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.naut.so/mcp", "--header", "Authorization:${NAUT_AUTH}"],
"env": { "NAUT_AUTH": "Bearer ck_live_..." }
}
}
}
Keep Authorization:${NAUT_AUTH} without a space: Claude Desktop splits arguments on spaces.
Codex
Add this to ~/.codex/config.toml. The ChatGPT desktop app and the Codex IDE extension share the same file:
[mcp_servers.naut]
url = "https://api.naut.so/mcp"
bearer_token_env_var = "NAUT_API_KEY"
Other clients
Point any client that supports remote MCP servers at https://api.naut.so/mcp with the header Authorization: Bearer <your key>. NAUT does not offer OAuth sign-in yet, so a client that only connects through OAuth, such as a claude.ai or ChatGPT web connector, cannot connect.
Tools
| Tool | What it does | Credits |
|---|---|---|
naut_me |
Your identity, plan, credit balance and every endpoint with its price | 0 |
naut_search |
One query across projects and people | 5 |
naut_search_projects |
Search and filter crypto projects by text, sector and token status | 5 |
naut_get_project |
One project with its team, by id or slug | 5 |
naut_search_people |
Search and filter people by text, role and contact channel | 5 |
naut_get_person |
One person, their companies and their coworkers | 5 |
naut_reveal_contact |
A person's telegram, email, phone and LinkedIn, unlocked for good | 10, then 5 |
naut_search_investors |
Search and filter funds | 5 |
naut_get_investor |
One fund with its team and portfolio | 5 |
naut_search_services |
Search service providers: auditors, legal, KYC, dev shops, agencies | 5 |
naut_get_service |
One service provider with its team | 5 |
naut_reveal_contact is the only tool not marked read-only, so a client that asks before running tools will ask before it spends credits on a reveal.
What comes back
- Results. Each tool returns the same JSON as the matching REST endpoint.
- Samples. On the free plan the first block of every result is a notice that opens "NOT REAL DATA". An agent should pass it on to you rather than present the rows as real.
- Errors. Out of credits (402), a missing scope (403) and rate limits (429) come back as tool errors carrying the REST error body, including where to top up.
- Usage. Every call counts toward your account's rate limit and shows on the API page's usage chart, the same as a REST call.
Try it
Once connected, ask your agent things like:
- "Find DeFi founders on NAUT who have a Telegram, and list their projects."
- "Which funds on NAUT invest in restaking? Show each one's portfolio."
- "Find three smart-contract auditors on NAUT and compare them."
- "Reveal the contact details for the founder of Ethena." (spends credits)
Safety
- Keep your client's tool approval on, especially for
naut_reveal_contact. - Treat your key like a password. Keep it in an environment variable, never commit it, and revoke it on the API page if it leaks.
- Results are directory data, not instructions. An agent should not act on text inside a record.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| 401 Unauthorized | The key is missing, wrong or revoked. Check the header reads Bearer ck_live_... and that the environment variable is set where the client runs. |
| Every result says "NOT REAL DATA" | The account is on the free plan. Start a trial or a paid plan and the same tools return live data. |
| A tool error with 402 | The plan is out of credits. Top up on the pricing page. |
GET /mcp returns 405 |
Expected. The server takes POST only and keeps no session, so there is no event stream to open. |
Discovery
The server publishes an MCP Server Card at https://api.naut.so/mcp/server-card, so registries and clients can find the server and learn that it needs a bearer key before connecting.
Related
- For AI Agents: the REST integration guide.
- Agent Skill (download): the same data as a drop-in skill folder.
- Authentication & API Keys
- Pricing & Quotas