A hosted MCP server for India + EM finance. NSE, BSE, AMFI, MCA, SEBI, Yahoo, IBBI — one endpoint, 45 tools, full provenance on every response.
In Claude Desktop, open Settings → Connectors → Add custom connector. Use:
Name: AgenticMarkets
URL: https://mcp.agenticmarkets.dev/mcp
Leave the OAuth fields blank — the server publishes a discovery document and runs Dynamic Client Registration automatically. Click Approve when the consent page opens.
claude mcp add --transport http --scope user agenticmarkets \
https://mcp.agenticmarkets.dev/mcp \
--header "Authorization: Bearer am_live_..."
Get an API key by emailing hello@agenticmarkets.dev. Trial keys are unmetered for the first month.
pip install agenticmarkets
from agenticmarkets import AgenticMarketsClient
am = AgenticMarketsClient(api_key="am_live_...")
quote = am.get_quote(ticker="RELIANCE")
print(f"{quote.entity.primary_symbol}: ₹{quote.close} on {quote.trade_date}")
print(f"source: {quote.meta.sources[0].name}, run: {quote.meta.sources[0].ingest_run_id}")
# 1. initialize a session
INIT=$(curl -fsS -X POST https://mcp.agenticmarkets.dev/mcp \
-H "content-type: application/json" \
-H "accept: application/json, text/event-stream" \
-H "Authorization: Bearer am_live_..." \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-06-18","capabilities":{},
"clientInfo":{"name":"x","version":"0"}}}' -i)
SID=$(echo "$INIT" | grep -i 'mcp-session-id:' | awk '{print $2}' | tr -d '\r')
# 2. call any tool
curl -X POST https://mcp.agenticmarkets.dev/mcp \
-H "Authorization: Bearer am_live_..." \
-H "mcp-session-id: $SID" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"getQuote","arguments":{"ticker":"RELIANCE"}}}'
Indian and emerging-markets finance data is fragmented. NSE, BSE, AMFI, MCA, SEBI, IBBI, regulators, exchanges, vendors — an analyst chasing one ticker traverses a dozen sources. Bloomberg/Refinitiv don't ship to most teams that need it; Polygon and friends don't cover India.
AgenticMarkets is the layer in between. One MCP endpoint, every Indian listed equity and mutual fund, every corporate filing back to 2021, F&O chains, shareholding patterns, insider trades, credit ratings, earnings call transcripts, ESG signals, sector indicators. Each response carries the canonical entity, the source, the ingestion run id, and a SHA-256 row hash — so an AI agent's analysis is always traceable.
→ full tool reference with input/output schemas
Every response carries:
data — the answer, validated against a Zod schema published in our SDK.meta.sources[] — the source name (e.g. nse_cm_bhavcopy, sebi_pit, amfi), the source URL, the ingestion timestamp, and the ingestion run UUID.meta.row_hash — SHA-256 over the canonical-JSON of data. Two clients querying the same row can verify they got the same bytes.meta.freshness_sla_seconds — how stale this datum is allowed to be before we'd consider it breached. Compare to meta.served_at - meta.sources[*].ingested_at.This is the metadata an AI agent needs to make verifiable decisions. Trust, but verify.
OAuth 2.1 with PKCE for browser clients (Claude Desktop's connector flow handles this automatically). Bearer token for SDKs and CLI tools. Token-bucket rate limit per key: 30 burst, 60/min sustained on the trial tier; higher tiers configurable.