Agents: use Tapetide via MCP or REST
Tapetide has two front doors to the same data, account and quota.
| MCP server | REST API | |
|---|---|---|
| Endpoint | https://mcp.tapetide.com/mcp (Streamable HTTP) |
https://api.tapetide.com/v1 |
| Best for | Chat apps and coding assistants that speak MCP | Your own code, pipelines and custom agents |
| Auth | Google sign-in (OAuth) or a personal token | Personal token |
| Shape | 55 tools with LLM-oriented descriptions | Typed JSON documents described by OpenAPI 3.1 |
Calls on either side count against one quota: 50 successful calls a day on the free plan.
Connect an MCP client
Section titled “Connect an MCP client”Most clients only need the server URL, then a Google sign-in when the browser opens.
Claude Code
claude mcp add --transport http tapetide https://mcp.tapetide.com/mcpThen open /mcp in Claude Code, select Tapetide and sign in.
Cursor (.cursor/mcp.json)
{ "mcpServers": { "tapetide": { "url": "https://mcp.tapetide.com/mcp" } }}Codex
codex mcp add tapetide --url https://mcp.tapetide.com/mcpcodex mcp login tapetideClaude.ai and ChatGPT: add a custom connector named Tapetide with the URL https://mcp.tapetide.com/mcp and sign in with Google.
Clients that cannot open a browser send a personal token instead: Authorization: Bearer tpt_rt_.... Claude Desktop uses the local helper:
{ "mcpServers": { "tapetide": { "command": "bunx", "args": ["tapetide-mcp"], "env": { "TAPETIDE_TOKEN": "YOUR_TOKEN" } } }}Step-by-step pages for each client are canonical on tapetide.com:
- Chat apps: Claude.ai, ChatGPT, Grok, Claude Desktop
- Editors: Cursor, VS Code, Windsurf, Zed, Kiro, Antigravity
- Agents and CLIs: Claude Code, Codex, Gemini CLI, Cline, OpenCode, Command Code
Confirm the connection with a prompt such as “Use Tapetide to show Reliance’s latest price and when it was updated.” The answer should include a timestamp.
Full MCP tool reference: tapetide.com/mcp/llms-full.txt. For when to pick which, see MCP vs API for Indian stock data.
Give your own agent the REST API
Section titled “Give your own agent the REST API”If you are building the agent, REST is usually simpler to control and test:
- Load the OpenAPI document from
https://api.tapetide.com/v1/openapi.jsonand turn operations into tools. Most agent frameworks accept OpenAPI directly. - Point the model at
/llms.txtor/llms-full.txtfor the conventions: units, nulls, paging. - Put the token in the HTTP client, never in the prompt.
- Have the agent quote
meta.as_ofand any observation timestamp (updated_at,snapshot_ts) with numbers it reports.
A minimal tool for an agent loop:
def tapetide_get(path: str, **params) -> dict: """GET a Tapetide API path such as /v1/stocks/TCS/quote. Returns the JSON body.""" r = session.get(f"https://api.tapetide.com{path}", params=params, timeout=30) return r.json() # errors come back as {"error": {"code", "message"}} for the model to readReturning error bodies to the model works well: messages name the bad parameter and list accepted values.