indextkn MCP server
OfficialProvides live published pricing, context window, max output, and cache rates for OpenAI models across multiple providers, with tools to compare providers and estimate costs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@indextkn MCP serverCompare prices for openai/gpt-oss-120b across providers and show the cheapest."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
indextkn MCP server
Live list prices for 900+ AI models across 17 providers, as MCP tools.
indextkn polls every provider's public price page on a five-minute cycle and normalises what it finds into one catalogue: who sells a model, what each charges per million tokens, what the context window and cache rates actually are, and how confident the reading is. This server puts that catalogue in front of an agent, so a question about cost is answered from today's published prices instead of from a model's memory.
Endpoint: https://mcp.indextkn.com/mcp (Streamable HTTP)
Auth: your indextkn API key as a bearer token. Free at https://indextkn.com,
with 3,000 requests per month per account.
Connect
Claude Code
claude mcp add --transport http indextkn https://mcp.indextkn.com/mcp \
--header "Authorization: Bearer itk_live_your_key"Claude Desktop, Cursor, and other hosts that take JSON
{
"mcpServers": {
"indextkn": {
"type": "http",
"url": "https://mcp.indextkn.com/mcp",
"headers": { "Authorization": "Bearer itk_live_your_key" }
}
}
}Locally, over stdio
For a host that spawns servers as child processes, run this repo directly. The key comes from the environment rather than a header, which is what the MCP authorization spec prescribes for stdio:
{
"mcpServers": {
"indextkn": {
"command": "bun",
"args": ["run", "/path/to/indextkn-mcp/src/stdio.ts"],
"env": { "INDEXTKN_API_KEY": "itk_live_your_key" }
}
}
}Related MCP server: TokenLens MCP Server
Tools
Every tool is read-only and idempotent, and is annotated as such, so a host can auto-approve the whole set.
Tool | What it answers |
| Which models exist, who sells each, and the exact ids every other tool takes. Supports |
| One model in full, with every provider's offer: prices, context window, max output, accuracy status, source URL. |
| The current price of every matching offer. Needs at least one of |
| The price spread for one model across providers: cheapest, dearest, median, and the ratio between them. |
| What a token workload costs on every provider that sells the model, cheapest first. Step-up price tiers are applied automatically. |
| The seller catalogue with live counts and what kind of seller each is. |
| The lab catalogue, meaning who built the models. |
Two prompts ship with it: cheapest-provider (compare and recommend) and estimate-monthly-cost (price a month of usage, then show what caching would change).
What a real answer looks like
compare_providers on openai/gpt-oss-120b:
openai/gpt-oss-120b: gpt-oss-120b | 8 provider(s) | USD per 1M_tokens
input: min $0.03 (openrouter), max $0.15 (azure), median $0.15, spread 5x
output: min $0.17 (openrouter), max $0.6 (azure), median $0.6, spread 3.53x
cheapest input first:
openrouter: in $0.03, out $0.17, cache-read $0.03
deepinfra: in $0.037, out $0.17
vertex: in $0.09, out $0.36
fireworks: in $0.15, out $0.6, cache-read $0.015
groq: in $0.15, out $0.6
...Renderings are plain ASCII. Fields are separated by |, and a value the
provider does not publish reads n/a.
Read the numbers correctly
nullis not0. Anullprice means the provider publishes none.0means free. Never substitute one for the other.Every offer carries a
status.accuratepassed validation.checkingandsuspiciousare provisional, so confirm atsource_url.partialmeans the seller publishes only one price leg, so any total costed from it comes out short.failedmeans an automated check could not confirm the price at all.A
partialresult fromcalculate_costis a lower bound, not a bargain. It means the provider publishes no price for a component you asked about.Model-level
contextis the best any provider offers. The number on an offer is what that seller actually serves, and is often smaller. Size a request against the offer.These are published list prices, collected automatically.
source_urlon every offer is the page it was read from. Confirm anything you are about to spend money on.
How it is built
The server is a stateless facade over the indextkn REST API. It holds no database, no cache and no credentials of its own:
MCP client --Bearer itk_live_...--> mcp.indextkn.com --same key--> api.indextkn.comEach HTTP request builds its own server instance bound to that request's caller, so two concurrent callers can never see each other's data. Responses are deliberately not cached: indextkn meters every request against the caller's own monthly plan, so a shared cache would both under-count usage and serve one user's entitlement to another.
What this server adds on top of the API is paging, a local substring search,
descriptions written for a model rather than for a developer, and error
messages phrased as next steps. An upstream error that names a REST path is
rewritten to name the tool that reaches it, and an exhausted quota tells the
agent to stop rather than to retry.
Built on the official MCP TypeScript SDK
(@modelcontextprotocol/server v2), which serves both the 2026-07-28
protocol revision and 2025-era clients from the same tool definitions.
The security posture, covering the Host and Origin guards, why an API key is the right credential here, and what is deliberately not implemented, is in SECURITY.md.
Develop
bun install
bun test # 45 tests: a real MCP client driving the real handler
bun run typecheck
bun run dev # http://localhost:8080/mcpLocal runs allow a loopback Host and a plaintext INDEXTKN_API_BASE, so you
can point the server at a price API running on your own machine. Both are
refused when NODE_ENV=production. Every setting is documented in
.env.example.
Poke at it with the MCP inspector:
bunx @modelcontextprotocol/inspectorDeploy
Railway, from this repo root. railway.toml and the Dockerfile are the whole
configuration. Point the service's domain at mcp.indextkn.com, and set
MCP_ALLOWED_HOSTS if you also serve a preview domain. There are no secrets to
set.
License
MIT. See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Live LLM API pricing: token prices, comparisons, cheapest-model lookups. No key required.
AI inference pricing for agents: live and historical model prices, provider comparison.
Compare up-to-date pricing for 40+ LLMs (incl. Chinese) & estimate cost from tokens. EN/zh.
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI agents to compare AI model pricing plans, run cost scenarios, find break-even points, and get plan recommendations using TokenLens data.4
- AlicenseNot gradedqualityCmaintenanceProvides live LLM pricing data from OpenRouter, enabling agents to search models, get pricing, estimate costs, and compare models.6MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to calculate, compare, and recommend AI API costs from multiple providers, with support for currency conversion and platform fee analysis.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/indextkn/indextkn-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server