Skip to content
LangSmith 文档版本 跟随上游 源快照 1fe4b957 更新于 2026-10-18

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 中使用该服务器

快速开始(托管)

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 客户端。

前提条件

  1. 安装 uv(Python 包安装器):

    bash
    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 安装该包:

    bash
    uv 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 协议连接。

  1. 构建并运行:

    bash
    docker build -t langsmith-mcp-server .
    docker run -p 8000:8000 langsmith-mcp-server

    使用 langsmith-mcp-server 仓库作为 Dockerfile 和构建上下文。

  2. 将你的 MCP 客户端连接到 http://localhost:8000/mcp,带上 LANGSMITH-API-KEY 标头(以及可选的 LANGSMITH-WORKSPACE-ID、LANGSMITH-ENDPOINT)。

  3. 健康检查(无需身份验证):

    bash
    curl 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 维护。


BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。