Token导航 LogoToken导航

MCP Server · 开发工具

MCP To Langchain Addapter

Addapter that turns MCP server tools into langchain usable tools

stdio官方级别未说明来源级核验工具 0
PythonLangChain开发工具

快速开始

作者 / 组织
SDCalvo
提供方
SDCalvo

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

2 个

MCP.so

选型结论

MCP To Langchain Addapter 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install mcp langchain langchain-openai langgraph python-dotenv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

MCP到LangChain/LangGraph适配器

此项目提供了一个适配器,允许您在LangChain和LangGraph应用程序中使用MCP(多模式会话过程)服务器工具。使用此适配器,您可以将MCP的工具无缝集成到您的AI应用程序管道中。

目录

- 设置MCP服务器 - 连接到MCP服务器 - 在LangChain中使用MCP工具 - 在LangGraph中使用MCP工具

- MCP适配器 - MCPToolWrapper - 工具函数

- 基本用法 - 与LangChain代理商集成 - 与LangGraph代理集成

引言

MCP到LangChain/LangGraph适配器弥合了MCP服务器和LangChain/LangGraph之间的差距,MCP服务器通过标准化的接口提供各种工具,LangChain/LangGraph是构建具有大型语言模型的应用程序的流行框架。此适配器使您能够:

  • 连接到MCP服务器
  • 发现可用工具
  • 将MCP工具转换为与LangChain兼容的工具
  • 在LangChain代理、链和LangGraph代理中使用这些工具

安装

要使用此适配器,您需要安装必要的软件包:

# If using pipenv (recommended)
pipenv install mcp langchain langchain-openai langgraph python-dotenv

# If using pip
pip install mcp langchain langchain-openai langgraph python-dotenv

设置API密钥

例如,使用OpenAI模型,您需要一个OpenAI API密钥。建议的设置方式是使用 .env 文件:

  1. 创建一个 .env 项目根目录中的文件(基于 .env.example):
OPENAI_API_KEY=your_actual_api_key_here
  1. 在代码中加载环境变量:
from dotenv import load_dotenv

# Load environment variables from .env file
load_dotenv()

或者,您可以直接在环境或代码中设置API密钥:

import os
os.environ["OPENAI_API_KEY"] = "your_api_key_here"

入门指南

设置MCP服务器

在使用适配器之前,您需要运行MCP服务器。该适配器旨在与您提供的MCP服务器脚本配合使用。

  1. 创建基本的MCP服务器脚本(例如。, simple_server.py):
import mcp
from mcp.server import expose

@expose()
def add(a: int, b: int) -> int:
    """Add two numbers and return the result."""
    return a + b

@expose()
def get_weather(city: str) -> str:
    """
    Get the current weather for a city.

    Args:
        city: The name of the city to get weather for
    """
    # In a real application, you'd call a weather API here
    return f"Weather in {city}: Sunny +11°C"

if __name__ == "__main__":
    mcp.run(transport='stdio')

此示例服务器公开了两个工具:

  • add:取两个整数并返回它们的和
  • get_weather:获取城市名称并返回模拟天气报告

连接到MCP服务器

适配器将自动管理与MCP服务器的连接:

from mcp_langchain_adapter import MCPAdapter

# Create an adapter instance, pointing to your MCP server script
adapter = MCPAdapter("simple_server.py")

# Initialize the connection and get the list of available tools
tools = adapter.get_tools()

# Print the available tools
print(f"Found {len(tools)} tools:")
for tool in tools:
    print(f"- {tool.name}: {tool.description}")

在LangChain中使用MCP工具

一旦你有了这些工具,你就可以在LangChain应用程序中使用它们:

from langchain.agents import AgentExecutor, create_react_agent
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI

# Initialize the language model
llm = ChatOpenAI(model="gpt-3.5-turbo")

# Create a prompt template for the agent
template = """Answer the following questions as best you can using the provided tools.

Available tools:
{tools}

Use the following format:

Question: the input question you must answer
Thought: you should always think about what to do
Action: the action to take, should be one of [{tool_names}]
Action Input: the input to the action
Observation: the result of the action
... (this Thought/Action/Action Input/Observation can repeat N times)
Thought: I now know the final answer
Final Answer: the final answer to the original input question

Begin!

Question: {input}
Thought: """

prompt_template = PromptTemplate.from_template(template)

# Create a LangChain agent with the MCP tools
agent = create_react_agent(llm, tools, prompt_template)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

# Run the agent
result = agent_executor.invoke({"input": "What is 5 + 7?"})
print(result["output"])

在LangGraph中使用MCP工具

LangGraph为构建代理提供了一种更现代、更灵活的方法。以下是如何将我们的MCP工具与LangGraph一起使用:

from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage
from langgraph.prebuilt import create_react_agent
from langgraph.checkpoint.memory import MemorySaver

# Initialize the language model
llm = ChatOpenAI(model="gpt-3.5-turbo")

# Create a memory saver for conversation history
memory = MemorySaver()

# Create a LangGraph react agent with the MCP tools
agent = create_react_agent(
    llm,
    tools,
    prompt="You are a helpful AI assistant that can use tools to solve problems.",
    checkpointer=memory
)

# Create the configuration with thread ID for memory
config = {"configurable": {"thread_id": "example-thread"}}

# Run the agent with a question
result = agent.invoke(
    {"messages": [HumanMessage(content="What is 5 + 7?")]},
    config
)

# Get the final answer
final_answer = result["messages"][-1].content
print(final_answer)

# Continue the conversation with a follow-up question
state = memory.get("example-thread")
messages = state["messages"] + [HumanMessage(content="What's the weather in London?")]
result = agent.invoke({"messages": messages}, config)
print(result["messages"][-1].content)

api参考

MCP适配器

这 MCPAdapter 类管理到MCP服务器的连接,并将MCP工具转换为LangChain工具。

构造函数
MCPAdapter(server_script_path: str, env: Dict[str, str] = None)
  • server_script_path:要运行的MCP服务器脚本的路径
  • env:服务器进程的可选环境变量
方法
  • initialize():同步初始化与MCP服务器的连接
  • get_tools() -> List[BaseTool]:获取所有可用的LangChain工具
  • get_tool_names() -> List[str]:获取所有可用工具的名称
  • get_tool_by_name(name: str) -> Optional[BaseTool]:按名称获取特定工具
  • close() -> None:清理资源(异步方法)

MCPToolWrapper

这 MCPToolWrapper 类扩展了LangChain的 BaseTool 包装MCP工具:

MCPToolWrapper(
    name: str,
    description: str,
    server_script_path: str,
    env: Optional[Dict[str, str]] = None,
    args_schema: Optional[Type[BaseModel]] = None
)
  • name:工具名称
  • description:工具说明
  • server_script_path:MCP服务器脚本的路径
  • env:服务器进程的可选环境变量
  • args_schema:用于工具参数的可选Pydantic模型

工具函数

  • get_langchain_tools(server_script_path: str, env: Dict[str, str] = None) -> List[BaseTool]:从MCP服务器获取LangChain工具的便利功能

例子

基本用法

以下是如何使用适配器的完整示例:

from mcp_langchain_adapter import MCPAdapter

# Create an adapter instance
adapter = MCPAdapter("simple_server.py")

# Get all tools
tools = adapter.get_tools()

# Print information about the tools
print(f"Found {len(tools)} tools:")
for tool in tools:
    print(f"- {tool.name}: {tool.description}")

# Use a specific tool
add_tool = adapter.get_tool_by_name("add")
if add_tool:
    result = add_tool.run({"a": 5, "b": 7})
    print(f"Result of add(5, 7): {result}")

# Use another tool
weather_tool = adapter.get_tool_by_name("get_weather")
if weather_tool:
    result = weather_tool.run({"city": "London"})
    print(f"Result of get_weather('London'): {result}")

与LangChain代理商集成

有关与LangChain代理集成的完整示例,请参阅 example_agent_integration.py 文件。

主要特点:

  • 连接到MCP服务器
  • 检索可用工具
  • 使用工具创建LangChain代理
  • 使用不同类型的查询执行代理

与LangGraph代理集成

有关与LangGraph代理集成的完整示例,请参阅 example_langgraph_integration.py 文件。

主要特点:

  • 连接到MCP服务器
  • 检索可用工具
  • 使用工具创建LangGraph反应代理
  • 使用检查点管理对话历史记录
  • 使用不同类型的查询执行代理
  • 演示如何流式传输代理的思维过程

故障排除

常见问题

  1. MCP服务器连接问题

- 确保MCP服务器脚本的路径正确 - 检查服务器脚本是否具有运行的适当权限 - 确保服务器脚本正确实现MCP协议

  1. 工具执行错误

- 检查工具输入格式是否正确 - 确保MCP服务器中正确定义了该工具 - 在工具响应中查找错误消息

  1. LangChain/LangGraph集成问题

- 验证工具是否已正确转换为LangChain格式 - 检查代理是否配置正确 - 确保将正确格式的输入传递给代理 - 对于LangGraph问题,请检查线程ID和内存配置

调试

要调试连接问题,您可以在MCP服务器脚本中添加日志记录:

import logging

logging.basicConfig(
    level=logging.DEBUG,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    handlers=[
        logging.FileHandler("mcp_server.log"),
        logging.StreamHandler()
    ]
)

# Rest of your MCP server code...

贡献

欢迎为改进适配器做出贡献!以下是您可以做出贡献的一些方式:

  • 报告错误和问题
  • 添加新功能或改进现有功能
  • 改进文档
  • 编写测试
  • 分享与不同LangChain/LangGraph组件集成的示例

请按照以下步骤进行贡献:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

developer-toolsmcplangchainadapter多模态工具Python本地部署AI集成

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP To Langchain Addapter

MCP.so · 本页

0stdio有2 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP To Langchain Addapter 怎么安装?

公开资料给出的安装命令是 pip install mcp langchain langchain-openai langgraph python-dotenv,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP To Langchain Addapter 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP To Langchain Addapter 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP To Langchain Addapter 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP To Langchain Addapter 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP