模型上下文协议服务器

一个演示如何构建和使用MCP(模型上下文协议)服务器的简单项目,支持GitHub API操作和数据库查询,适用于企业环境和一般用户。

  • by alokverma18
  • Python
  • 混合部署
  • 3 星标
  • 更新于
在 GitHub 查看 alokverma18/mcp

使用说明

MCP服务器项目

一个简单的项目,演示如何构建和使用MCP(模型上下文协议)服务器。

快速开始

  1. 安装依赖项:
pip install -r requirements.txt
  1. 在Windsurf/Claude桌面中配置MCP服务器:
{
  "mcpServers": {
    "github": {
      "command": "python",
      "args": ["/path/to/server/github.py"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here (see .env.example)"
      }
    },
    "database": {
      "command": "python", 
      "args": ["/path/to/server/database.py"]
    }
  }
}
  1. 与LLM一起使用:
  • 启动Windsurf/Claude桌面
  • 问:“给我看看octocat的仓库”
  • LLM将自动调用MCP服务器工具

🚀 实时部署

此MCP服务器已部署,可在以下位置进行测试:

  • 统一资源定位符: https://my-mcp.fastmcp.app/mcp
  • 状态:生产就绪

使用已部署的服务器

配置Windsurf以使用部署的端点:

{
  "mcpServers": {
    "github-mcp-deployed": {
      "url": "https://my-mcp.fastmcp.app/mcp",
      "disabled": false
    }
  }
}

测试已部署的服务器:

  • 询问任何有MCP支持的LLM:“显示gn1264的存储库”
  • 部署的服务器将使用GitHub数据进行响应

部署服务器的好处

  • ✅ 不需要本地Python环境
  • ✅ 始终可用且可靠
  • ✅ 托管基础设施
  • ✅ 与本地版本功能相同

测试(可选)

对于开发和测试:

# Test GitHub server
python testing/test_github_server.py get-repos octocat

# Test Database server
python testing/test_database_server.py query "SELECT * FROM users"

项目结构

mcp/
├── server/                 # MCP servers
│   ├── github.py          # GitHub API server
│   └── database.py        # Database server
├── client/                 # Real LLM client
│   └── mcp_client.py      # LLM integration example
├── testing/               # Server testing utilities
│   ├── test_github_server.py   # Test GitHub server
│   └── test_database_server.py # Test Database server
├── simple.db              # Sample database file
├── requirements.txt        # Dependencies
├── README.md             # This file
└── learn.md              # Learning guide

MCP服务器

这两个服务器都是独立的,并展示了不同的用例:

GitHub服务器(server/github.py)

  • 目的:演示GitHub MCP服务器在市场上的工作方式
  • 用例:面向普通用户的公共GitHub API访问
  • 工具:GitHub API操作(获取转发、提交、搜索等)
  • 类似于:商业GitHub MCP集成

数据库服务器(server/database.py)

  • 目的:显示企业数据库集成模式
  • 用例:企业环境中的内部数据库访问
  • 工具:SQL查询执行
  • 类似于:为公司数据定制内部MCP服务器

测试与实际使用

测试工具(testing/)

  • 直接调用工具测试服务器功能
  • 手动工具选择

LLM客户端(client/mcp_client.py)

  • 通过LLM集成实现MCP的实际使用
  • 动态刀具选择

学习

看 learn.md 了解MCP概念的详细解释以及该项目的工作原理。