@analogapi/analog-mcp
v1.0.6
Published
MCP server for real-time US data and AI-analyzed attributes across the country.
Readme
Analog MCP Server Documentation
Get an API key at analogapi.com
MCP server for querying location and attribute data from Analog's live feeds over JSON-RPC 2.0.
Authentication
MCP requests require an API key in the x-api-key header.
Rate Limits
30 requests per minute per API key.
MCP Endpoint
https://yaewurxvufigjntzdruf.supabase.co/functions/v1/analog-mcpCapabilities
| Capability | Value |
| ---------- | ------------------------------------------------------------------------------- |
| Protocol | 2025-11-25 |
| Transport | Streamable HTTP / JSON-RPC 2.0 |
| Methods | initialize, tools/list, tools/call, prompts/list, prompts/get, ping |
| Tools | list_locations, list_attribute_types, query_attributes |
| Prompts | explore_state, summarize_location |
| Resources | Not implemented |
Client Configuration
{
"mcpServers": {
"analog": {
"transport": "http",
"url": "https://yaewurxvufigjntzdruf.supabase.co/functions/v1/analog-mcp",
"headers": {
"x-api-key": "ak_live_your_key_here"
}
}
}
}Tools
list_locations
Lists locations where sources are installed. All filters are optional.
{
"states": ["New York", "California"],
"countries": ["US"],
"latitude": 40.7645,
"longitude": -73.9545,
"limit": 10,
"offset": 0
}list_attribute_types
Lists active (non-legacy) attribute types. Deprecated/legacy types are excluded.
{
"limit": 25,
"offset": 0
}query_attributes
Queries analyzed attributes. At least one filter is required: location_ids, states, countries, source_types, or source_ids.
{
"location_ids": [42],
"countries": ["US"],
"states": ["New York"],
"source_types": ["traffic_camera"],
"source_ids": [1234],
"limit": 5,
"offset": 0
}Call Flow
1) Initialize
curl -X POST "https://yaewurxvufigjntzdruf.supabase.co/functions/v1/analog-mcp" \
-H "content-type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"jsonrpc":"2.0",
"id":1,
"method":"initialize",
"params":{
"protocolVersion":"2025-11-25",
"clientInfo":{"name":"my-client","version":"1.0.0"},
"capabilities":{}
}
}'2) List tools
curl -X POST "https://yaewurxvufigjntzdruf.supabase.co/functions/v1/analog-mcp" \
-H "content-type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'3) Call a tool
curl -X POST "https://yaewurxvufigjntzdruf.supabase.co/functions/v1/analog-mcp" \
-H "content-type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"jsonrpc":"2.0",
"id":3,
"method":"tools/call",
"params":{
"name":"query_attributes",
"arguments":{
"countries":["US"],
"source_types":["traffic_camera"],
"limit":5
}
}
}'Errors
Protocol-level failures return JSON-RPC errors. Tool-level input validation failures return a tool result with isError: true.
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "At least one filter is required: location_ids, states, countries, source_types, or source_ids"
}
],
"isError": true
}
}