LangGraph MCP Server

LangGraph MCP Server

一个基于 Python 的模型上下文协议 (MCP) 服务器,它使 LLM 能够通过标准化接口访问外部工具和资源。

rezawr

研究与数据
访问服务器

README

LangGraph MCP 服务器

一个干净、模块化的模型上下文协议 (MCP) 服务器实现,用于 LangGraph 文档。

架构

本项目遵循清晰的架构模式,以便在添加更多功能时,使 MCP 服务器更易于维护和调试。

目录结构

app/
├── config.py                  # 配置设置
├── server.py                  # 主服务器入口点
├── resources/                 # 客户端可以访问的资源
│   ├── __init__.py            # 资源注册
│   └── langgraph_resources.py # LangGraph 特定的资源
├── tools/                     # 客户端可以调用的工具
│   ├── __init__.py            # 工具注册
│   └── langgraph_tools.py     # LangGraph 特定的工具
└── utils/                     # 实用函数
    ├── __init__.py
    └── logging_utils.py       # 日志实用程序

核心组件

  1. 服务器: 初始化 MCP 服务器并注册所有工具和资源的主入口点。
  2. 配置: 所有配置设置的中心位置。
  3. 工具: 客户端可以调用以执行特定任务的函数。
  4. 资源: 客户端可以访问的数据源。
  5. 实用程序: 在整个应用程序中使用的实用函数。

添加新功能

添加新工具

  1. app/tools/ 目录中创建一个新文件(例如,weather_tools.py)。
  2. 在此文件中定义您的工具函数。
  3. 创建一个注册函数(例如,register_weather_tools)。
  4. app/tools/__init__.py 中导入并调用此注册函数。

示例:

# app/tools/weather_tools.py
def register_weather_tools(mcp):
    mcp.tool()(get_weather)

def get_weather(city: str):
    """获取城市的天气"""
    # 实现
    return f"Weather for {city}: Sunny, 75°F"

# app/tools/__init__.py
from app.tools.langgraph_tools import register_langgraph_tools
from app.tools.weather_tools import register_weather_tools

def register_tools(mcp):
    register_langgraph_tools(mcp)
    register_weather_tools(mcp)

添加新资源

  1. app/resources/ 目录中创建一个新文件(例如,weather_resources.py)。
  2. 在此文件中定义您的资源函数。
  3. 创建一个注册函数(例如,register_weather_resources)。
  4. app/resources/__init__.py 中导入并调用此注册函数。

示例:

# app/resources/weather_resources.py
def register_weather_resources(mcp):
    mcp.resource("weather://forecast")(get_weather_forecast)

def get_weather_forecast():
    """获取天气预报"""
    # 实现
    return "5-day weather forecast data"

# app/resources/__init__.py
from app.resources.langgraph_resources import register_langgraph_resources
from app.resources.weather_resources import register_weather_resources

def register_resources(mcp):
    register_langgraph_resources(mcp)
    register_weather_resources(mcp)

运行服务器

要运行服务器:

python -m app.server

此架构的优势

  1. 模块化: 每个组件都有单一的职责。
  2. 可扩展性: 易于添加新工具和资源,而无需修改现有代码。
  3. 可维护性: 有组织的结构使调试更容易。
  4. 可伸缩性: 可以处理随着添加更多功能而带来的增长。
  5. 可测试性: 组件可以单独测试。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python