NewAgent Observability is live.
Back to directory
LangSmith logo

LangSmith MCP server: 15 tools, now archived

LangSmith exposes data about your own agents, and its repository is archived, so the package will not change.

Connector
Official, repository archived
Coverage
Traces, prompts, datasets, experiments, billing
Tools
15, all on by default
Biggest risk for an agent
Archived repo, package still at 0.1.1

Last verified 1 September 2026 · from LangChain's repository, PyPI 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

LangSmith publishes an official MCP server with 15 tools covering traces, prompts, datasets, experiments and billing usage.

Its repository is archived, which makes it read-only on GitHub: no issues, no pull requests, no further commits. The package remains installable at 0.1.1 and works.

The archive is recent. A census of this vendor on 13 August 2026 recorded the repository as open with commits through that week, and it was archived within days of that.

What is the LangSmith MCP server?

It is LangChain's server for the Model Context Protocol. LangSmith records what your own LLM applications did, so the agent gains tools for reading those runs back.

The surface splits into five areas: prompts, traces and runs, datasets and examples, experiments, and billing usage. That last one is unusual among agent-observability connectors, which mostly stop at telemetry.

It runs locally and authenticates with a LangSmith API key. There is no hosted endpoint here; the hosted product is LangSmith itself, and this is a client for it.

LangSmith covers agent observability broadly, reaches part of the way into release through prompt management and into cost through billing usage, and reaches nothing in code review or production observability.

Part of the workWhat LangSmith has hereCan an agent reach it
Code, tests & reviewNoneNo code-review product
CI & releasePrompt managementPartial. There is no CI product. Prompt management is the nearest release surface, and push_prompt returns instructions rather than pushing a version
Production observabilityNoneNo infrastructure telemetry. LangSmith sees your application's LLM calls, not its hosts
Agent observability & evalsRuns, threads, projects, datasets, experimentsYes. Core strength, and the product's whole purpose
AI cost managementBilling usagePartial. get_billing_usage reports LangSmith consumption, which is trace volume rather than model spend

For an agent, LangSmith answers questions about how your LLM application behaved and what you fed it, and nothing about the machines underneath. An agent connected here can pull the runs behind a bad answer and the dataset a prompt was tested against. It cannot tell you the database was slow, so this connector pairs with an infrastructure one.

What can an AI agent do with LangSmith?

TaskToolsWorksWatch out for
Read the runs behind a bad answerfetch_runs get_thread_historyYesThreads need a thread identifier set by your application
Find which prompt version is livelist_prompts get_prompt_by_nameYesPrompts are LangSmith's own store, not your repository
Ship a prompt changepush_promptNopush_prompt returns SDK examples for pushing a version. It does not push one
Build a dataset from real trafficcreate_dataset list_examples update_examplesYesDataset writes are registered alongside the reads, with no flag to drop them
Run and read an experimentrun_experiment list_experimentsYesrun_experiment returns SDK documentation rather than running anything, so you still have to run the experiment yourself
Check what LangSmith is costingget_billing_usageYesLangSmith consumption, not the token spend of your models
Investigate a production incidentNoNo metrics, logs or traces from your infrastructure

15 tools registered, all on by default

Prompts2
list_promptsget_prompt_by_name
Prompts, documentation-only1
push_prompt
Traces and runs3
fetch_runsget_thread_historylist_projects
Datasets4
list_datasetsread_datasetlist_examplesread_example
Datasets, documentation-only2
create_datasetupdate_examples
Experiments1
list_experiments
Experiments, documentation-only1
run_experiment
Billing1
get_billing_usage

Counted from the server's own tools/list response on 21 August 2026, which agrees exactly with the README's table. There is no read-only mode, so the write groups are gated only by your client.

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.

LangSmith is verbose for its size: 15 tools cost about 5,458 tokens. Arize Phoenix registers 27 tools and costs less. LangSmith's tool descriptions average 1,120 characters. 1,120 characters is long for a tool description.

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 registered155,458 to 6,6655,429 to 6,6907,498 to 9,5292.7% to 4.8%

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 langsmith-mcp-server 0.1.1. It was run locally with a placeholder key.

Registration is static, so no LangSmith 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 22%. 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 quarter.

Can LangSmith watch your own AI agents?

LangSmith is built for tracing agents, so this table asks which of those signals the connector exposes. Counted from the server's own tools/list response on 21 August 2026.

SignalCoveredNotes
Trace and run trackingYesfetch_runs reaches runs and get_thread_history reaches conversation threads
Eval scores on recorded trafficPartialrun_experiment starts an evaluation. No tool reads scores back on their own
Prompt version trackingPartiallist_prompts, get_prompt_by_name and push_prompt cover prompts. There is no version or tag tool
Offline experimentsYescreate_dataset, read_dataset, list_experiments and run_experiment
Token and cost trackingPartialget_billing_usage is account-level usage rather than per session or per trace

LangSmith MCP server limits: where answers come back incomplete

The first limit below is about the repository rather than the connector, which still works exactly as documented.

The agent says: LangSmith is connected. It is, and the repository is archived.

An archived GitHub repository is read-only: no new commits, no issues, no pull requests. The published package is unaffected and still installs at 0.1.1, so nothing in the agent's behavior changes.

The timing is worth stating precisely. Research on 13 August 2026 recorded this repository as open, with commits through that week. It was archived within the following days, and the package has not moved past 0.1.1.

Guard: Treat it as frozen rather than broken. Pin the version, and do not plan work that depends on a fix landing.

The agent says: That conversation has no history. No thread identifier was ever set.

get_thread_history reads runs grouped by a thread identifier your application supplies. An application that never sets one produces a real, empty answer, and the response does not distinguish that from a conversation with no turns.

Guard: Confirm your LangSmith integration sets thread identifiers before treating an empty history as evidence.

The agent says: I updated the prompt. It returned SDK examples and changed nothing.

LangSmith ships no write tool and therefore needs no read-only mode. push_prompt, create_dataset and update_examples are documentation-only: each returns SDK examples and changes nothing.

Guard: Allowlist read tools only. In Claude Code, run /permissions and leave the write tools unapproved.

How to configure LangSmith MCP for agents

  1. 1

    Pin the version

    The repository is archived and the package sits at 0.1.1, so what it exposes is what it will expose. Pinning avoids a surprise if the package is ever yanked.

  2. 2

    No allowlist is needed for safety

    Every tool reads. The four documentation-only tools are worth disabling for context rather than for risk: they return long markdown pages an agent rarely needs.

  3. 3

    Set the workspace

    LANGSMITH_WORKSPACE_ID scopes what the agent sees; without it a multi-workspace account can return results from the wrong place.

  4. 4

    Point at the right host

    LANGSMITH_ENDPOINT is needed for self-hosted or non-default LangSmith instances.

Paste this into your agent’s instructions

LangSmith's quiet failure is scope: a run search in the wrong project, or a thread with no identifier, both return nothing. The block makes the agent name what it searched.

Terminal
When you answer using LangSmith MCP tools, state:
- The project and workspace you searched.
- The time range, and how many runs you actually retrieved.
- Whether a thread identifier existed. get_thread_history
  returns nothing when the application never set one, which
  is not the same as a conversation with no turns.
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?

Yes, and it is worth considering given the archive. LangSmith's REST API covers runs, prompts and datasets with the same API key, and is documented independently of this package.

The connector's advantage is tool descriptions detailed enough that an agent picks the right call unprompted, which is the same verbosity that makes it cost 5,458 tokens.

For a frozen package, the API is the surface that will keep changing with the product. The connector will not.

Connect the server for exploratory work on recent runs. Use the REST API where you need something the frozen package does not expose.

LangSmith MCP server setup

The package runs with uvx or pip and needs a LangSmith API key in LANGSMITH_API_KEY.

Add LANGSMITH_WORKSPACE_ID for a multi-workspace account, and LANGSMITH_ENDPOINT for self-hosted instances.

Claude Code

uvx fetches and runs the package without installing it globally.

Terminal
claude mcp add-json "langsmith" '{"command":"uvx",
  "args":["langsmith-mcp-server"],
  "env":{"LANGSMITH_API_KEY":"<your-key>"}}'

Cursor

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

Terminal
{"mcpServers":{"langsmith":{"command":"uvx",
  "args":["langsmith-mcp-server"],
  "env":{"LANGSMITH_API_KEY":"<your-key>"}}}}

Codex CLI

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

Terminal
[mcp_servers.langsmith]
command = "uvx"
args = ["langsmith-mcp-server"]
env = { LANGSMITH_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":{"langsmith":{"command":"uvx",
  "args":["langsmith-mcp-server"],
  "env":{"LANGSMITH_API_KEY":"<your-key>"}}}}
Gemini CLI

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

Terminal
{"mcpServers":{"langsmith":{"command":"uvx",
  "args":["langsmith-mcp-server"],
  "env":{"LANGSMITH_API_KEY":"<your-key>"}}}}
VS Code Copilot

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

Terminal
{"servers":{"langsmith":{"command":"uvx",
  "args":["langsmith-mcp-server"],
  "env":{"LANGSMITH_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":{"langsmith":{"command":"uvx",
  "args":["langsmith-mcp-server"],
  "env":{"LANGSMITH_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.

Self-hosted LangSmith

Point at your own instance with LANGSMITH_ENDPOINT alongside the key.

Terminal
LANGSMITH_API_KEY=<your-key> \
LANGSMITH_ENDPOINT=https://langsmith.example.com \
uvx langsmith-mcp-server

Read-only access, permissions and security

  • No tool writes

    Four of the fifteen are named like writes, but push_prompt, create_dataset, update_examples and run_experiment are labeled Documentation-only in the README and implemented as zero-argument functions that return a markdown page of SDK examples. They take no parameters and reach nothing.

  • The naming is the hazard, not the behavior

    An operator reading the tool list reasonably assumes push_prompt pushes a prompt. It returns instructions for pushing one. Budget for the confusion, not for the write.

  • Nothing here spends money

    run_experiment returns documentation, so an agent calling it repeatedly costs context and nothing else.

  • The archive does not remove the key's reach

    An archived repository is still an installed package holding an API key with your workspace's permissions.

Troubleshooting

No runs found in a project you know has traffic
Check the project name and the workspace. LANGSMITH_WORKSPACE_ID scopes results, and a query against the wrong workspace returns an empty result with no explanation.
A conversation has no thread history
get_thread_history needs a thread identifier that your application sets. Without one there is nothing to group, and the response looks the same as an empty conversation.
401 on connect
LANGSMITH_API_KEY is missing or belongs to another workspace. For a self-hosted instance, set LANGSMITH_ENDPOINT as well.
You want a fix that is not in 0.1.1
The repository is archived, so no further releases are expected. The LangSmith REST API is the surface that will keep changing with the product.

LangSmith MCP server: Reference

ItemValue
StatusRepository archived · PyPI 0.1.1 across 11 releases
Adoption131 stars · MIT license
Packagelangsmith-mcp-server on PyPI, run with uvx or pip
AuthLANGSMITH_API_KEY, with LANGSMITH_WORKSPACE_ID for multi-workspace accounts
Tools15, all on by default. The 4 named like writes return documentation
Read-onlyNot needed. Nothing writes, so there is nothing to gate

What engineers report

LangSmith is widely used for agent observability. The connector's repository carries 131 stars and 11 releases on PyPI, and it was archived on 14 August 2026. The signals below are repository state and package cadence rather than opinions.

What was checkedWhat it shows
Stars131
Repository stateArchived, therefore read-only
PyPI latest0.1.1, across 11 releases
LicenseMIT
Tools15, matching the README exactly

“exceeds maximum allowed tokens (25000). Please use pagination, filtering, or limit parameters to reduce the response size.”

shreyas-shinde, GitHub issue, 18 September 2025 · The error a large trace produces against a client's tool-response ceiling.

Repository facts from the GitHub API and package facts from PyPI, both retrieved 21 August 2026. Tool counts come from the server's own tools/list response, which agrees with the README's table.

Should you connect an agent to LangSmith?

Yes, though it is no longer actively maintained. Best for LangSmith teams who pin the version, allowlist read tools, and keep the REST API in reserve.

Strongest fit
Teams already on LangSmith who want an agent reading runs, prompts and experiments without leaving the editor.
Main advantage
Reach across the whole LangSmith model, including billing usage, which most agent-observability connectors omit.
Main weakness
The repository is archived and the package sits at 0.1.1, so what it exposes is what it will continue to expose.
Operational risk
There are no writes to gate. The four tools that read as writes return documentation, so the connector is read-only in practice even though nothing advertises it as such.

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 LangSmith MCP server have?

15, all enabled on connection, covering prompts, traces, datasets, experiments and billing usage. Counted from the server's own tools/list response, 21 August 2026.

Is the LangSmith MCP server abandoned?

The repository is archived, which makes it read-only on GitHub. The package still installs at 0.1.1 and works. Research on 13 August 2026 recorded the repository as open, so the archive is recent.

Does the archive affect the LangSmith product?

No. The archive is of this connector's repository. LangSmith itself is a hosted product with its own REST API.

Can an agent change my prompts?

No. push_prompt, create_dataset and update_examples are labeled Documentation-only in the README and defined as zero-argument functions returning markdown, so they cannot change anything. There is no read-only mode because there is nothing to switch off.

Does get_billing_usage show my model spend?

No. It reports LangSmith consumption, which is trace volume. Model token spend is a different measurement.

Changelog

  • 14 August 2026. Repository archived. It accepts no further changes.
  • 25 February 2026. langchain-ai/langsmith-mcp-server langsmith-mcp-server==0.1.1 released, the most recent version.
  • 10 June 2025. First release, langsmith-mcp-server==0.0.1. Three releases shipped that day, up to 0.0.3.
  • 28 April 2025. langchain-ai/langsmith-mcp-server created on GitHub.

Sources

Every number on this page traces to one of these

  1. Repository facts from the GitHub API · langchain-ai/langsmith-mcp-server, retrieved 21 August 2026
  2. Package version and release count from PyPI, retrieved 21 August 2026
  3. Tool counts from the server's own tools/list response, cross-checked against the README's table
  4. Prior repository state from the vendor MCP census of 13 August 2026

LangSmith’s own MCP documentation

Also agent observability and evaluation:

For LLM cost specifically: