Overview
Connect any MCP-capable AI client to NeuroAPI over a remote Streamable HTTP server, authenticated with your existing API key.
NeuroAPI runs a remote Model Context Protocol
(MCP) server so MCP-capable clients — Claude Code, Cursor, VS Code, the MCP
Inspector, and anything that speaks the protocol — can call the agent as a
tool. It's the same financial-research capability as POST /agent/ask, with
the same authentication, rate limits, quota, and billing. Nothing to install
and nothing to host: point your client at one URL.
Endpoint
Remote MCP server over Streamable HTTP:
https://api.neurobro.ai/api/v1/mcpNew to MCP itself? The protocol docs explain the model. This page is only about connecting to our server — jump to Connect a client for copy-paste setup.
Authentication
Every MCP request carries your dashboard API key. The primary header is the same one the REST API uses:
X-API-Key: neuro_...For clients whose UI only offers a bearer-token field, the server also accepts:
Authorization: Bearer neuro_...Both map to the same key. Authorization: Bearer is accepted only on the
MCP endpoint as a compatibility shim — the REST API is always X-API-Key. You
mint and revoke keys from the dashboard exactly as described in
Authentication.
Your API key is a secret. Keep it in an environment variable or secret manager, never commit it, and prefer your client's variable-substitution syntax (shown in every snippet on the next page) over pasting the raw key into a config file. Revoke a leaked key from the dashboard — it stops working on the next request.
The tool
The server exposes exactly one tool.
| Tool | What it does |
|---|---|
ask_neuroapi | Runs the NeuroAPI agent on a single-turn financial or market-research question and returns the answer. |
Its inputs mirror the non-streaming /agent/ask body:
| Input | Type | Required | Notes |
|---|---|---|---|
prompt | string | yes | The question or instruction for the agent. |
mode | fast | smart | max | no | Intelligence tier. Defaults to smart. max requires Pro or above. |
message_history | array | no | Prior {role, content} turns. The caller owns conversation state. |
system_prompt | string | no | Extra steering layered on the agent; can't override its persona or guardrails. |
output_schema | object | no | A JSON Schema to make the agent return a validated object instead of prose. |
A successful call returns the same fields as the REST endpoint — answer (or
output when you pass output_schema), mode, request_id, and a usage
block. usage.cost_units is what was debited from your quota.
Streaming
MCP tool calls are non-streaming — you get one complete answer. For
token-by-token SSE, call POST /agent/ask with stream=true directly.
Billing & limits
MCP is a different door to the same metered endpoint — it is not free. Each
ask_neuroapi call authenticates, counts against your per-minute
rate limit, reserves and debits quota, and is
billed in cost_units exactly like a POST /agent/ask. The
tier you pass in mode sets the price, and max is gated to Pro and above —
calling it on a Starter key comes back as a tool error, not a silent downgrade.
Security
- Browser-originated requests are rejected unless their
Originis on the dashboard allow-list — remote MCP is for local tools and servers, not front-endfetch(). A blocked origin returns403 mcp_origin_not_allowed. - Only
ask_neuroapiis exposed. There is no generic REST-to-MCP bridge, no resources, no prompts, and no access to dashboard or admin surfaces. - Treat an MCP client you've configured with your key as holding that key. Use a separate key per machine so you can revoke one without disrupting the rest.