Skip to main content

Use with AI assistants (MCP)

The hosted MCP server gives an AI assistant or agent the API's data operations and research runs as tools.

The server​

The server is https://mcp.tauric.ai/mcp, over the Streamable HTTP transport. It needs the mcp entitlement, and each tool the entitlement of its operation (entitlements). Every request acts as your account and counts against its limits.

Connect a client​

Connect by signing in or with an API key.

Sign in with OAuth​

Clients that support MCP authorization (Claude, ChatGPT, and others): add the server URL, connect, sign in to tauric.ai, and approve the app. The client never holds an API key.

  • Claude (claude.ai and Claude Desktop): Settings > Connectors > Add custom connector.

  • ChatGPT: a connector in developer mode, authentication OAuth.

  • Claude Code: add the server without a header, then run /mcp and choose Authenticate:

    claude mcp add --transport http --scope user tauric https://mcp.tauric.ai/mcp

You manage and disconnect connected apps on the website.

Use an API key​

For code and automation, send a key on every request as Authorization: Bearer <key> through the client's request-header setting. From Python, see connect an agent over MCP (the mcp SDK 2.x).

With Claude Code, add the server with the key's header:

claude mcp add --transport http --scope user tauric https://mcp.tauric.ai/mcp \
--header 'Authorization: Bearer ${TAURIC_API_KEY}'

Keep the single quotes: Claude Code stores the literal ${TAURIC_API_KEY} and reads it from your environment on each connect. Start claude from a shell where TAURIC_API_KEY is set.

Make a first tool call​

In Claude Code, run /mcp to see the server and its tools, which appear as mcp__tauric__<name>. Then ask "What is Apple's latest quote?"; the assistant calls get_security_quote. Each tool is named by its operation's operationId; MCP tools lists them.

Response size limit​

A tool result larger than 64 KiB (256 KiB for a research run or its report) is refused response_too_large, never truncated. The error (type invalid_request_error) gives bytes, limit, and the narrowing_parameters to call again with, such as paging with limit or end. The request was made, so it is charged.

Tool errors​

A typed API error reaches the client as an error result (is_error) carrying the typed body as JSON text, with the same code as the REST answer. The server's own refusals (missing_required_argument, unknown_parameter, response_too_large) are also error results (the MCP server's codes).

A missing or malformed key is refused at the transport with 401, before any tool runs. An SDK raises on a transport-level refusal, so read the HTTP status when it does.