NeuroAPI

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/mcp

New 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.

ToolWhat it does
ask_neuroapiRuns 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:

InputTypeRequiredNotes
promptstringyesThe question or instruction for the agent.
modefast | smart | maxnoIntelligence tier. Defaults to smart. max requires Pro or above.
message_historyarraynoPrior {role, content} turns. The caller owns conversation state.
system_promptstringnoExtra steering layered on the agent; can't override its persona or guardrails.
output_schemaobjectnoA 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 Origin is on the dashboard allow-list — remote MCP is for local tools and servers, not front-end fetch(). A blocked origin returns 403 mcp_origin_not_allowed.
  • Only ask_neuroapi is 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.

On this page