Integrate Indices-API with Claude Desktop, ChatGPT or any MCP-compatible assistant. Get real-time stock index prices directly in your AI conversations.
"What's the current level of the S&P 500?"
The Model Context Protocol (MCP) lets AI assistants access external data in real time. Instead of outdated training data, your AI can fetch live index prices from our API — just by asking a question.
Example: Ask Claude "What's the current level of the S&P 500?" and it will call our
indices.latest tool automatically.
Live S&P 500, Dow Jones, Nasdaq and 512+ symbols instantly.
Ask questions like "Compare the S&P 500 and Nasdaq this week" and get accurate answers.
MCP calls use your existing API plan. Each AI request counts as one API call.
A comprehensive suite of tools to access stock index market data from your AI assistant.
Get real-time prices for S&P 500, Dow Jones, Nasdaq, and 512+ supported symbols.
Retrieve historical index prices for any specific date.
Calculate price changes between two dates with percentage and absolute values.
Convert amounts between any index or currency pairs instantly.
Get Open/High/Low/Close price data for technical analysis.
List all 512+ supported symbols available index and currency symbols.
Get daily price data over a date range for trend analysis.
Get intraday candles for a single symbol on a specific date (intervals from 1m to 1d).
Same URL for every agent. Authenticate with Authorization: Bearer YOUR_API_KEY. Do not put the key in the URL — Claude Desktop and claude.ai reject ?api_key= and ?apikey=.
Never paste an API key into this URL. There is no OAuth client. Get a key if you do not have one.
"url": "https://indices-api.mcp.indices-api.com/mcp". Do not wrap the server with npx or mcp-remote.
These steps are the same on claude.ai and in the Claude Desktop app. Add Indices-API as a custom connector. The remote URL has no key. Do not edit claude_desktop_config.json.
User menu → Settings → Customize → Connectors → Add / Add custom connector. Do not search the official connector directory — Indices-API is added as a custom connector.
In the Add custom connector panel, fill in:
Name: for example MCP Indices-API
Remote server URL:
Never paste an API key into the MCP URL. Indices-API does not use an OAuth client, so leave any OAuth client secret empty. Send the key as Authorization: Bearer YOUR_API_KEY. If this connector cannot attach a request header, include api_key in the tool arguments. The key still must not appear in the URL. Get a key if you do not have one.
After setup, try asking Claude: "What's the current level of the S&P 500?"
Add the remote HTTP server from a terminal. The URL stays free of the API key. Authentication is the Bearer header on this command.
claude mcp add --transport http mcp-indices-api https://indices-api.mcp.indices-api.com/mcp \ --header "Authorization: Bearer YOUR_API_KEY"
Open Claude Code and run claude mcp list. Indices-API uses a Bearer API key, so there is no OAuth sign-in. The /mcp authenticate action is only for servers that use OAuth.
Then try: "What's the current level of the S&P 500?"
Add the remote MCP server from Cursor Settings. You need an Indices API key. The URL has no key. Send it as Authorization: Bearer.
1. In the menu bar click Cursor → Preferences → Cursor Settings.
2. In the sidebar, click Customize.
3. Filter by MCPs, then click New MCP Server.
4. URL:
5. When it asks for a header, set Authorization to Bearer YOUR_API_KEY. There is no OAuth client id.
1. Open the Cursor menu and click Settings → Cursor Settings.
2. In the sidebar, click Customize.
3. Filter by MCPs, then click New MCP Server.
4. URL:
5. When it asks for a header, set Authorization to Bearer YOUR_API_KEY. There is no OAuth client id.
Only if you prefer not to use the menus. Paste this into ~/.cursor/mcp.json on a Mac, or %USERPROFILE%\.cursor\mcp.json on Windows. The server is a remote url. Do not use npx or mcp-remote.
{
"mcpServers": {
"indices-api": {
"url": "https://indices-api.mcp.indices-api.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
After setup, try: "What's the current level of the S&P 500?"
Add Indices-API from ChatGPT Settings → Connectors. This is the MCP connector, not an OpenAI proxy and not a curl call. Never put an API key in the MCP URL.
Create an account and copy your Indices API key.
In ChatGPT, open Settings → Connectors and add a custom MCP connector.
Remote server URL:
Send Authorization: Bearer YOUR_API_KEY. Do not put the key in the URL. There is no OAuth client id and no client secret.
A complete Python example that fetches the current S&P 500 level using the MCP protocol. The key travels in the Authorization header, not in the URL and not in the tool arguments.
import httpx
import json
import asyncio
MCP_SERVER_URL = "https://indices-api.mcp.indices-api.com/mcp"
API_KEY = "YOUR_API_KEY"
async def call_mcp_tool(tool_name: str, arguments: dict):
async with httpx.AsyncClient(timeout=60) as client:
init_response = await client.post(
MCP_SERVER_URL,
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"jsonrpc": "2.0",
"id": "1",
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {"name": "PythonClient"}
}
}
)
session_id = init_response.headers.get("Mcp-Session-Id")
response = await client.post(
MCP_SERVER_URL,
headers={
"Mcp-Session-Id": session_id,
"Authorization": f"Bearer {API_KEY}"
},
json={
"jsonrpc": "2.0",
"id": "2",
"method": "tools/call",
"params": {
"name": tool_name,
"arguments": arguments
}
}
)
return response.json()
async def main():
result = await call_mcp_tool(
"indices.latest",
{"symbols": "GSPC", "base": "USD"}
)
if result.get("result", {}).get("rates", {}).get("GSPC"):
rate = result["result"]["rates"]["GSPC"]
price = 1 / rate
print(f"Current S&P 500: {price:.2f}")
else:
print(json.dumps(result, indent=2))
asyncio.run(main())
Authorization: Bearer YOUR_API_KEY on each request to the MCP endpoint. Do not put the key in the URL (?api_key= or ?apikey=) — Claude Desktop and claude.ai reject tokens in the query string. There is no OAuth client. Register here to get a key. Check our pricing page for plan details.indices.symbols tool or visit our symbols page for a complete list.