Hosted server
AI-ecosystem data over MCP.
Agents plan against stale knowledge: model prices move, registries grow, tools ship nightly.
This server answers from datasets collected from public machine-readable sources —
every record carries source_url and collected_at.
Endpoint
| Transport | Streamable HTTP (stateless, JSON responses) |
| URL | POST /mcp |
| Auth | Authorization: Bearer tg_… (or X-Api-Key) |
| Protocol | 2025-06-18 · 2025-03-26 · 2024-11-05 |
| Free without a key | initialize · tools/list · resources/list · ping · ai_ecosystem_overview |
Tools
| tool | arguments | credits |
|---|---|---|
| ai_ecosystem_overview | — | 0 |
| llm_pricing | provider? model? search? min_context? max_input_price? sort? limit? | 1 |
| llm_price_compare | models[2..10] input_tokens output_tokens calls? | 1 |
| mcp_servers_search | query transport? limit? | 1 |
| mcp_server_info | name | 1 |
| ai_changelog | tool? limit? include_prereleases? | 1 |
Bulk dumps are MCP resources (tollgate://datasets/llm-pricing, …/mcp-servers, …/changelogs) at 5 credits per read.
Connect a client
Claude Desktop / stdio-only clients
{
"mcpServers": {
"tollgate": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://your-tollgate.dev/mcp",
"--header", "Authorization: Bearer tg_…"]
}
}
}
MCP Inspector
$ npx @modelcontextprotocol/inspector # transport: Streamable HTTP · URL: …/mcp · header: Authorization: Bearer tg_…
Official TypeScript client
import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"; const transport = new StreamableHTTPClientTransport(new URL("https://your-tollgate.dev/mcp"), { requestInit: { headers: { Authorization: "Bearer tg_…" } }, }); const client = new Client({ name: "my-agent", version: "1.0.0" }); await client.connect(transport); const prices = await client.callTool({ name: "llm_pricing", arguments: { provider: "anthropic", model: "haiku" }, });
Datasets & freshness
| dataset | source | refresh |
|---|---|---|
| llm-pricing | models.dev (vendor list prices), cross-checked against the OpenRouter API; disagreements kept, both numbers shown | npm run collect-data |
| mcp-servers | registry.modelcontextprotocol.io — latest active versions | npm run collect-data |
| changelogs | GitHub Releases: claude-code, codex, gemini-cli, ollama, zed, aider, MCP spec | npm run collect-data |
Honesty rules: collectors fail loudly when a source is down — the build never invents a row. Account-tier rate limits (RPM/TPM) are not in the dataset yet; model context/output limits are. Tools that don't publish GitHub releases (e.g. Cursor) aren't covered in this snapshot.
REST mirror
The dashboard endpoints double as a tiny REST API: POST /v1/signup,
GET /v1/usage, POST /v1/keys/rotate, POST /v1/billing/checkout,
GET /v1/public/stats. Same bearer key.