Call the MCP server
/mcpChartnaut's remote MCP server. MCP clients such as Claude, ChatGPT and Cursor send it JSON-RPC 2.0 messages to list and call its tools. Point your MCP client at https://api.chartnaut.com/v1/mcp; Connect Chartnaut to an AI app covers the apps, the MCP tools reference covers each tool, and How the MCP server works follows a call and the sign-in step by step.
Scope | Heavy call | Long poll | CLI |
|---|---|---|---|
Each tool's own | Per tool | Tools wait up to 25 s |
|
Guidance
The transport is Streamable HTTP, stateless, with plain JSON answers. Every message is its own
POST. The server keeps no session, sends noMcp-Session-Id, and answersGETwith405. ADELETEcarrying anMcp-Session-Idgets204and changes nothing.Authenticate with an OAuth access token from Get a token, or an API key. Both go in
Authorization: Bearer. Without one, the answer is401with aWWW-Authenticateheader whoseresource_metadatapoints at Get protected resource metadata, which is how an MCP client finds the sign-in.Send
Accept: application/json, text/event-stream. The server answers in JSON, but a request that does not accept both types is refused with400.The envelope itself costs nothing:
initialize,tools/list,prompts/list,prompts/getandresources/listcount toward no limit. Each tool call, and eachresources/read, is served as the API requests behind it, and each of those counts once toward your requests a minute, with the same scopes, heavy-call and plan checks as a direct call. Limits and cost lists them per tool.A tool that is refused returns a JSON-RPC result with
isError: trueand a text startingError <code>:, so the model can correct itself. Protocol mistakes, such as an unknown method, are JSON-RPC errors.A browser request must come from an allowed origin: claude.ai, chatgpt.com, Chartnaut's own sites, or
localhostfor tools such as the MCP Inspector. Requests with noOrigin, from servers and CLIs, are accepted. Any other origin gets403 forbidden.One request can carry up to 3 MB. Each tool result is capped at 40 KB of text; see Output limits.
Headers
Name | Required | Description |
|---|---|---|
| Yes |
|
| Yes | Must list both |
| Yes |
|
| No | The protocol version agreed in |
Request body
One JSON-RPC 2.0 message.
Field | Type | Required | Description |
|---|---|---|---|
| string | Yes |
|
| integer or string | For requests | Omitted on notifications |
| string | Yes | Such as |
| object | Depends on | For |
Response
200 with the JSON-RPC response. A tool call's result has content, a list with one text item holding compact JSON or markdown, and isError when the tool was refused. A notification gets 202 with no body.
Status codes
Status | Code | Meaning |
|---|---|---|
| - | The JSON-RPC response, including tool errors |
| - | A notification was accepted |
| - | Not valid JSON-RPC, the |
|
| No bearer token, or it is wrong, expired or revoked. Follow |
|
| The browser |
|
| The account is on Free |
| - |
|
|
| More than 30 failed token checks from your IP address in a minute |
| - | The request is over 3 MB: the server stops reading it and answers failed to read body |
