This listing appears offline
Our automated checks couldnโt reach the source repository, so weโve removed it from search, browse, and the API โ this page stays reachable at this direct link only. If this is your project, claim it to fix the link and restore visibility.
Claim this listingSelf-hostable LLM observability server logging requests, costs, agent traces, anomalies, and user analytics via a read-only API key.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Spanlens.
Open-source LLM observability you can turn on in one line. Point your OpenAI, Anthropic, or Gemini client at Spanlens and every call is logged with cost, tokens, latency, and full agent traces. No SDK rewrite, no platform migration. Eleven providers supported, plus native Vercel AI SDK, LangChain, and LlamaIndex integrations, and you can query it all from Cursor or Claude Desktop through the bundled MCP server. Self-hostable in one Docker command. MIT.
Why it exists. I shipped an LLM app on OpenAI and Gemini and hit a wall. The provider dashboards showed total spend and nothing else. I could not tell which feature burned the most tokens, which model was cheapest per task, or what each endpoint actually cost. Spanlens is the layer I wanted. It turns on in one line, stays off the critical path, and is open source so you can self-host the exact code we run.
โญ If Spanlens is useful to you, please star the repo. It takes a second, and it is the single biggest thing that helps other developers find the project.
Hosted: spanlens.io ยท npm:
@spanlens/sdkยท PyPI:spanlensยท CLI:@spanlens/cliยท MCP:@spanlens/mcp-serverยท Status: status.spanlens.io ยท Changelog: spanlens.io/changelog

Live demo (no signup): spanlens.io/demo/requests


| Spanlens | Langfuse Pro | Helicone | |
|---|---|---|---|
| Open source | โ MIT | โ MIT | โ MIT |
| Self-hostable | โ Docker one-liner | โ | โ |
| Free tier | 50K req/mo | 50K events/mo | 10K req/mo |
| Team plan (1M req/mo) | $149/mo | $271/mo | ~$200/mo |
| Agent tracing | โ | โ | โ ๏ธ limited |
| LLM-as-judge evals | โ | โ | โ |
| PII + injection scan | โ | โ | โ |
| Model recommendations | โ | โ | โ |
| Prompt A/B experiments | โ | โ | โ |

Predictable bills, no quota cliff. Free hits a hard 429 at 50K requests so a runaway loop in dev can't cost you money. Paid plans use a soft limit with authorized overage (Pro: +$8 / 100K, Team: +$5 / 100K) up to a hard cap you control, so a traffic spike charges you fairly instead of dropping requests.
Seats: Free 1 ยท Pro 3 ยท Team 10 ยท Enterprise unlimited. Unlimited projects on every paid tier.
โญ Like where this is going? A star helps more developers find a lightweight, open alternative in a space full of heavy, acquired tools.
The wizard:
@spanlens/sdk with your package manager (npm / pnpm / yarn / bun)SPANLENS_API_KEY to .env.localnew OpenAI({ apiKey, baseURL }) into createOpenAI()Paste your Spanlens API key once, confirm two prompts, done. Your LLM calls are now flowing through the Spanlens proxy and visible in www.spanlens.io/requests.
For agent tracing in Python (multi-step, async, tool calls) see the Python SDK README.
Already using an orchestration framework? Plug Spanlens in as a callback. No code rewrites.
Vercel AI SDK (Next.js / edge friendly)
LangChain JS / LangGraph
LlamaIndex TS
Python: LangChain: from spanlens.integrations.langchain import SpanlensCallbackHandler. Same BaseCallbackHandler contract, works with chains, LCEL, and LangGraph.
More integrations: AWS Bedrock, CrewAI, Flowise, Instructor, LlamaIndex, OpenAI Assistants, MCP server. Full setup walkthroughs at spanlens.io/docs/integrations.
Ollama (local LLMs): Ollama runs on your machine, so it does not go through the hosted proxy. Get a ready client with createOllama() and wrap each call with observeOllama() so the span is logged and tagged as Ollama.

Every request logged with model, provider, latency, tokens, cost, and full prompt + response body. Filter, search, export. Streaming responses reconstructed automatically.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/spanlens-spanlens)<a href="https://allmcps.com/mcp/spanlens-spanlens"><img src="https://allmcps.com/api/badge/spanlens-spanlens?style=directory" alt="Spanlens on AllMCPs" /></a>