🔗 LangChain MCP 注册表
将MCP注册表服务器无缝集成到您的LangChain工作流中
](https://badge.fury.io/py/langchain-mcp-registry)  
🌟 特点
- 🔍(放大镜,表示搜索、查看细节等动作) 自动发现从官方注册表中搜索并发现MCP服务器
- 🔄 旋转(或循环) 无缝集成将注册表服务器转换为兼容LangChain的工具
- 🚀 表示火箭、快速前进或突破,也可以象征着速度和能量。在没有具体上下文的情况下,这个表情通常被用来表达一种积极向上、充满活力或期待进步的情绪。 零配置开箱即用,具备合理的默认设置
- 🛡️ 翻译为中文是“护盾”。 类型安全完整的类型提示和 Pydantic 模型
- 🎯(目标、瞄准) 命令行界面(CLI)与Python API通过命令行或编程方式使用
- 📦 箱子/包裹 多种运输方式支持stdio、HTTP、SSE
🚀 快速入门
安装
pip install langchain-mcp-registryPython API
from langchain_mcp_registry import MCPRegistryClient
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
# 1. Discover servers from registry
async with MCPRegistryClient() as client:
servers = await client.search_servers(query="weather")
# 2. Auto-convert to LangChain tools
tools = await client.load_tools(servers[0])
# 3. Use in LangChain agent
llm = ChatOpenAI(model="gpt-4")
agent = create_react_agent(llm, tools)
result = await agent.ainvoke({
"messages": [{"role": "user", "content": "What's the weather in SF?"}]
})CLI 使用方法
# Search for servers
mcp-registry search weather
# List server details
mcp-registry info @modelcontextprotocol/server-brave-search
# Install and test a server
mcp-registry install @modelcontextprotocol/server-brave-search
mcp-registry test brave-search "search for AI news"📚 文档
注册表客户端
from langchain_mcp_registry import MCPRegistryClient
client = MCPRegistryClient(
registry_url="https://registry.modelcontextprotocol.io",
timeout=30.0,
cache_ttl=3600
)
# Search with filters
servers = await client.search_servers(
query="github",
limit=10,
version="latest"
)
# Get server details
server_details = await client.get_server_details(
name="@modelcontextprotocol/server-github",
version="latest"
)配置转换器
from langchain_mcp_registry import RegistryToMCPConverter
converter = RegistryToMCPConverter()
# Convert registry server to MCP config
mcp_config = converter.convert(registry_server)
# Output: {"command": "npx", "args": [...], "env": {...}}
# Validate configuration
is_valid = converter.validate_config(mcp_config)工具加载器
from langchain_mcp_registry import MCPToolLoader
loader = MCPToolLoader()
# Load tools from registry server
tools = await loader.load_from_registry(
server_name="@modelcontextprotocol/server-everything",
version="latest"
)
# Load multiple servers
all_tools = await loader.load_multiple([
"server-brave-search",
"server-github",
"server-filesystem"
])🏗️ 建筑学
┌─────────────────────────────────────────────────────────┐
│ LangChain Agent │
└────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ LangChain MCP Registry │
│ ┌──────────────┐ ┌────────────┐ ┌─────────────┐ │
│ │ Registry │ │ Converter │ │ Tool │ │
│ │ Client │─▶│ (R → M) │─▶│ Loader │ │
│ └──────────────┘ └────────────┘ └─────────────┘ │
└────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ MCP Registry (modelcontextprotocol.io) │
└─────────────────────────────────────────────────────────┘🔧 高级用法
自定义注册表
client = MCPRegistryClient(
registry_url="https://your-private-registry.com",
headers={"Authorization": "Bearer YOUR_TOKEN"}
)错误处理
from langchain_mcp_registry.exceptions import (
ServerNotFoundError,
InvalidConfigError,
RegistryConnectionError
)
try:
tools = await client.load_tools("non-existent-server")
except ServerNotFoundError:
print("Server not found in registry")
except InvalidConfigError as e:
print(f"Invalid configuration: {e}")缓存
# Enable local caching for faster repeated access
client = MCPRegistryClient(
cache_enabled=True,
cache_ttl=7200, # 2 hours
cache_dir="~/.mcp-registry-cache"
)🤝 贡献(或:参与贡献)
欢迎投稿!请参阅 CONTRIBUTING.md 翻译为中文是:“贡献指南.md” 或 “如何贡献.md”(具体翻译可能根据上下文有所调整,但基本意思是关于如何参与贡献的指南文件) 详情如下。
📄 许可证
MIT 许可证 - 详见 许可证 文件中详述。
🙏 致谢
🔗 链接
- PyPIhttps://pypi.org/project/langchain-mcp-registry/ 翻译为中文是:“https://pypi.org 上的 langchain-mcp-registry 项目”
- GitHubhttps://github.com/ChangjunZhao/langchain-mcp-registry(中文翻译:https://github.com/张长军/langchain-MCP注册表)
- 问题https://github.com/ChangjunZhao/langchain-mcp-registry/issues 的中文翻译是:“GitHub上的ChangjunZhao的langchain-mcp-registry项目的问题页面”
______________________________________________________________________
为LangChain和MCP社区用心打造
