主题
LangSmith MCP 服务器
使用 Model Context Protocol (MCP) 服务器,让语言模型从 LangSmith 获取对话历史、提示、运行、数据集、实验和账单。
WARNING
已弃用——请改用 LangSmith Remote MCP。
LangSmith 现在在 LangSmith Cloud 以及 自托管 LangSmith v0.15 或更高版本上托管了一个经 OAuth 认证的远程 MCP 服务器。Cloud 端点:
| Region | Host / URL |
|---|---|
| GCP US | {`$ / https://${prefix_0 || "api.smith"}.langchain.com${suffix_0 || ""}`} |
| GCP EU | {`$ / https://eu.${prefix_0 || "api.smith"}.langchain.com${suffix_0 || ""}`} |
| GCP APAC | {`$ / https://apac.${prefix_0 || "api.smith"}.langchain.com${suffix_0 || ""}`} |
| AWS US | {`$ / https://aws.${prefix_0 || "api.smith"}.langchain.com${suffix_0 || ""}`} |
BYOC 端点:https://<data_plane_url>/api/mcp,其中 <data_plane_url> 是你的 BYOC 数据平面的 URL。
自托管端点:https://<your-langsmith-host>/api/mcp。
它暴露与本页面所文档化的独立服务器相同的工具集,但通过带动态客户端注册的 OAuth 2.1 进行身份验证——无需 API 密钥、无需单独部署、无需标头配置。
下面文档化的独立服务器仍然是 v0.15 之前版本的自托管部署,以及偏好自行运行服务器的用户所支持的路径。
LangSmith MCP 服务器是一个 Model Context Protocol (MCP) 服务器,与 LangSmith 集成。它让 MCP 兼容的客户端(例如 AI 编码助手)能够读取你 LangSmith 工作区中的对话历史、提示、运行和追踪、数据集、实验以及账单用量。
示例用例
- 对话历史:"Fetch the history of my conversation from thread 'thread-123' in project 'my-chatbot'"
- 提示管理:"Get all public prompts" 或 "Pull the template for the 'legal-case-summarizer' prompt"
- 追踪和运行:"Fetch the latest 10 root runs from project 'alpha'" 或 "Get all runs for a trace by UUID"
- 数据集:"List datasets of type chat" 或 "Read examples from dataset 'customer-support-qa'"
- 实验:"List experiments for dataset 'my-eval-set' with latency and cost metrics"
- 账单:"Get billing usage for September 2025"
TIP
在代码或 Fleet 中使用该服务器
- 要在你的 Python 应用中连接并使用远程 MCP 服务器(包括本服务器),参阅 MCP(Model Context Protocol)。
- 要在 Fleet 中连接并使用本服务器,参阅远程 MCP 服务器。
快速开始(托管)
LangSmith MCP 服务器的一个托管版本可通过 LangSmith Remote MCP 使用,因此你无需自己运行服务器即可连接。
- URL:
https://api.smith.langchain.com/mcp - 身份验证: 交互式 MCP 客户端使用 OAuth 2.1。有关以编程方式使用 API 密钥访问,参阅 LangSmith Remote MCP 身份验证。
示例(Cursor mcp.json):
json
{
"mcpServers": {
"langsmith": {
"url": "https://api.smith.langchain.com/mcp"
}
}
}当你首次连接时,MCP 客户端会打开一个浏览器窗口以完成 OAuth 流程。
可用工具
对话和线程
| 工具 | 描述 |
|---|---|
get_thread_history | 获取一个对话线程的消息历史。使用基于字符的分页:传入 page_number(从 1 开始)并使用返回的 total_pages 请求更多页。可选:max_chars_per_page、preview_chars。 |
提示管理
| 工具 | 描述 |
|---|---|
list_prompts | 列出提示,可按可见性(公开/私密)和数量限制进行可选过滤。 |
get_prompt_by_name | 按精确名称获取单个提示(详情和模板)。 |
push_prompt | 仅文档:如何创建并将提示推送到 LangSmith。 |
追踪和运行
| 工具 | 描述 |
|---|---|
fetch_runs | 从一个或多个项目获取运行(追踪、工具、链等)。支持过滤器(run_type、error、is_root)、FQL(filter、trace_filter、tree_filter)和排序。当设置了 trace_id 时,结果按字符分页;否则返回一批,最多到 limit。始终传入 limit 和 page_number。 |
list_projects | 列出项目,可按名称、数据集和详细程度进行可选过滤。 |
数据集和示例
| 工具 | 描述 |
|---|---|
list_datasets | 列出数据集,可按 ID、类型、名称或元数据过滤。 |
list_examples | 按数据集 ID/名称或示例 ID 列出数据集中的示例;支持 filter、metadata、splits,以及可选的 as_of 版本。 |
read_dataset | 按 ID 或名称读取一个数据集。 |
read_example | 按 ID 读取一个示例,带可选的 as_of 版本。 |
create_dataset | 仅文档:如何创建数据集。 |
update_examples | 仅文档:如何更新数据集示例。 |
实验和评估
| 工具 | 描述 |
|---|---|
list_experiments | 列出数据集的实验(参考)项目。需要 reference_dataset_id 或 reference_dataset_name。返回指标(延迟、成本、反馈)。 |
run_experiment | 仅文档:如何运行实验和评估。 |
账单
| 工具 | 描述 |
|---|---|
get_billing_usage | 获取某个日期范围的组织账单用量(例如追踪计数)。可选的工作区过滤器。 |
分页(基于字符)
返回大负载的工具使用基于字符预算的分页,以便响应保持在一个大小限制之内:
- 使用于:
get_thread_history和fetch_runs(当设置了trace_id时)。 - 参数: 在每次请求上发送
page_number(从 1 开始)。可选:max_chars_per_page(默认 25000,最大 30000)、preview_chars(用 "... (+N chars)" 截断长字符串)。 - 响应: 包含
page_number、total_pages和该页的负载。通过再次以page_number = 2、然后3调用直到total_pages来请求更多。 - 优点: 页是按字符计数构建的,而非按条目计数;无需游标或服务器端状态——只有页码。
安装(在本地运行)
如果你更喜欢在本地运行服务器(或使用自托管的 LangSmith 端点),请安装它并配置你的 MCP 客户端。
前提条件
安装 uv(Python 包安装器):
bashcurl -LsSf https://astral.sh/uv/install.sh | sh安装该包:
bashuv run pip install --upgrade langsmith-mcp-server
MCP 客户端配置
将该服务器添加到你的 MCP 客户端配置。对 command 值使用来自 which uvx 的路径。
PyPI / uvx:
json
{
"mcpServers": {
"LangSmith API MCP Server": {
"command": "/path/to/uvx",
"args": ["langsmith-mcp-server"],
"env": {
"LANGSMITH_API_KEY": "your_langsmith_api_key",
"LANGSMITH_WORKSPACE_ID": "your_workspace_id",
"LANGSMITH_ENDPOINT": "https://api.smith.langchain.com"
}
}
}
}从源码(先克隆 langsmith-mcp-server):
json
{
"mcpServers": {
"LangSmith API MCP Server": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/langsmith-mcp-server",
"run",
"langsmith_mcp_server/server.py"
],
"env": {
"LANGSMITH_API_KEY": "your_langsmith_api_key",
"LANGSMITH_WORKSPACE_ID": "your_workspace_id",
"LANGSMITH_ENDPOINT": "https://api.smith.langchain.com"
}
}
}
}将 /path/to/uv、/path/to/uvx 和 /path/to/langsmith-mcp-server 替换为你的实际路径。
Docker 部署(HTTP-streamable)
你可以用 Docker 将服务器作为 HTTP 服务运行,使客户端通过 HTTP-streamable 协议连接。
构建并运行:
bashdocker build -t langsmith-mcp-server . docker run -p 8000:8000 langsmith-mcp-server使用 langsmith-mcp-server 仓库作为 Dockerfile 和构建上下文。
将你的 MCP 客户端连接到
http://localhost:8000/mcp,带上LANGSMITH-API-KEY标头(以及可选的LANGSMITH-WORKSPACE-ID、LANGSMITH-ENDPOINT)。健康检查(无需身份验证):
bashcurl http://localhost:8000/health
有关完整的 Docker 和 HTTP-streamable 详情,参阅 LangSmith MCP 服务器仓库。
部署概览
使用托管的 MCP 服务器连接到 LangSmith Cloud(smith.langchain.com、eu.smith.langchain.com、apac.smith.langchain.com 或 aws.smith.langchain.com)。要连接到 Cloud 或自托管 LangSmith,请在本地运行服务器并设置 LANGSMITH_ENDPOINT。对于自托管部署,你也可以通过在你的 VPC 内运行 Docker 镜像来运行服务器。
flowchart LR
subgraph Client["MCP client"]
C[Cursor / Claude Code / etc.]
end
subgraph CloudPath["Cloud"]
H[Hosted MCP server]
LSCloud[LangSmith Cloud]
end
subgraph LocalPath["Local"]
LocalServer[Local MCP server]
end
subgraph SelfHostedPath["Self-hosted"]
D[Docker MCP server]
LSSelf[Self-hosted LangSmith]
end
C --> H
H --> LSCloud
C --> LocalServer
LocalServer --> LSCloud
LocalServer --> LSSelf
C --> D
D --> LSSelf
环境变量
| 变量 | 必需 | 描述 |
|---|---|---|
LANGSMITH_API_KEY | 是 | 用于身份验证的 LangSmith API 密钥。 |
LANGSMITH_WORKSPACE_ID | 否 | 当你的 API 密钥可访问多个工作区时的工作区 ID。 |
LANGSMITH_ENDPOINT | 否 | API 端点 URL(用于自托管或自定义区域)。默认:https://api.smith.langchain.com。 |
对于托管服务器,使用与标头相同的名称:LANGSMITH-API-KEY、LANGSMITH-WORKSPACE-ID、LANGSMITH-ENDPOINT。
TypeScript 实现
官方 Python 服务器有一个社区维护的 TypeScript/Node.js 移植版本可用。要运行它:LANGSMITH_API_KEY=your-key npx langsmith-mcp-server。
源码与包:GitHub · npm。由 amitrechavia 维护。