[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-langchain-ai--langchain-mcp-adapters":3,"tool-langchain-ai--langchain-mcp-adapters":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",147882,2,"2026-04-09T11:32:47",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":74,"owner_website":79,"owner_url":80,"languages":81,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":32,"env_os":94,"env_gpu":95,"env_ram":95,"env_deps":96,"category_tags":103,"github_topics":104,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":107,"updated_at":108,"faqs":109,"releases":139},5942,"langchain-ai\u002Flangchain-mcp-adapters","langchain-mcp-adapters","LangChain 🔌 MCP","langchain-mcp-adapters 是一个轻量级的 Python 库，旨在打通 Anthropic 推出的模型上下文协议（MCP）与 LangChain 及 LangGraph 生态之间的壁垒。它的核心功能是将符合 MCP 标准的工具无缝转换为 LangChain 原生工具，让开发者能够轻松在智能体（Agent）工作流中调用外部服务。\n\n这一工具主要解决了不同协议间工具复用的难题。以往开发者若想将基于 MCP 构建的功能集成到 LangChain 项目中，往往需要编写复杂的适配代码。langchain-mcp-adapters 通过提供简洁的封装层和客户端实现，支持同时连接多个 MCP 服务器（涵盖 stdio 和 HTTP 等多种传输方式），并自动加载其中的工具，极大地简化了集成流程。\n\n该工具特别适合正在使用 LangChain 或 LangGraph 构建 AI 应用的开发者，尤其是那些希望利用现有 MCP 生态资源来增强智能体能力的技术人员。其技术亮点在于支持多服务器并发管理，允许在一个会话中灵活组合来自不同来源的工具（如数学计算与天气查询），且无需为每个工具单独维护","langchain-mcp-adapters 是一个轻量级的 Python 库，旨在打通 Anthropic 推出的模型上下文协议（MCP）与 LangChain 及 LangGraph 生态之间的壁垒。它的核心功能是将符合 MCP 标准的工具无缝转换为 LangChain 原生工具，让开发者能够轻松在智能体（Agent）工作流中调用外部服务。\n\n这一工具主要解决了不同协议间工具复用的难题。以往开发者若想将基于 MCP 构建的功能集成到 LangChain 项目中，往往需要编写复杂的适配代码。langchain-mcp-adapters 通过提供简洁的封装层和客户端实现，支持同时连接多个 MCP 服务器（涵盖 stdio 和 HTTP 等多种传输方式），并自动加载其中的工具，极大地简化了集成流程。\n\n该工具特别适合正在使用 LangChain 或 LangGraph 构建 AI 应用的开发者，尤其是那些希望利用现有 MCP 生态资源来增强智能体能力的技术人员。其技术亮点在于支持多服务器并发管理，允许在一个会话中灵活组合来自不同来源的工具（如数学计算与天气查询），且无需为每个工具单独维护连接会话。通过简单的几行代码，即可让大模型智能体具备调用多样化外部工具的能力，显著提升开发效率与应用扩展性。","# LangChain MCP Adapters\n\nThis library provides a lightweight wrapper that makes [Anthropic Model Context Protocol (MCP)](https:\u002F\u002Fmodelcontextprotocol.io\u002Fintroduction) tools compatible with [LangChain](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain) and [LangGraph](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph).\n\n![MCP](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flangchain-ai_langchain-mcp-adapters_readme_7d3b79d86339.png)\n\n> [!note]\n> A JavaScript\u002FTypeScript version of this library is also available at [langchainjs](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchainjs\u002Ftree\u002Fmain\u002Flibs\u002Flangchain-mcp-adapters\u002F).\n\n## Features\n\n- 🛠️ Convert MCP tools into [LangChain tools](https:\u002F\u002Fpython.langchain.com\u002Fdocs\u002Fconcepts\u002Ftools\u002F) that can be used with [LangGraph](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph) agents\n- 📦 A client implementation that allows you to connect to multiple MCP servers and load tools from them\n\n## Installation\n\n```bash\npip install langchain-mcp-adapters\n```\n\n## Quickstart\n\nHere is a simple example of using the MCP tools with a LangGraph agent.\n\n```bash\npip install langchain-mcp-adapters langgraph \"langchain[openai]\"\n\nexport OPENAI_API_KEY=\u003Cyour_api_key>\n```\n\n### Server\n\nFirst, let's create an MCP server that can add and multiply numbers.\n\n```python\n# math_server.py\nfrom mcp.server.fastmcp import FastMCP\n\nmcp = FastMCP(\"Math\")\n\n@mcp.tool()\ndef add(a: int, b: int) -> int:\n    \"\"\"Add two numbers\"\"\"\n    return a + b\n\n@mcp.tool()\ndef multiply(a: int, b: int) -> int:\n    \"\"\"Multiply two numbers\"\"\"\n    return a * b\n\nif __name__ == \"__main__\":\n    mcp.run(transport=\"stdio\")\n```\n\n### Client\n\n```python\n# Create server parameters for stdio connection\nfrom mcp import ClientSession, StdioServerParameters\nfrom mcp.client.stdio import stdio_client\n\nfrom langchain_mcp_adapters.tools import load_mcp_tools\nfrom langchain.agents import create_agent\n\nserver_params = StdioServerParameters(\n    command=\"python\",\n    # Make sure to update to the full absolute path to your math_server.py file\n    args=[\"\u002Fpath\u002Fto\u002Fmath_server.py\"],\n)\n\nasync with stdio_client(server_params) as (read, write):\n    async with ClientSession(read, write) as session:\n        # Initialize the connection\n        await session.initialize()\n\n        # Get tools\n        tools = await load_mcp_tools(session)\n\n        # Create and run the agent\n        agent = create_agent(\"openai:gpt-4.1\", tools)\n        agent_response = await agent.ainvoke({\"messages\": \"what's (3 + 5) x 12?\"})\n```\n\n## Multiple MCP Servers\n\nThe library also allows you to connect to multiple MCP servers and load tools from them:\n\n### Server\n\n```python\n# math_server.py\n...\n\n# weather_server.py\nfrom typing import List\nfrom mcp.server.fastmcp import FastMCP\n\nmcp = FastMCP(\"Weather\")\n\n@mcp.tool()\nasync def get_weather(location: str) -> str:\n    \"\"\"Get weather for location.\"\"\"\n    return \"It's always sunny in New York\"\n\nif __name__ == \"__main__\":\n    mcp.run(transport=\"http\")\n```\n\n```bash\npython weather_server.py\n```\n\n### Client\n\n```python\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\nfrom langchain.agents import create_agent\n\nclient = MultiServerMCPClient(\n    {\n        \"math\": {\n            \"command\": \"python\",\n            # Make sure to update to the full absolute path to your math_server.py file\n            \"args\": [\"\u002Fpath\u002Fto\u002Fmath_server.py\"],\n            \"transport\": \"stdio\",\n        },\n        \"weather\": {\n            # Make sure you start your weather server on port 8000\n            \"url\": \"http:\u002F\u002Flocalhost:8000\u002Fmcp\",\n            \"transport\": \"http\",\n        }\n    }\n)\ntools = await client.get_tools()\nagent = create_agent(\"openai:gpt-4.1\", tools)\nmath_response = await agent.ainvoke({\"messages\": \"what's (3 + 5) x 12?\"})\nweather_response = await agent.ainvoke({\"messages\": \"what is the weather in nyc?\"})\n```\n\n> [!note]\n> Example above will start a new MCP `ClientSession` for each tool invocation. If you would like to explicitly start a session for a given server, you can do:\n>\n> ```python\n> from langchain_mcp_adapters.tools import load_mcp_tools\n>\n> client = MultiServerMCPClient({...})\n> async with client.session(\"math\") as session:\n>     tools = await load_mcp_tools(session)\n> ```\n\n## Streamable HTTP\n\nMCP now supports [streamable HTTP](https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-03-26\u002Fbasic\u002Ftransports#streamable-http) transport.\n\nTo start an [example](examples\u002Fservers\u002Fstreamable-http-stateless\u002F) streamable HTTP server, run the following:\n\n```bash\ncd examples\u002Fservers\u002Fstreamable-http-stateless\u002F\nuv run mcp-simple-streamablehttp-stateless --port 3000\n```\n\nAlternatively, you can use FastMCP directly (as in the examples above).\n\nTo use it with Python MCP SDK `streamablehttp_client`:\n\n```python\n# Use server from examples\u002Fservers\u002Fstreamable-http-stateless\u002F\n\nfrom mcp import ClientSession\nfrom mcp.client.streamable_http import streamablehttp_client\n\nfrom langchain.agents import create_agent\nfrom langchain_mcp_adapters.tools import load_mcp_tools\n\nasync with streamablehttp_client(\"http:\u002F\u002Flocalhost:3000\u002Fmcp\") as (read, write, _):\n    async with ClientSession(read, write) as session:\n        # Initialize the connection\n        await session.initialize()\n\n        # Get tools\n        tools = await load_mcp_tools(session)\n        agent = create_agent(\"openai:gpt-4.1\", tools)\n        math_response = await agent.ainvoke({\"messages\": \"what's (3 + 5) x 12?\"})\n```\n\nUse it with `MultiServerMCPClient`:\n\n```python\n# Use server from examples\u002Fservers\u002Fstreamable-http-stateless\u002F\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\nfrom langchain.agents import create_agent\n\nclient = MultiServerMCPClient(\n    {\n        \"math\": {\n            \"transport\": \"http\",\n            \"url\": \"http:\u002F\u002Flocalhost:3000\u002Fmcp\"\n        },\n    }\n)\ntools = await client.get_tools()\nagent = create_agent(\"openai:gpt-4.1\", tools)\nmath_response = await agent.ainvoke({\"messages\": \"what's (3 + 5) x 12?\"})\n```\n\n## Passing runtime headers\n\nWhen connecting to MCP servers, you can include custom headers (e.g., for authentication or tracing) using the `headers` field in the connection configuration. This is supported for the following transports:\n\n- `sse`\n- `http` (or `streamable_http`)\n\n### Example: passing headers with `MultiServerMCPClient`\n\n```python\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\nfrom langchain.agents import create_agent\n\nclient = MultiServerMCPClient(\n    {\n        \"weather\": {\n            \"transport\": \"http\",\n            \"url\": \"http:\u002F\u002Flocalhost:8000\u002Fmcp\",\n            \"headers\": {\n                \"Authorization\": \"Bearer YOUR_TOKEN\",\n                \"X-Custom-Header\": \"custom-value\"\n            },\n        }\n    }\n)\ntools = await client.get_tools()\nagent = create_agent(\"openai:gpt-4.1\", tools)\nresponse = await agent.ainvoke({\"messages\": \"what is the weather in nyc?\"})\n```\n\n> Only `sse` and `http` transports support runtime headers. These headers are passed with every HTTP request to the MCP server.\n\n## Using with LangGraph StateGraph\n\n```python\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\nfrom langgraph.graph import StateGraph, MessagesState, START\nfrom langgraph.prebuilt import ToolNode, tools_condition\n\nfrom langchain.chat_models import init_chat_model\nmodel = init_chat_model(\"openai:gpt-4.1\")\n\nclient = MultiServerMCPClient(\n    {\n        \"math\": {\n            \"command\": \"python\",\n            # Make sure to update to the full absolute path to your math_server.py file\n            \"args\": [\".\u002Fexamples\u002Fmath_server.py\"],\n            \"transport\": \"stdio\",\n        },\n        \"weather\": {\n            # make sure you start your weather server on port 8000\n            \"url\": \"http:\u002F\u002Flocalhost:8000\u002Fmcp\",\n            \"transport\": \"http\",\n        }\n    }\n)\ntools = await client.get_tools()\n\ndef call_model(state: MessagesState):\n    response = model.bind_tools(tools).invoke(state[\"messages\"])\n    return {\"messages\": response}\n\nbuilder = StateGraph(MessagesState)\nbuilder.add_node(call_model)\nbuilder.add_node(ToolNode(tools))\nbuilder.add_edge(START, \"call_model\")\nbuilder.add_conditional_edges(\n    \"call_model\",\n    tools_condition,\n)\nbuilder.add_edge(\"tools\", \"call_model\")\ngraph = builder.compile()\nmath_response = await graph.ainvoke({\"messages\": \"what's (3 + 5) x 12?\"})\nweather_response = await graph.ainvoke({\"messages\": \"what is the weather in nyc?\"})\n```\n\n## Using with LangGraph API Server\n\n> [!TIP]\n> Check out [this guide](https:\u002F\u002Flangchain-ai.github.io\u002Flanggraph\u002Ftutorials\u002Flanggraph-platform\u002Flocal-server\u002F) on getting started with LangGraph API server.\n\nIf you want to run a LangGraph agent that uses MCP tools in a LangGraph API server, you can use the following setup:\n\n```python\n# graph.py\nfrom contextlib import asynccontextmanager\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\nfrom langchain.agents import create_agent\n\nasync def make_graph():\n    client = MultiServerMCPClient(\n        {\n            \"weather\": {\n                # make sure you start your weather server on port 8000\n                \"url\": \"http:\u002F\u002Flocalhost:8000\u002Fmcp\",\n                \"transport\": \"http\",\n            },\n            # ATTENTION: MCP's stdio transport was designed primarily to support applications running on a user's machine.\n            # Before using stdio in a web server context, evaluate whether there's a more appropriate solution.\n            # For example, do you actually need MCP? or can you get away with a simple `@tool`?\n            \"math\": {\n                \"command\": \"python\",\n                # Make sure to update to the full absolute path to your math_server.py file\n                \"args\": [\"\u002Fpath\u002Fto\u002Fmath_server.py\"],\n                \"transport\": \"stdio\",\n            },\n        }\n    )\n    tools = await client.get_tools()\n    agent = create_agent(\"openai:gpt-4.1\", tools)\n    return agent\n```\n\nIn your [`langgraph.json`](https:\u002F\u002Flangchain-ai.github.io\u002Flanggraph\u002Fcloud\u002Freference\u002Fcli\u002F#configuration-file) make sure to specify `make_graph` as your graph entrypoint:\n\n```json\n{\n  \"dependencies\": [\".\"],\n  \"graphs\": {\n    \"agent\": \".\u002Fgraph.py:make_graph\"\n  }\n}\n```\n","# LangChain MCP 适配器\n\n该库提供了一个轻量级包装器，使 [Anthropic 模型上下文协议 (MCP)](https:\u002F\u002Fmodelcontextprotocol.io\u002Fintroduction) 工具与 [LangChain](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain) 和 [LangGraph](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph) 兼容。\n\n![MCP](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flangchain-ai_langchain-mcp-adapters_readme_7d3b79d86339.png)\n\n> [!note]\n> 此库的 JavaScript\u002FTypeScript 版本也可在 [langchainjs](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchainjs\u002Ftree\u002Fmain\u002Flibs\u002Flangchain-mcp-adapters\u002F) 中找到。\n\n## 功能\n\n- 🛠️ 将 MCP 工具转换为可与 [LangGraph](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph) 代理一起使用的 [LangChain 工具](https:\u002F\u002Fpython.langchain.com\u002Fdocs\u002Fconcepts\u002Ftools\u002F)。\n- 📦 一个客户端实现，允许您连接到多个 MCP 服务器并从中加载工具。\n\n## 安装\n\n```bash\npip install langchain-mcp-adapters\n```\n\n## 快速入门\n\n以下是一个使用 MCP 工具与 LangGraph 代理的简单示例。\n\n```bash\npip install langchain-mcp-adapters langgraph \"langchain[openai]\"\n\nexport OPENAI_API_KEY=\u003Cyour_api_key>\n```\n\n### 服务器\n\n首先，让我们创建一个可以对数字进行加法和乘法运算的 MCP 服务器。\n\n```python\n# math_server.py\nfrom mcp.server.fastmcp import FastMCP\n\nmcp = FastMCP(\"Math\")\n\n@mcp.tool()\ndef add(a: int, b: int) -> int:\n    \"\"\"将两个数相加\"\"\"\n    return a + b\n\n@mcp.tool()\ndef multiply(a: int, b: int) -> int:\n    \"\"\"将两个数相乘\"\"\"\n    return a * b\n\nif __name__ == \"__main__\":\n    mcp.run(transport=\"stdio\")\n```\n\n### 客户端\n\n```python\n# 创建用于 stdio 连接的服务器参数\nfrom mcp import ClientSession、StdioServerParameters 和 mcp.client.stdio 的 stdio_client\n\n从 langchain_mcp_adapters.tools 导入 load_mcp_tools，从 langchain.agents 导入 create_agent\n\nserver_params = StdioServerParameters(\n    command=\"python\",\n    # 确保更新为 math_server.py 文件的完整绝对路径\n    args=[\"\u002Fpath\u002Fto\u002Fmath_server.py\"],\n)\n\nasync with stdio_client(server_params) as (read, write):\n    async with ClientSession(read, write) as session:\n        # 初始化连接\n        await session.initialize()\n\n        # 获取工具\n        tools = await load_mcp_tools(session)\n\n        # 创建并运行代理\n        agent = create_agent(\"openai:gpt-4.1\", tools)\n        agent_response = await agent.ainvoke({\"messages\": \"3 加 5 再乘以 12 是多少？\"})\n```\n\n## 多个 MCP 服务器\n\n该库还允许您连接到多个 MCP 服务器，并从中加载工具：\n\n### 服务器\n\n```python\n# math_server.py\n...\n\n# weather_server.py\nfrom typing import List\nfrom mcp.server.fastmcp import FastMCP\n\nmcp = FastMCP(\"Weather\")\n\n@mcp.tool()\nasync def get_weather(location: str) -> str:\n    \"\"\"获取某个地点的天气状况\"\"\"\n    return \"纽约总是阳光明媚\"\n\nif __name__ == \"__main__\":\n    mcp.run(transport=\"http\")\n```\n\n```bash\npython weather_server.py\n```\n\n### 客户端\n\n```python\nfrom langchain_mcp_adapters.client import MultiServerMCPClient 和 langchain.agents 的 create_agent\n\nclient = MultiServerMCPClient(\n    {\n        \"math\": {\n            \"command\": \"python\",\n            # 确保更新为 math_server.py 文件的完整绝对路径\n            \"args\": [\"\u002Fpath\u002Fto\u002Fmath_server.py\"],\n            \"transport\": \"stdio\",\n        },\n        \"weather\": {\n            # 确保您的天气服务器在端口 8000 上启动\n            \"url\": \"http:\u002F\u002Flocalhost:8000\u002Fmcp\",\n            \"transport\": \"http\",\n        }\n    }\n)\ntools = await client.get_tools()\nagent = create_agent(\"openai:gpt-4.1\", tools)\nmath_response = await agent.ainvoke({\"messages\": \"3 加 5 再乘以 12 是多少？\"})\nweather_response = await agent.ainvoke({\"messages\": \"纽约的天气如何？\"})\n```\n\n> [!note]\n> 上面的示例将在每次调用工具时启动一个新的 MCP `ClientSession`。如果您希望为特定服务器显式地启动会话，可以这样做：\n>\n> ```python\n> from langchain_mcp_adapters.tools 导入 load_mcp_tools\n>\n> client = MultiServerMCPClient({...})\n> async with client.session(\"math\") as session:\n>     tools = await load_mcp_tools(session)\n> ```\n\n## 可流式传输的 HTTP\n\nMCP 现在支持 [可流式传输的 HTTP](https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-03-26\u002Fbasic\u002Ftransports#streamable-http) 传输方式。\n\n要启动一个 [示例](examples\u002Fservers\u002Fstreamable-http-stateless\u002F) 可流式传输的 HTTP 服务器，请运行以下命令：\n\n```bash\ncd examples\u002Fservers\u002Fstreamable-http-stateless\u002F\nuv run mcp-simple-streamablehttp-stateless --port 3000\n```\n\n或者，您也可以直接使用 FastMCP（如上文示例所示）。\n\n要将其与 Python MCP SDK 的 `streamablehttp_client` 一起使用：\n\n```python\n# 使用 examples\u002Fservers\u002Fstreamable-http-stateless 中的服务器\n\nfrom mcp import ClientSession 和 mcp.client.streamable_http 的 streamablehttp_client\n\n从 langchain.agents 导入 create_agent，从 langchain_mcp_adapters.tools 导入 load_mcp_tools\n\nasync with streamablehttp_client(\"http:\u002F\u002Flocalhost:3000\u002Fmcp\") as (read, write, _)：\n    async with ClientSession(read, write) as session：\n        # 初始化连接\n        await session.initialize()\n\n        # 获取工具\n        tools = await load_mcp_tools(session)\n        agent = create_agent(\"openai:gpt-4.1\", tools)\n        math_response = await agent.ainvoke({\"messages\": \"3 加 5 再乘以 12 是多少？\"})\n```\n\n使用 `MultiServerMCPClient`：\n\n```python\n# 使用 examples\u002Fservers\u002Fstreamable-http-stateless 中的服务器\nfrom langchain_mcp_adapters.client 导入 MultiServerMCPClient，从 langchain.agents 导入 create_agent\n\nclient = MultiServerMCPClient(\n    {\n        \"math\": {\n            \"transport\": \"http\",\n            \"url\": \"http:\u002F\u002Flocalhost:3000\u002Fmcp\"\n        },\n    }\n)\ntools = await client.get_tools()\nagent = create_agent(\"openai:gpt-4.1\", tools)\nmath_response = await agent.ainvoke({\"messages\": \"3 加 5 再乘以 12 是多少？\"})\n```\n\n## 传递运行时头信息\n\n在连接到 MCP 服务器时，您可以使用连接配置中的 `headers` 字段包含自定义头信息（例如用于身份验证或跟踪）。此功能适用于以下传输方式：\n\n- `sse`\n- `http`（或 `streamable_http`）\n\n### 示例：使用 `MultiServerMCPClient` 传递头信息\n\n```python\nfrom langchain_mcp_adapters.client 导入 MultiServerMCPClient，从 langchain.agents 导入 create_agent\n\nclient = MultiServerMCPClient(\n    {\n        \"weather\": {\n            \"transport\": \"http\",\n            \"url\": \"http:\u002F\u002Flocalhost:8000\u002Fmcp\",\n            \"headers\": {\n                \"Authorization\": \"Bearer YOUR_TOKEN\",\n                \"X-Custom-Header\": \"custom-value\"\n            },\n        }\n    }\n)\ntools = await client.get_tools()\nagent = create_agent(\"openai:gpt-4.1\", tools)\nresponse = await agent.ainvoke({\"messages\": \"纽约的天气如何？\"})\n```\n\n> 只有 `sse` 和 `http` 传输方式支持运行时头信息。这些头信息会随每次向 MCP 服务器发出的 HTTP 请求一起传递。\n\n## 与 LangGraph StateGraph 配合使用\n\n```python\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\nfrom langgraph.graph import StateGraph, MessagesState, START\nfrom langgraph.prebuilt import ToolNode, tools_condition\n\nfrom langchain.chat_models import init_chat_model\nmodel = init_chat_model(\"openai:gpt-4.1\")\n\nclient = MultiServerMCPClient(\n    {\n        \"math\": {\n            \"command\": \"python\",\n            # 请确保更新为 math_server.py 文件的完整绝对路径\n            \"args\": [\".\u002Fexamples\u002Fmath_server.py\"],\n            \"transport\": \"stdio\",\n        },\n        \"weather\": {\n            # 请确保在端口 8000 上启动天气服务器\n            \"url\": \"http:\u002F\u002Flocalhost:8000\u002Fmcp\",\n            \"transport\": \"http\",\n        }\n    }\n)\ntools = await client.get_tools()\n\ndef call_model(state: MessagesState):\n    response = model.bind_tools(tools).invoke(state[\"messages\"])\n    return {\"messages\": response}\n\nbuilder = StateGraph(MessagesState)\nbuilder.add_node(call_model)\nbuilder.add_node(ToolNode(tools))\nbuilder.add_edge(START, \"call_model\")\nbuilder.add_conditional_edges(\n    \"call_model\",\n    tools_condition,\n)\nbuilder.add_edge(\"tools\", \"call_model\")\ngraph = builder.compile()\nmath_response = await graph.ainvoke({\"messages\": \"what's (3 + 5) x 12?\"})\nweather_response = await graph.ainvoke({\"messages\": \"what is the weather in nyc?\"})\n```\n\n## 与 LangGraph API 服务器配合使用\n\n> [!TIP]\n> 请查看[这篇指南](https:\u002F\u002Flangchain-ai.github.io\u002Flanggraph\u002Ftutorials\u002Flanggraph-platform\u002Flocal-server\u002F)，了解如何开始使用 LangGraph API 服务器。\n\n如果您希望在 LangGraph API 服务器中运行使用 MCP 工具的 LangGraph 代理，可以采用以下设置：\n\n```python\n# graph.py\nfrom contextlib import asynccontextmanager\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\nfrom langchain.agents import create_agent\n\nasync def make_graph():\n    client = MultiServerMCPClient(\n        {\n            \"weather\": {\n                # 请确保在端口 8000 上启动天气服务器\n                \"url\": \"http:\u002F\u002Flocalhost:8000\u002Fmcp\",\n                \"transport\": \"http\",\n            },\n            # 注意：MCP 的 stdio 传输方式主要是为支持用户本地运行的应用程序而设计的。\n            # 在 Web 服务器环境中使用 stdio 之前，请评估是否有更合适的解决方案。\n            # 例如，您是否真的需要 MCP？或者仅仅使用简单的 `@tool` 就足够了？\n            \"math\": {\n                \"command\": \"python\",\n                # 请确保更新为 math_server.py 文件的完整绝对路径\n                \"args\": [\"\u002Fpath\u002Fto\u002Fmath_server.py\"],\n                \"transport\": \"stdio\",\n            },\n        }\n    )\n    tools = await client.get_tools()\n    agent = create_agent(\"openai:gpt-4.1\", tools)\n    return agent\n```\n\n在您的 [`langgraph.json`](https:\u002F\u002Flangchain-ai.github.io\u002Flanggraph\u002Fcloud\u002Freference\u002Fcli\u002F#configuration-file) 中，请确保将 `make_graph` 指定为您的图入口点：\n\n```json\n{\n  \"dependencies\": [\".\"],\n  \"graphs\": {\n    \"agent\": \".\u002Fgraph.py:make_graph\"\n  }\n}\n```","# LangChain MCP Adapters 快速上手指南\n\n`langchain-mcp-adapters` 是一个轻量级封装库，旨在将 [Anthropic Model Context Protocol (MCP)](https:\u002F\u002Fmodelcontextprotocol.io\u002Fintroduction) 工具无缝集成到 [LangChain](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain) 和 [LangGraph](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph) 生态中。通过它，你可以轻松连接多个 MCP 服务器，并将暴露的工具转换为 LangChain Agent 可调用的标准工具。\n\n## 环境准备\n\n在开始之前，请确保你的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：建议 Python 3.10 或更高版本\n*   **前置依赖**：\n    *   已安装 `pip` 包管理工具\n    *   拥有有效的 LLM API Key（本指南以 OpenAI 为例）\n\n## 安装步骤\n\n使用 pip 安装核心库及必要的依赖项。国内开发者若遇到下载速度慢的问题，推荐使用清华或阿里镜像源。\n\n```bash\n# 使用默认源安装\npip install langchain-mcp-adapters langgraph \"langchain[openai]\"\n\n# 或者使用国内镜像源加速安装（推荐）\npip install langchain-mcp-adapters langgraph \"langchain[openai]\" -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n安装完成后，请在终端设置你的 API Key：\n\n```bash\nexport OPENAI_API_KEY=\u003Cyour_api_key>\n```\n\n## 基本使用\n\n以下示例演示了如何创建一个本地 MCP 数学服务，并通过 LangGraph Agent 调用该服务进行计算。\n\n### 1. 创建 MCP 服务端\n\n新建一个文件 `math_server.py`，定义两个简单的数学工具（加法和乘法）：\n\n```python\n# math_server.py\nfrom mcp.server.fastmcp import FastMCP\n\nmcp = FastMCP(\"Math\")\n\n@mcp.tool()\ndef add(a: int, b: int) -> int:\n    \"\"\"Add two numbers\"\"\"\n    return a + b\n\n@mcp.tool()\ndef multiply(a: int, b: int) -> int:\n    \"\"\"Multiply two numbers\"\"\"\n    return a * b\n\nif __name__ == \"__main__\":\n    mcp.run(transport=\"stdio\")\n```\n\n### 2. 创建客户端并运行 Agent\n\n新建一个客户端脚本，连接上述服务器并执行任务。请将代码中的 `\u002Fpath\u002Fto\u002Fmath_server.py` 替换为你实际的绝对路径。\n\n```python\nimport asyncio\nfrom mcp import ClientSession, StdioServerParameters\nfrom mcp.client.stdio import stdio_client\n\nfrom langchain_mcp_adapters.tools import load_mcp_tools\nfrom langchain.agents import create_agent\n\nasync def main():\n    # 配置服务器参数\n    server_params = StdioServerParameters(\n        command=\"python\",\n        # 重要：请更新为 math_server.py 的完整绝对路径\n        args=[\"\u002Fpath\u002Fto\u002Fmath_server.py\"],\n    )\n\n    async with stdio_client(server_params) as (read, write):\n        async with ClientSession(read, write) as session:\n            # 初始化连接\n            await session.initialize()\n\n            # 加载 MCP 工具\n            tools = await load_mcp_tools(session)\n\n            # 创建 Agent 并执行任务\n            agent = create_agent(\"openai:gpt-4.1\", tools)\n            response = await agent.ainvoke({\"messages\": \"what's (3 + 5) x 12?\"})\n            \n            print(response)\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n运行客户端脚本后，Agent 将自动调用 MCP 服务器中的 `add` 和 `multiply` 工具来计算 `(3 + 5) * 12` 的结果。","某金融科技团队正在构建一个智能投顾 Agent，需要让大模型同时调用内部风控系统（通过 stdio 通信）和外部实时行情 API（通过 HTTP 通信）来回答用户复杂的投资咨询。\n\n### 没有 langchain-mcp-adapters 时\n- **协议转换繁琐**：开发者必须手动编写大量胶水代码，将 Anthropic MCP 协议定义的工具转换为 LangChain 能识别的格式，极易出错。\n- **多源集成困难**：当需要同时连接本地脚本服务和远程 HTTP 服务时，需分别维护两套完全不同的客户端连接逻辑，架构臃肿。\n- **调试周期漫长**：每次新增一个 MCP 工具（如“计算复利”或“查询汇率”），都要重复修改 Agent 的工具注册流程，无法实现热插拔。\n- **状态管理混乱**：在不同传输协议（stdio vs http）之间切换时，会话初始化和资源释放逻辑分散，容易导致连接泄漏。\n\n### 使用 langchain-mcp-adapters 后\n- **无缝自动适配**：只需调用 `load_mcp_tools`，即可直接将标准的 MCP 工具自动转化为 LangChain 原生工具，零样板代码。\n- **统一多源接入**：利用 `MultiServerMCPClient`，在一个配置字典中即可同时纳管本地风控脚本和远程行情服务，屏蔽底层传输差异。\n- **动态工具加载**：新增后端 MCP 服务无需修改 Agent 核心代码，重启客户端即可自动发现并加载新工具，大幅提升迭代效率。\n- **会话生命周期自动化**：库内部自动处理不同协议下的 Session 初始化与关闭，开发者只需关注业务逻辑，不再担忧连接管理。\n\nlangchain-mcp-adapters 核心价值在于打破了 MCP 生态与 LangChain 框架间的壁垒，让开发者能像搭积木一样快速组合异构服务，构建强大的多工具智能体。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flangchain-ai_langchain-mcp-adapters_71b066e5.png","langchain-ai","LangChain","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Flangchain-ai_8e6aaeef.png","",null,"support@langchain.dev","https:\u002F\u002Fwww.langchain.com","https:\u002F\u002Fgithub.com\u002Flangchain-ai",[82,86],{"name":83,"color":84,"percentage":85},"Python","#3572A5",99,{"name":87,"color":88,"percentage":89},"Makefile","#427819",1,3476,406,"2026-04-09T09:36:46","MIT","Linux, macOS, Windows","未说明",{"notes":97,"python":98,"dependencies":99},"该工具主要用于连接 MCP 服务器与 LangChain\u002FLangGraph，本身不涉及重型模型推理，因此无特殊 GPU 或大内存需求。运行时需要安装 Python MCP SDK (mcp) 来创建或连接服务器。若使用 stdio 传输模式在 Web 服务器（如 LangGraph API Server）环境中运行，需注意其设计初衷是面向本地用户应用，需评估适用性。支持通过 HTTP\u002FSSE\u002Fstdio 等多种方式连接 MCP 服务器，并支持传递自定义请求头用于认证。","3.8+",[64,100,101,102],"langgraph","langchain","mcp",[14],[101,100,102,105,106],"python","tools","2026-03-27T02:49:30.150509","2026-04-10T02:45:45.461338",[110,115,120,125,130,134],{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},26956,"如何在对话系统中管理 MCP Session 的生命周期，以避免每次请求都重新初始化客户端？","在 langchain-mcp-adapters 0.1.0 及更高版本中，API 已更新。您不再需要使用 lifespan 函数，也不再将图构建包裹在上下文管理器中。现在可以直接初始化 MultiServerMCPClient 并复用，无需担心复杂的生命周期管理。请参考发布说明：https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Freleases\u002Ftag\u002Flangchain-mcp-adapters%3D%3D0.1.0","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fissues\u002F114",{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},26957,"如何为每个工具调用动态注入特定的 Header（例如 JWT Token），而不是仅在连接时使用静态 Header？","可以使用 `ToolCallInterceptor` 协议来实现。在 langchain-mcp-adapters 0.1.12+ 版本中，您可以创建一个拦截器类，实现 `__call__` 方法，在每次工具调用前动态修改请求头。示例代码逻辑如下：\n1. 定义一个类继承或实现拦截器逻辑。\n2. 在 `__call__` 方法中接收 `MCPToolCallRequest`。\n3. 动态添加或修改 headers（如从上下文获取最新的 JWT）。\n4. 调用 handler 处理请求。\n维护者确认这是支持该场景的标准方式。","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fissues\u002F297",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},26958,"在使用 agent.astream 进行流式输出时遇到 'ClosedResourceError' 错误，原因是什么？","这通常是因为 MCP 工具所在的会话（Session）或事件循环（Event Loop）在 Agent 尝试调用工具之前就已经关闭了。确保获取工具和创建 Agent 的过程在同一个异步上下文（同一事件循环）中完成。不要在获取工具后立即关闭客户端连接，而应让客户端在 Agent 完成所有任务后再关闭。如果是在 FastAPI 等环境中，需注意异步作用域的管理。","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fissues\u002F78",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},26959,"MultiServerMCPClient 是否支持并行工具调用？遇到 'Connection closed' 错误怎么办？","早期版本在并行工具调用时可能存在稳定性问题（表现为 ExceptionGroup 或 Connection closed 错误）。维护者建议暂时使用 client factory 模式作为变通方案，并指出后续版本会改进 API 或文档以更好地支持此类并发场景。如果遇到此问题，请确保升级到最新版本，或检查是否因会话过早关闭导致连接中断。","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fissues\u002F194",{"id":131,"question_zh":132,"answer_zh":133,"source_url":124},26960,"如何将旧的 LangChain AgentExecutor + MCP 架构迁移到 LangGraph？","可以使用 `create_react_agent` 结合 `MultiServerMCPClient` 来构建新的 Agent。基本步骤如下：\n1. 初始化 `MultiServerMCPClient` 并配置服务器 URL 和传输方式（如 streamable_http）。\n2. 获取工具列表：`tools = client.get_tools()`。\n3. 使用 `create_react_agent(model, tools)` 创建 Agent。\n4. 调用 `agent.ainvoke` 或 `agent.astream` 执行任务。\n注意确保客户端在 Agent 运行期间保持活跃，不要提前关闭。",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},26961,"load_mcp_tools 报错说找不到 get_tools() 方法，该如何解决？","这是一个误解或版本差异问题。MCP Python SDK 客户端确实使用 `list_tools()` 来获取工具列表，但在 langchain-mcp-adapters 的封装中，`MultiServerMCPClient` 提供了 `get_tools()` 方法来适配 LangChain 的工具格式。请确保您调用的是 `client.get_tools()`（其中 client 是 MultiServerMCPClient 实例），而不是直接对底层 MCP session 调用。如果仍报错，请检查库的版本是否匹配。","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fissues\u002F102",[140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235],{"id":141,"version":142,"summary_zh":143,"released_at":144},180085,"langchain-mcp-adapters==0.2.2","## 变更内容\n* 修复：运行时需要将注解作为注入参数，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F407 中提出并实现。\n* 构建依赖更新：将 actions\u002Fdownload-artifact 从版本 6 升级到 7，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F396 中完成。\n* 构建依赖更新：将 actions\u002Fupload-artifact 从版本 5 升级到 6，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F395 中完成。\n* 杂项：将 ncipollo\u002Frelease-action 锁定至 v1.20.0 版本，由 @jkennedyvz 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F414 中完成。\n* 构建依赖更新：在两个目录中更新 uv 组的依赖项，共涉及 6 次更新，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F415 中完成。\n* 构建依赖更新：在两个目录中更新 uv 组的依赖项，共涉及 4 次更新，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F422 中完成。\n* 构建依赖更新：将 actions\u002Fdownload-artifact 从版本 7 升级到 8，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F427 中完成。\n* 构建依赖更新：将 actions\u002Fupload-artifact 从版本 6 升级到 7，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F428 中完成。\n* 构建依赖更新：在一个目录中更新 uv 组的依赖项，共涉及 2 次更新，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F433 中完成。\n* 修复：解决 stdio 配置中 `${VAR}` 环境变量引用问题，由 @awg66 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F438 中完成。\n* 发布：0.2.2 版本，由 @mdrxy 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F440 中发布。\n\n## 新贡献者\n* @jkennedyvz 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F414 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.2.1...langchain-mcp-adapters==0.2.2","2026-03-16T17:13:46",{"id":146,"version":147,"summary_zh":148,"released_at":149},180086,"langchain-mcp-adapters==0.2.1","## 变更内容\n* 修复：要求使用 langchain-core 1.0.0 版本以支持 std 内容，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F392 中完成\n* 发布：0.2.1 版本，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F393 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.2.0...langchain-mcp-adapters==0.2.1","2025-12-09T16:28:54",{"id":151,"version":152,"summary_zh":153,"released_at":154},180087,"langchain-mcp-adapters==0.2.0","## 变更内容\n\n### 重大变更\n* 功能：支持结构化输出，采用 LC 标准内容块，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F379 中实现。\n\n### 其他变更\n* 修复：添加 `py.typed`，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F378 中完成。\n* 功能：通过 `get_resources` 从所有服务器获取资源，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F380 中实现。\n* 允许将 `streamable-http` 和 `http` 作为传输方式传递，由 @Enucatl 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F282 中实现。\n* 修复：更新文档，使用 `http` 替代 `streamable_http`，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F382 中完成。\n* 功能：支持基础的提示回调，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F385 中实现。\n* 功能：新增在工具名称前添加服务器名称前缀的选项，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F387 中实现。\n\n## 新贡献者\n* @Enucatl 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F282 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.14...langchain-mcp-adapters==0.2.0","2025-12-09T12:58:09",{"id":156,"version":157,"summary_zh":158,"released_at":159},180088,"langchain-mcp-adapters==0.2.0a1","## 变更内容\n\n### 重大变更\n* 功能：支持结构化输出，使用 LC 标准内容块，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F379 中实现。\n\n### 其他变更\n* 修复：添加 `py.typed`，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F378 中完成。\n* 功能：通过 `get_resources` 从所有服务器获取资源，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F380 中实现。\n* 允许将 `streamable-http` 和 `http` 作为传输方式传递，由 @Enucatl 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F282 中实现。\n* 修复：更新文档，将 `streamable_http` 替换为 `http`，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F382 中完成。\n* 功能：支持基本的提示回调，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F385 中实现。\n* 功能：新增在工具名称前添加服务器名称前缀的选项，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F387 中实现。\n* 发布：0.2.0a1，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F389 中发布。\n\n## 新贡献者\n* @Enucatl 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F282 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.14...langchain-mcp-adapters==0.2.0a1","2025-12-08T14:46:27",{"id":161,"version":162,"summary_zh":163,"released_at":164},180089,"langchain-mcp-adapters==0.1.14","## 变更内容\n* 由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F346 中将 actions\u002Fupload-artifact 从 4 升级到 5\n* 由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F347 中将 actions\u002Fdownload-artifact 从 5 升级到 6\n* 由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F341 中将 github\u002Fcodeql-action 从 3 升级到 4\n* 修复：在示例中将 `create_react_agent` 替换为 `create_agent`，由 @mdrxy 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F303 中完成\n* 更新 uv.lock 中的 starlette 包，由 @ColeMurray 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F357 中完成\n* 新增功能：为 ToolRuntime 访问注入运行时参数，由 @sydney-runkle 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F370 中实现\n* 新增功能：添加向拦截器返回 Command 的能力，并新增端到端测试，由 @eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F372 中完成\n* 发布版本，由 @eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F374 中完成\n\n## 新贡献者\n* @ColeMurray 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F357 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.13...langchain-mcp-adapters==0.1.14","2025-11-24T15:01:07",{"id":166,"version":167,"summary_zh":168,"released_at":169},180090,"langchain-mcp-adapters==0.1.13","## 变更内容\n* 修复：@mdrxy 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F354 中修复了 refs 的样式问题。\n* 修复协议 schema，使其与 Pydantic 兼容：@awg66 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F361 中完成。\n\n## 新贡献者\n* @awg66 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F361 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.12...langchain-mcp-adapters==0.1.13","2025-11-13T14:32:43",{"id":171,"version":172,"summary_zh":173,"released_at":174},180091,"langchain-mcp-adapters==0.1.12","## 变更内容\n* 功能（langchain-mcp-adapters）：推出拦截器模式（除了钩子支持的其他功能外，还支持重试），由 @eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F351 中实现。\n* 修复：解决 mcp 上下文管理器抑制异常的问题，并更新文档，由 @eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F352 中完成。\n* 回调：https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcommit\u002F219b60cc973ee44f81e36567030c808276734798\n* 发布 0.1.12 版本，由 @eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F353 中完成。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.10...langchain-mcp-adapters==0.1.12","2025-10-30T21:19:57",{"id":176,"version":177,"summary_zh":178,"released_at":179},180092,"langchain-mcp-adapters==0.1.11","此次发布仅解绑了 langchain-core 依赖，以支持 \u003C2 版本。","2025-10-03T14:53:27",{"id":181,"version":182,"summary_zh":183,"released_at":184},180093,"langchain-mcp-adapters==0.1.10","## 变更内容\n* chore：@eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F261 中进行了更多代码风格检查\n* fix：@mdrxy 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F306 中修复了测试问题\n* docs：@mdrxy 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F304 中添加了 JavaScript\u002FTypeScript 版本说明\n* 将 actions\u002Fcheckout 从 4 升级到 5，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F286 中完成\n* 将 actions\u002Fdownload-artifact 从 4 升级到 5，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F285 中完成\n* 在测试中使用 Python 3 的 evocations，由 @MeggyCal 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F270 中实现\n* 将 MCP 工具注解和元数据合并到 LangChain 元数据中，由 @grantmca 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F284 中完成\n* 委托给 mcp SDK 处理用于 stdio 连接的环境变量，由 @eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F310 中实现\n* mcp[patch]：如果工具调用不可用，则抛出运行时错误，由 @eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F318 中实现\n\n## 新贡献者\n* @mdrxy 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F306 中完成了首次贡献\n* @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F286 中完成了首次贡献\n* @MeggyCal 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F270 中完成了首次贡献\n* @grantmca 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F284 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.9...langchain-mcp-adapters==0.1.10","2025-09-19T15:36:35",{"id":186,"version":187,"summary_zh":188,"released_at":189},180094,"langchain-mcp-adapters==0.1.9","## 变更内容\n* 代码检查：@eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F246 中对代码进行了一些清理。\n* 类型注解：@eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F247 中修复了基本的类型问题。\n* 代码检查：@eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F248 中启用了 TRY003 和 TRY004 规则。\n* 更多代码检查：@eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F249 中进行了进一步的代码检查。\n* 添加文档字符串：@eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F251 中添加了文档字符串。\n* 修复：分页的 nextCursor 字段为空字符串的问题，由 @jianghushinian 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F250 中修复。\n* 发布版本 0.1.9：@eyurtsev 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F253 中完成。\n\n## 新贡献者\n* @jianghushinian 在 https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F250 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.8...langchain-mcp-adapters==0.1.9","2025-07-09T15:56:31",{"id":191,"version":192,"summary_zh":193,"released_at":194},180095,"langchain-mcp-adapters==0.1.8","## What's Changed\n* docs: When using streamable_http, the mcp-url must end with a slash. On cloud servers we get the following error by @cevheri in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F206\n* README: add info about run time headers by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F219\n* Add codeQL workflow by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F225\n* ci: set parameters for codeql workflow by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F226\n* docs: adapter docstrings consistency by @ethanknights in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F221\n* CI: set permissions by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F227\n* Add actions to codeql scanning by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F230\n* ci: set explicit permissions by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F229\n* ci: add security extended by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F231\n* Expose auth in connections by @mchockal in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F236\n\n## New Contributors\n* @cevheri made their first contribution in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F206\n* @ethanknights made their first contribution in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F221\n* @mchockal made their first contribution in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F236\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.7...langchain-mcp-adapters==0.1.8","2025-06-30T19:29:03",{"id":196,"version":197,"summary_zh":198,"released_at":199},180096,"langchain-mcp-adapters==0.1.7","## What's Changed\n* add dependabot config by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F196\n* ci: add pytest timeout by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F197\n* Add httpx_client_factory support for streamable_http and sse transports by @rodrigopavan in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F191\n* release 0.1.7 by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F199\n* Add ValueError for missing transport key: sessions.py by @ozanayrikan in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F198\n\n## New Contributors\n* @rodrigopavan made their first contribution in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F191\n* @ozanayrikan made their first contribution in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F198\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.6...langchain-mcp-adapters==0.1.7","2025-06-05T20:19:01",{"id":201,"version":202,"summary_zh":203,"released_at":204},180097,"langchain-mcp-adapters==0.1.6","## What's Changed\n* Update README.md by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F187\n* add pagination to list tools by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F153\n* release 0.1.6 by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F195\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.4...langchain-mcp-adapters==0.1.6","2025-06-05T19:24:19",{"id":206,"version":207,"summary_zh":208,"released_at":209},180098,"langchain-mcp-adapters==0.1.4","## What's Changed\n* shorten tool name by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F186\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.3...langchain-mcp-adapters==0.1.4","2025-05-29T15:10:51",{"id":211,"version":212,"summary_zh":213,"released_at":214},180099,"langchain-mcp-adapters==0.1.3","## What's Changed\n* bump min mcp version and release by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F185\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.2...langchain-mcp-adapters==0.1.3","2025-05-29T14:05:05",{"id":216,"version":217,"summary_zh":218,"released_at":219},180100,"langchain-mcp-adapters==0.1.2","## What's Changed\n* fix: make list tool concurrent by @qiankunli in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F175\n* add a util for converting a langchain tool to FastMCP server tool by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F144\n* release 0.1.2 by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F181\n\n## New Contributors\n* @qiankunli made their first contribution in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F175\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.1...langchain-mcp-adapters==0.1.2","2025-05-29T00:57:49",{"id":221,"version":222,"summary_zh":223,"released_at":224},180101,"langchain-mcp-adapters==0.1.1","## What's Changed\n* attach annotations to tool metadata by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F164\n* release 0.1.1 by @eyurtsev in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F166\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.1.0...langchain-mcp-adapters==0.1.1","2025-05-20T14:20:56",{"id":226,"version":227,"summary_zh":228,"released_at":229},180102,"langchain-mcp-adapters==0.1.0","# Release 0.1.0\r\n\r\n## What's Changed\r\n* update readme & add example by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F140\r\n* fix error message in connect_to_server by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F143\r\n* breaking: refactor the client & allow tools to create sessions by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F146\r\n* release 0.1.0 by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F150\r\n\r\n## Breaking Changes \r\n\r\n`MultiServerMCPClient`:\r\n  * removed long-lived sessions per server - new sessions are created automatically when needed (e.g., when executing tools \u002F loading prompts)\r\n    * to explicitly control a session, you can use a new `async with client.session(server_name) as session` context manager\r\n  * `get_tools` method is now **async**\r\n  * removed context manager interface for `MultiServerMCPClient`\r\n  * removed `.connect_to_server_via_*` methods\r\n  \r\n### Old usage:\r\n \r\n```python\r\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\r\n\r\nasync with MultiServerMCPClient({...}) as client:\r\n    tools = client.get_tools()\r\n```\r\n \r\n### New usage:\r\n\r\n```python\r\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\r\n\r\nclient = MultiServerMCPClient({...})\r\ntools = await client.get_tools()\r\n```\r\nor open a session explicitly:\r\n \r\n```python\r\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\r\nfrom langchain_mcp_adapters.tools import load_mcp_tools\r\n\r\nclient = MultiServerMCPClient({...})\r\nasync with client.session(server_name) as session:\r\n    tools = await load_mcp_tools(session)\r\n``` \r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.0.11...langchain-mcp-adapters==0.1.0","2025-05-15T19:00:47",{"id":231,"version":232,"summary_zh":233,"released_at":234},180103,"langchain-mcp-adapters==0.0.11","## What's Changed\n* add streamable HTTP support by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F119\n* feat: add cwd option to StdioServerParameters by @softyoungha in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F132\n* release 0.0.11 by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F139\n\n## New Contributors\n* @softyoungha made their first contribution in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F132\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.0.10...langchain-mcp-adapters==0.0.11","2025-05-08T20:36:02",{"id":236,"version":237,"summary_zh":238,"released_at":239},180104,"langchain-mcp-adapters==0.0.10","## What's Changed\n* fix: handle empty tool response by @plaflamme in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F115\n* docs: better docstrings by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F116\n* add missing type annotation by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F117\n* add state graph example to readme by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F124\n* relax mcp version range by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F128\n* release 0.0.10 by @vbarda in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F129\n\n## New Contributors\n* @plaflamme made their first contribution in https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fpull\u002F115\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain-mcp-adapters\u002Fcompare\u002Flangchain-mcp-adapters==0.0.9...langchain-mcp-adapters==0.0.10","2025-05-05T13:30:57"]