MCP服务器示例

使用LangChain构建的模型上下文协议(MCP)服务器示例,展示如何创建基本MCP服务器并与LangChain代理集成以增强AI功能。

  • by Saad-Shakeel
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 saad-shakeel/mcp-server-starter

使用说明

MCP服务器启动器

使用LangChain构建的模型上下文协议(MCP)服务器的简单示例。此存储库演示了如何创建基本的MCP服务器并将其与LangChain代理集成,以增强AI功能。

什么是MCP?

模型上下文协议(MCP)是人工智能应用程序与外部数据源和工具通信的标准。它使人工智能模型能够通过标准化的界面访问实时信息、执行操作并与外部系统交互。

存储库结构

├── ArXiv Mcp/                    # ArXiv research MCP server example
│   ├── arxiv_client.py          # Client implementation using LangChain
│   └── arxiv_research_server.py # MCP server for ArXiv document retrieval
├── Multi Mcp/                    # Multi-server MCP client example
│   ├── client.py                # Client that can connect to multiple MCP servers
|── server_config.json       # Configuration for multiple servers
└── README.md                     # This file

先决条件

  • Python 3.8+
  • pip或uv包管理器
  • Python中async/await的基本理解
  • 郎链知识

安装

  1. 克隆存储库:
git clone https://github.com/Saad-Shakeel/Mcp-Server-Starter.git
cd Mcp-Server-Starter
  1. 使用紫外线:
uv sync

例子

ArXiv研究服务器

这 ArXiv Mcp/ 目录包含从ArXiv检索学术论文的MCP服务器的完整示例:

  • 服务器 (arxiv_research_server.py):使用ArXiv API实现文档检索
  • 客户端 (arxiv_client.py):连接到服务器并将其与LangChain代理一起使用

特征:

  • 根据搜索查询最多检索2个文档
  • 返回文档ID和完整内容
  • 与LangChain代理无缝集成

用途:

uv run ArXiv Mcp\arxiv_client.py

多服务器客户端

这 Multi Mcp/ 目录显示了如何同时连接到多个MCP服务器:

  • 客户端 (client.py):使用配置连接到多个服务器
  • 配置 (server_config.json):定义服务器连接

特征:

  • 连接到多个MCP服务器
  • 使用来自所有连接服务器的工具
  • 可配置的服务器管理
uv run Multi Mcp\client.py

创建自己的MCP服务器

第一步:定义你的工具

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("my-server")

@mcp.tool()
def custom_function(param1: str, param2: int) -> str:
    """
    Your custom tool description.
    
    Args:
        param1 (str): First parameter description
        param2 (int): Second parameter description
        
    Returns:
        str: Result description
    """
    # Your tool logic here
    return f"Result: {param1} processed {param2} times"

步骤2:添加工具装饰器

使用 @mcp.tool() 装饰器将函数作为MCP工具公开。函数签名和docstring会自动转换为MCP工具规范。

步骤3:运行服务器

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

配置

服务器配置

对于多台服务器,请使用配置文件:

{
  "servers": [
    {
      "name": "arxiv-server",
      "command": "uv",
      "args": ["arxiv_research_server.py"],
      "env": {}
    },
    {
      "name": "custom-server",
      "command": "python",
      "args": ["my_server.py"],
      "env": {}
    }
  ]
}

环境变量

使用 .env 敏感配置文件:

GROQ_API_KEY=your_api_key_here

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 添加您的MCP服务器示例
  4. 更新文档
  5. 提交拉取请求

资源

MCP服务器建设快乐! 🚀