Connect via MCP & SDKs

Your tengu_ key works over three interfaces — the raw REST API, the Model Context Protocol (for AI agents like Claude), and generated SDKs. All three authenticate the same way, debit the same credit wallet, and honor the same tier gating. Pick whichever fits your stack.

Model Context Protocol (MCP)#

A hosted MCP server exposes the FIRM tool catalogue to AI agents over the Model Context Protocol (Streamable HTTP), so Claude and other agents can call live market & quant data directly.

Server URLhttps://firm.tengu.co/mcp
TransportMCP Streamable HTTP (JSON-RPC 2.0)
Authyour tengu_ key as the X-API-Key header
Toolsthe public data catalogue — each call is metered and tier-gated exactly like REST

Settings → ConnectorsAdd custom connector → set the URL to https://firm.tengu.co/mcp and add an X-API-Key header with your key. This is the most reliable path for a hosted, header-authenticated MCP server.

Claude Desktop#

Desktop launches MCP servers as local processes, so bridge to the hosted endpoint with mcp-remote in claude_desktop_config.json — it forwards your auth header:

JSON
1{2  "mcpServers": {3    "tengu-firm": {4      "command": "npx",5      "args": ["-y", "mcp-remote", "https://firm.tengu.co/mcp",6               "--header", "X-API-Key:tengu_YOUR_KEY"]7    }8  }9}

Check the endpoint is reachable (listing tools needs no key):

Shell
1curl -s -X POST https://firm.tengu.co/mcp \2  -H 'Content-Type: application/json' \3  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq '.result.tools | length'

Once connected, ask Claude something like "use tengu-firm to pull Ford's recent bond prints" and it will call the matching tool, billed to your wallet.

OpenAPI spec#

A curated public OpenAPI 3.1 spec — only the advertised public tools, never internal or admin routes — is served at:

  • https://firm.tengu.co/api/openapi.json (no key needed to fetch the spec)

Load it into Swagger UI, Redoc, or Postman, or lint it:

Shell
npx @redocly/cli lint https://firm.tengu.co/api/openapi.json

SDKs#

Published, ready-to-install clients for both languages — same auth, same wallet, same tier gating:

Shell
1pip install tengu-firm      # Python  (import as: import tengu_firm)2npm i tengu-firm            # TypeScript / JavaScript

Prefer to generate the client yourself, or pin it to the live spec? Codegen either language:

Shell
1# Python2openapi-generator generate -i https://firm.tengu.co/api/openapi.json \3  -g python -o tengu-python --additional-properties=packageName=tengu_firm,projectName=tengu-firm4 5# TypeScript6openapi-generator generate -i https://firm.tengu.co/api/openapi.json \7  -g typescript-axios -o tengu-ts

No SDK required to start — the API is plain HTTP + JSON, so any client works:

Python
1import requests2 3r = requests.get(4    "https://firm.tengu.co/api/v3/credit/bonds/F",5    headers={"Authorization": "Bearer tengu_YOUR_KEY"},6)7print(r.json()["rows"][:3])

MCP, the OpenAPI spec, and /api/capabilities are all generated from the same catalogue, so they can never advertise different tools.