BasicMcpServer:MCP服务器实现资源
此存储库有三个主要目的:
- MCP服务器简单示例:一个基本的参考实现,您可以根据自己的需要克隆和修改
- Docker容器化演示:演示如何在Docker中通过端到端测试设置MCP服务器
- 设置自动化:提供一个脚本来生成更复杂的MCP服务器(如Jira集成)
MCP参考
为这一实施提供信息的关键资源:
- MCP文件 -模型上下文协议的正式文件和介绍
- Python SDK库 -MCP官方Python SDK
- MCP HTTP客户端示例 -帮助开发此存储库中的测试代码的参考实现
目录
- 基本MCP服务器:使用基本工具的简单参考实现
- Docker配置:具有多阶段构建的容器化设置
- 端到端测试:演示正确的MCP服务器测试
setup_jira_mcp_server.sh:生成Jira集成MCP服务器的脚本mcp_server_implementation_guide.md:MCP服务器实施综合指南
入门指南
选项1:使用基本MCP服务器作为模板
最简单的方法是克隆此存储库并根据需要进行修改:
# Clone the repository
git clone https://github.com/yourusername/BasicMcpServer.git my-mcp-server
cd my-mcp-server
# Modify src/server.py to implement your custom tools and resources
# Update config.py with your required environment variables
# Run with Docker or directly with Python选项2:学习基于Docker的MCP服务器实现
研究Docker配置和端到端测试,了解:
- 多阶段Docker构建,实现高效镜像
- 容器配置最佳实践
- MCP服务器的测试模式
选项3:生成Jira MCP服务器
要创建完整的Jira MCP服务器项目结构,请执行以下操作:
- 使安装脚本可执行(已完成):
chmod +x setup_jira_mcp_server.sh- 运行脚本:
./setup_jira_mcp_server.sh命令行选项:
Usage: ./setup_jira_mcp_server.sh [OPTIONS]
Options:
-n, --name NAME Specify project name (default: jira-mcp-server)
--no-git Skip Git repository initialization
--no-github Skip GitHub repository creation
-h, --help Show help message- 按照脚本运行后显示的说明进行操作:
- 导航到新创建的项目目录 - 在中配置Jira凭据 .env 文件 - 构建并运行Docker容器
脚本会自动执行以下操作:
- 使用所有必要的文件创建完整的项目结构
- 初始化Git存储库(除非
--no-git已指定) - 创建GitHub存储库并推送代码(如果安装了GitHub CLI并进行了身份验证)
- 使所有必要的脚本可执行
这将创建一个与Jira集成的更复杂的MCP服务器示例,允许AI助手通过MCP协议与Jira实例进行交互。
选项4:了解MCP服务器实现
如果您想了解有关MCP服务器如何工作以及如何实现它们的更多信息:
- 阅读综合指南
mcp_server_implementation_guide.md - 本指南包括:
- 项目结构和设置 - 使用FastMCP实现MCP服务器 - Docker容器化 - 测试策略 - 部署选项 - 最佳实践
为其他服务定制
Jira MCP服务器可以用作为其他服务创建MCP服务器的模板:
- 使用安装脚本生成Jira MCP服务器项目
- 将Jira特定代码替换为目标服务的代码:
- 修改 src/services/ 实施您的服务集成 - 更新 src/server.py 为您的服务定义工具和资源 - 更新 src/config.py 包括必要的配置变量 - 更新 .env.example 具有适当的环境变量
什么是MCP?
这 模型上下文协议(MCP) 是人工智能助手和外部服务之间通信的标准。它使AI助手能够:
- 发现并调用执行操作的工具
- 访问提供信息的资源
- 通过标准化界面与外部系统交互
通过实施MCP服务器,您可以通过让AI助手访问您的服务和数据来扩展其功能。此存储库使用 官方Python SDK 并遵循MCP服务器实现的最佳实践。
先决条件
- Python 3.11或更高版本
- Docker(用于容器化部署)
- 特定于服务的API凭据
许可证
该项目是在MIT许可证下提供的。
