Setup
The Precursor Intelligence MCP server is remote: a single hosted HTTP endpoint. There is nothing to install locally. You only need:
- An API key from your Precursor Intelligence dashboard.
- An MCP-compatible client.
1. Create an API key
Sign in to precursorintelligence.com and go to Settings → API Keys.
- Click Create key.
- Name the key (e.g.
claude-desktop-laptop). - (Optional) Add an IP allowlist.
- Click Generate. The full token is shown once; copy it now.
The token is not recoverable after you close this dialog. If you lose it, revoke the key and generate a new one.
2. Connect a client
Choose your client below. The configuration shape is the same everywhere: a
remote HTTP MCP server with a bearer-token Authorization header, with only
the file path and JSON dialect changing.
Claude Code
From a terminal:
claude mcp add --transport http precursor-intelligence \
https://mcp.precursorintelligence.com \
--header "Authorization: Bearer <YOUR_API_KEY>"Verify the connection:
claude mcp listInside a Claude Code session you can confirm the server is live:
/mcpClaude Desktop
Edit your Claude Desktop config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"precursor-intelligence": {
"type": "http",
"url": "https://mcp.precursorintelligence.com",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}Restart Claude Desktop. The 41 tools will appear under the tool menu
prefixed with precursor-intelligence.
Cursor
Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (project-level).
Cursor supports environment variable interpolation, so you can keep your key
out of the config file:
{
"mcpServers": {
"precursor-intelligence": {
"type": "http",
"url": "https://mcp.precursorintelligence.com",
"headers": {
"Authorization": "Bearer ${env:PRECURSOR_API_KEY}"
}
}
}
}Restart Cursor or run MCP: Reload Servers from the command palette.
Raw JSON-RPC / custom clients
Any HTTP client can speak to the server directly. Send a POST to
https://mcp.precursorintelligence.com with Content-Type: application/json
and your bearer token. Use tools/list for discovery and tools/call for
invocation:
curl -s https://mcp.precursorintelligence.com \
-H "Authorization: Bearer $PRECURSOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'curl -s https://mcp.precursorintelligence.com \
-H "Authorization: Bearer $PRECURSOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_cve","arguments":{"cve_id":"CVE-2024-3094"}}}'See Response Format for the full envelope shape.
Other clients and the mcp-remote fallback
If your client does not yet support Streamable HTTP MCP servers natively,
bridge through mcp-remote, a
stdio shim that proxies to any remote MCP endpoint:
{
"mcpServers": {
"precursor-intelligence": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.precursorintelligence.com",
"--header",
"Authorization: Bearer <YOUR_API_KEY>"
]
}
}
}The claude.ai web app's Custom Connector flow is built around OAuth, so a static API key may not slot in cleanly. For the best experience with a Precursor Intelligence API key, use Claude Code (CLI) or Claude Desktop instead.
3. Test the connection
The quickest health-check is the account_status tool. It is free and
confirms auth and credit balance in one call.
From inside your client, ask:
Call the
account_statustool on the Precursor Intelligence MCP server.
Or hit the endpoint directly to verify the wire-level setup:
curl -s https://mcp.precursorintelligence.com \
-H "Authorization: Bearer $PRECURSOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"account_status","arguments":{}}}'A successful response contains your organisation's credit balance and key
metadata in result._meta.precursor and in the parsed result.content[0].text.
4. Use the tools
Once connected, your agent can name any tool from the tools index directly. For example:
Pull intelligence on
CVE-2024-3094and tell me which vendors are currently affected, plus any KEV status.
The agent will pick get_cve (and likely get_shadowserver_cve_activity)
on its own. You don't need to specify the tool name; just describe the
question. The descriptions in tools/list are written to be selected
correctly by the model.