NewAgent Observability is live.
Back to directory
Helicone logo

Helicone MCP server: two tools, 4,919 tokens

Helicone answers questions about LLM spend through two tools. Those two cost more context than OpenSearch's nine tools.

Connector
Official, local
Coverage
LLM request and session logs
Tools
2, both on by default
Biggest risk for an agent
Two tools cost about 4,919 tokens

Last verified 1 September 2026 · from Helicone's documentation, the npm registry and the server's own tools/list response

This page is one of 90 in a directory of monitoring and developer tools. Each page checks what an AI coding agent can get out of the tool through its MCP server, the connector that lets the agent query the tool directly.

Summary

Helicone publishes an official MCP server with exactly two tools: query_requests and query_sessions. Both read your logged LLM traffic.

Those two tools cost about 4,919 tokens to register, which is more than OpenSearch's nine and roughly what Arize Phoenix's twenty-seven cost. The cause is the filter schema rather than description length.

The package has not been released since 4 November 2025 and remains at 0.1.6, so treat it as a working but lightly maintained surface.

What is the Helicone MCP server?

It is Helicone's server for the Model Context Protocol. Helicone is a proxy and observability layer for LLM calls, so what the agent gains is a query interface over your own model traffic: which requests ran, what they cost, how long they took.

The surface is deliberately narrow. query_requests reads individual LLM calls and query_sessions reads grouped ones. There is no writing, no configuration, and no alerting.

The narrow surface is deliberate. It is also why the context cost is surprising. Both tools accept a rich filter object, and that filter is expressed in full in the tool's input schema.

Helicone covers AI cost management broadly, reaches part of the way into agent observability, and reaches nothing in code review, release or production observability.

Part of the workWhat Helicone has hereCan an agent reach it
Code, tests & reviewNoneNo code-review product
CI & releaseNoneNo CI product, and no build or test pipeline
Production observabilityNoneNo infrastructure telemetry. Helicone sees model calls, not machines
Agent observability & evalsRequest and session logsPartial. Sessions group related calls, which is a trace of a sort. There are no evaluations, scores or prompt versions here
AI cost managementPer-request cost, tokens and latencyYes. Core strength, and the product's whole purpose

For an agent, that means Helicone answers what your LLM calls cost and how they behaved, and nothing else. An agent connected here can tell you which model spent the most over a chosen window and which sessions ran slowest. It cannot tell you whether the output was any good, so this connector sits beside an evaluation tool rather than replacing one.

What can an AI agent do with Helicone?

TaskToolsWorksWatch out for
Find what yesterday's LLM spend went onquery_requestsYesFilter by time explicitly. There is no implied default window.
Trace a slow multi-call flowquery_sessionsYesSessions exist only if your integration sets a session identifier
Compare cost across modelsquery_requestsYesOne tool, one filter. A cost comparison is one call per model.
Read the prompt and response bodiesquery_requestsYesincludeBodies returns full prompt and response text, which is both sensitive and large
Score or evaluate output qualityLangfuse, LangSmith or Arize PhoenixNo, separate serverNo evaluators or scores. Helicone records calls; judging them is another tool's job
Investigate an infrastructure incidentGrafana or DatadogNo, separate serverNo host, container or database telemetry of any kind

2 tools registered, both on by default

Requests1
query_requests
Sessions1
query_sessions

Both read. The size of this connector is in the schemas rather than the tool count: they average 10,074 characters, the largest measured in this guide. Counted on 21 August 2026.

What connecting costs before the first question

A context window is the amount of text a model can hold at once, and connecting uses some of it before the agent asks anything. Every tool the server registers sends its name, description and input schema to the model when the session starts. The tool list is charged whether or not a single tool is called.

Two tools here cost more than OpenSearch's nine. The descriptions are short, at 110 characters each. The input schemas average 10,074 characters per tool, the largest measured anywhere in this guide.

The reason is the filter. query_requests accepts a nested filter object that enumerates every filterable column against every operator. Every column gets one property for equals and one for not-equals. The pattern repeats across the whole request model. It is expressive, and the model pays for the whole grammar at connection whether or not it filters on anything.

Tool setToolsTokens (GPT-5.6, GPT-5.5)Tokens (GPT-4, GPT-3.5)Tokens (Claude Haiku 4.5 to Opus 5)Share of a 200,000-token window
Every tool, as registered24,919 to 6,8024,743 to 6,7917,157 to 9,2502.4% to 4.6%

Encodings: GPT-5.6, GPT-5.5 o200k_base; GPT-4, GPT-3.5 cl100k_base; Claude Haiku 4.5 to Opus 5 count_tokens. Counted 21 August 2026 from tools/list on the published @helicone/mcp package. It was run locally with a placeholder key.

Registration is static, so no Helicone account was involved. Figures cover name, description and input schema.

The two models in column one share the o200k_base encoding, so they get one count. The spread is formatting, about 38%. Reasoning tokens are output, spent per request. The tool list is input, charged once at connection.

The Claude figures are measured rather than encoded. Anthropic publishes no local tokenizer. So the definitions were sent to the API's count_tokens endpoint, and a no-tools baseline was subtracted. The range covers two tokenizer generations rather than two serializations. Haiku 4.5 and Opus 4.6 sit at the low end. Opus 5 and Sonnet 5 sit at the high end. The gap between them is about a third.

Can Helicone watch your own AI agents?

Helicone records model traffic, so the question is how much of that record two tools can reach. Counted from the server's own tools/list response on 21 August 2026.

SignalCoveredNotes
Trace and session trackingPartialquery_sessions groups requests into sessions. There is no span or trace tree
Eval scores on recorded trafficNoNo evaluation tool exists on this server
Prompt version trackingNoNo prompt tool exists on this server
Offline experimentsNoNo dataset or experiment tool exists on this server
Token and cost trackingPartialWhatever the request record carries comes back through query_requests. There is no dedicated cost or token tool

Helicone MCP server limits: where answers come back incomplete

The limits below follow from a two-tool design rather than from anything failing.

The agent says: This connector is small, so it must be cheap. Its two tools cost about 4,919 tokens.

Tool count is a poor proxy for context cost. Helicone's schemas average 10,074 characters per tool, because the filter grammar is written out in full: every column against every operator, nested inside the schema an agent receives at connection.

For comparison, OpenSearch registers nine tools for about 1,388 tokens, and Playwright twenty-four for about 3,402.

Guard: Judge a connector by measuring it rather than by counting its tools. Connect Helicone when you will use it, not as a default.

The agent says: Here are the requests, with their contents. It pulled full prompts and responses into the conversation.

query_requests accepts includeBodies. With it set, the response carries the prompt and completion text of every matching call, which is your users' input and your model's output.

That is both a privacy surface and a context cost: a handful of long completions can outweigh the entire tool list.

Guard: Leave includeBodies off by default, and turn it on only for a narrow filter you have already scoped.

The agent says: There are no sessions for that period. Sessions were never set.

query_sessions reads groupings that exist only when your integration sends a session identifier with each call. An application that never sets one produces a real, empty answer, and nothing in the response explains why it is empty.

Guard: Confirm your Helicone integration sets session identifiers before treating an empty result as evidence.

How to configure Helicone MCP for agents

  1. 1

    Connect it for a purpose, not permanently

    Two tools cost about 4,919 tokens, so the cost is disproportionate to the surface unless LLM spend is the question of the session.

  2. 2

    Leave includeBodies off by default

    It returns full prompt and completion text, which is both your users' data and a large context cost.

  3. 3

    Expect to filter by time explicitly

    The filter grammar is expressive and has no implied default window, so an unbounded query can be expensive on both ends.

  4. 4

    Treat it as lightly maintained

    Version 0.1.6 was published on 4 November 2025 with nothing since.

Paste this into your agent’s instructions

Helicone answers exactly what the filter asked for, so the risk is an agent reporting a total from a narrow filter. The block makes the filter visible in the answer.

Terminal
When you answer using Helicone MCP tools, state:
- The exact filter and time range you queried.
- How many records you retrieved against the limit you set.
  A full page is not evidence there are no more.
- Whether you requested bodies. Prompt and completion text is
  sensitive and should not be repeated without reason.
Never state that data does not exist. State that none was
returned under the constraints above.
Write your answer in ASD-STE100 Simplified Technical
English. Use short sentences with one idea in each.

Do you need the MCP server at all?

Often, yes. Helicone's REST API covers the same request and session queries with the same API key, and a coding agent can call it directly.

The connector's advantage is that an agent can discover the filter grammar from the schema rather than being told it. The schema that makes discovery possible is the schema that costs 10,074 characters. The benefit and the cost have one cause.

With two tools and a large schema, this is a connector to attach when LLM spend is the question of the session rather than one to leave permanently connected.

Connect it for a cost investigation. Call the REST API directly when the query is fixed and you want the context back.

Helicone MCP server setup

The package runs with npx and needs a Helicone API key in HELICONE_API_KEY. There is nothing else to configure.

Claude Code

Two tools, one key, no other configuration.

Terminal
claude mcp add-json "helicone" '{"command":"npx",
  "args":["-y","@helicone/mcp"],
  "env":{"HELICONE_API_KEY":"<your-key>"}}'

Cursor

In ~/.cursor/mcp.json for all projects, or .cursor/mcp.json in one.

Terminal
{"mcpServers":{"helicone":{"command":"npx",
  "args":["-y","@helicone/mcp"],
  "env":{"HELICONE_API_KEY":"<your-key>"}}}}

Codex CLI

Codex reads TOML, so the JSON blocks above will not transfer.

Terminal
[mcp_servers.helicone]
command = "npx"
args = ["-y", "@helicone/mcp"]
env = { HELICONE_API_KEY = "<your-key>" }

Every other client

Each block below is the configuration for one client, with the file path and the key that client expects.

Claude Desktop

macOS ~/Library/Application Support/Claude/claude_desktop_config.json. Windows %APPDATA%\Claude\claude_desktop_config.json. There is no CLI. Edit through Settings, Developer, Edit Config.

Quit and restart fully for changes to load. Paths in args must be absolute. Logs at ~/Library/Logs/Claude/mcp.log.

Terminal
{"mcpServers":{"helicone":{"command":"npx",
  "args":["-y","@helicone/mcp"],
  "env":{"HELICONE_API_KEY":"<your-key>"}}}}
Gemini CLI

~/.gemini/settings.json globally, or .gemini/settings.json per project. Key mcpServers. CLI: gemini mcp add.

Terminal
{"mcpServers":{"helicone":{"command":"npx",
  "args":["-y","@helicone/mcp"],
  "env":{"HELICONE_API_KEY":"<your-key>"}}}}
VS Code Copilot

.vscode/mcp.json per workspace, or your user profile. CLI: code --add-mcp.

Terminal
{"servers":{"helicone":{"command":"npx",
  "args":["-y","@helicone/mcp"],
  "env":{"HELICONE_API_KEY":"<your-key>"}}}}

The key is `servers`, not `mcpServers`. VS Code is the only client that uses that name, and copying a config from anywhere else fails silently.

Windsurf

~/.codeium/windsurf/mcp_config.json, which is the path Windsurf documents. Key mcpServers, the same JSON shape as Cursor, carrying the same API key.

Zed

~/.config/zed/settings.json, carrying the same API key as the blocks above.

The key is `context_servers`. Zed does not call them MCP servers in config, so searching its settings for mcp finds nothing.

Google Antigravity

~/.gemini/config/mcp_config.json globally, or .agents/mcp_config.json per project. Key mcpServers. There is no CLI. Use the /mcp overlay in the editor. Supports stdio, streamable HTTP, SSE and websocket.

Terminal
{"mcpServers":{"helicone":{"command":"npx",
  "args":["-y","@helicone/mcp"],
  "env":{"HELICONE_API_KEY":"<your-key>"}}}}
Amp (Sourcegraph)

~/.config/amp/settings.json or .amp/settings.json, carrying the same API key. The amp mcp CLI covers approve, doctor and oauth.

The key is `amp.mcpServers`, namespaced. A bare mcpServers block is ignored.

Cline

~/.cline/mcp.json per the docs. The source also reads ~/.cline/data/settings/cline_mcp_settings.json. Key mcpServers, standard JSON shape, carrying the same API key. Supports stdio, streamable HTTP and SSE.

Goose (Block)

~/.config/goose/config.yaml, carrying the same API key.

YAML, and servers are called `extensions`. Goose does not use the MCP vocabulary in config at all. Add one interactively with goose configure, or per session with goose session --with-extension.

Kiro (AWS)

.kiro/settings/mcp.json per workspace, or ~/.kiro/settings/mcp.json globally. Key mcpServers, standard JSON shape, carrying the same API key.

Warp

~/.warp/.mcp.json or .warp/.mcp.json. Key mcpServers, standard shape, carrying the same API key. Also addable through the /agent-add-mcp skill.

JetBrains Junie

.junie/mcp/mcp.json per project, or ~/.junie/mcp/mcp.json. Key mcpServers, carrying the same API key. Use /mcp in the CLI to manage.

Roo Code

.roo/mcp.json per project. The global file is mcp_settings.json, opened from the Roo Code MCP settings view with Edit Global MCP. Key mcpServers, carrying the same API key.

Continue

.continue/mcpServers/*.yaml, one file per server, carrying the same API key.

YAML, and `mcpServers` is a list, not an object. Every JSON client keys servers by name. Continue takes an array, so a converted config will not parse.

Trae

.trae/mcp.json per project, or paste into the UI under Raw Config (JSON). Key mcpServers, standard shape, carrying the same API key.

Devin

Devin has no config file to edit. Servers are added through a web form in the settings UI, and Devin's documentation states you do not need to write or paste JSON. The block below is the shape those fields describe, shown for reference. Either route uses the same API key.

Read-only access, permissions and security

  • Both tools read

    There is nothing here that writes, which makes this one of the few connectors that is read-only by construction.

  • includeBodies exposes prompt and completion text

    That is your users' input and your model's output, pulled into the agent's conversation and into whatever logs that conversation touches.

  • The key carries your Helicone access

    It reaches the traffic your organization proxies, so scope it as you would any observability credential.

  • Lightly maintained

    No release since 4 November 2025, so plan on the current behavior rather than on fixes.

Troubleshooting

No sessions found
query_sessions reads groupings that exist only when your integration sets a session identifier. Without one there is nothing to group.
Two tools cost more context than expected
It is. The input schemas average 10,074 characters because the filter grammar is expanded inline. Connect it for a cost investigation rather than leaving it attached.
401 on connect
HELICONE_API_KEY is missing or belongs to another organization.
The agent pulled full prompts into the chat
includeBodies was set on query_requests. Leave it off unless the filter is already narrow and you need the text.

Helicone MCP server: Reference

ItemValue
Statusnpm 0.1.6 published 4 November 2025 · no release since
Package@helicone/mcp on npm
AuthHELICONE_API_KEY
Tools2, both on by default, both read-only
Schema size10,074 characters per tool on average, the largest measured here
Read-onlyBy construction. Neither tool writes

What engineers report

Helicone's MCP server has a small public footprint, so this section reports counts rather than quotes.

What was checkedWhat it shows
npm package@helicone/mcp 0.1.6
Last published4 November 2025
Tools2, both on by default
Average schema size10,074 characters per tool, the largest measured here
Average description length110 characters per tool

Package facts from the npm registry, retrieved 21 August 2026. Tool counts, description lengths and schema sizes come from the server's own tools/list response.

Should you connect an agent to Helicone?

Yes, though it is no longer actively maintained. Best for short, deliberate cost investigations rather than a permanently connected server.

Strongest fit
Teams already proxying LLM traffic through Helicone who want an agent answering cost and latency questions in the editor.
Main advantage
A precise filter grammar over your own model traffic, discoverable by the agent without documentation.
Main weakness
Two tools cost about 4,919 tokens, and the surface reads only requests and sessions.
Operational risk
includeBodies pulls full prompt and response text into the conversation.

From Oodle

One platform for agent traces and infrastructure

Agent traces usually sit in a different product from the rest of your telemetry, so when a slow database makes an agent slow the symptom is in one tool and the cause is in another. Oodle keeps both in one query surface, from $10 per million spans.

See agent observability

Frequently asked questions

How many tools does the Helicone MCP server have?

Two: query_requests and query_sessions. Counted from the server's own tools/list response on the published npm package, 21 August 2026.

Why do two tools cost so much context?

The input schemas average 10,074 characters per tool, the largest in this guide. The filter grammar enumerates every column against every operator inline, and the model receives all of it at connection.

Is the server maintained?

Lightly. Version 0.1.6 was published on 4 November 2025 with no release since, and the package is still at 0.1.x.

Can an agent see my prompts and responses?

Yes, if includeBodies is set on query_requests. That returns full prompt and completion text, which is both a privacy surface and a large context cost.

Does it evaluate output quality?

No. Helicone records calls, their cost and their latency. Scoring output is an evaluation tool's job.

Changelog

  • 4 November 2025. @helicone/mcp 0.1.6 published to npm. No release has followed, and the package is still at 0.1.x.

Sources

Every number on this page traces to one of these

  1. Package version and publication date from the npm registry, retrieved 21 August 2026
  2. Tool counts, description lengths and schema sizes from the server's own tools/list response
  3. Setup and authentication from Helicone's integrations documentation

Helicone’s own MCP documentation

Also agent observability and evaluation:

For infrastructure telemetry: