使用说明
MCP服务器集合
一个为各种服务和平台提供模型上下文协议(MCP)服务器的集合。此存储库提供了一个可重用的模板框架,用于快速且一致地构建MCP服务器。
仓库结构
mcp-servers/
├── README.md # This file
├── template/ # Base template for new MCP servers
│ ├── base_server.py # Base MCP server class
│ ├── base_auth.py # Authentication patterns
│ ├── README_template.md # Documentation template
│ └── requirements_template.txt
├── gmail/ # Gmail MCP server
├── zabbix/ # Zabbix monitoring MCP server
└── elk/ # ELK Stack MCP server
可用的MCP服务器
1. Gmail MCP 服务器(v2.1)
功能齐全的Gmail MCP服务器,支持16项操作,包括邮件搜索、发送、草稿、标签和附件管理。
特点:
- 使用Gmail查询语法进行电子邮件搜索
- 发送包含HTML内容的电子邮件
- 管理草稿(创建、阅读、更新、发送、删除)
- 标签管理
- 附件处理(列出,下载)
- 电子邮件操作(阅读、修改、删除、存档、标记为重要)
目录: gmail/
文档: Gmail 阅读说明
2. Zabbix MCP 服务器(v1.0)
通过MCP接口监控和管理Zabbix基础设施。
特点:
- 主机管理(列出,获取详情)
- 监测项目和历史记录
- 触发与问题追踪
- 主机群管理
- API 认证
目录: zabbix/
文档: Zabbix 阅读说明
3. ELK MCP 服务器(v1.0)
通过MCP接口在Elasticsearch中搜索和分析日志。
特点:
- 集群健康状况和统计信息
- 指数管理
- 按时间范围进行日志搜索
- 聚合分析
- 错误模式分析
- 文档检索
目录: elk/
文档: ELK 说明文件(或:ELK 阅读须知)
模板框架
这个(或“该”) template/ 该目录包含用于构建新MCP服务器的可重用基类:
基础服务器(base_server.py)
提供通用的MCP服务器功能:
from base_server import BaseMCPServer, create_json_schema
class MyMCPServer(BaseMCPServer):
def __init__(self):
super().__init__("my-service")
self.setup_tools()
def setup_tools(self):
self.register_tool(
name="my_operation",
description="Perform operation",
handler=self.my_operation,
schema=create_json_schema(
properties={
"param": {"type": "string", "description": "Parameter"}
},
required=["param"]
)
)
def my_operation(self, args: dict) -> dict:
return self.format_success("Operation completed")
主要特点:
- 自动工具注册
- 标准化响应格式
- 错误处理
- JSON schema 辅助工具
认证(base_auth.py)
多种认证模式:
- OAuth2处理器OAuth 2.0 流程(如 Gmail 所使用)
- **TokenAuthHandler 翻译为中文是“令牌认证处理器”**基于令牌的认证(如Zabbix)
- **BasicAuthHandler 翻译为中文是“基本认证处理器”**基本的用户名/密码认证(如ELK)
from base_auth import create_auth_handler
# Create OAuth2 handler
auth = create_auth_handler(
'oauth2',
'gmail',
scopes=['https://www.googleapis.com/auth/gmail.modify'],
client_secrets_file='credentials.json'
)
# Create token auth handler
auth = create_auth_handler(
'token',
'zabbix',
api_url='http://localhost/api_jsonrpc.php'
)
创建一个新的MCP服务器
1. 创建目录结构
mkdir -p mcp-servers/myservice
cd mcp-servers/myservice
2. 复制模板文件
cp ../template/README_template.md README.md
cp ../template/requirements_template.txt requirements.txt
3. 创建服务器实现
#!/usr/bin/env python3
"""My Service MCP Server"""
import sys
from pathlib import Path
# Add template directory to path
sys.path.insert(0, str(Path(__file__).parent.parent / "template"))
from base_server import BaseMCPServer, create_json_schema
class MyServiceMCP(BaseMCPServer):
def __init__(self):
super().__init__("myservice")
self.setup_authentication()
self.setup_tools()
def setup_authentication(self):
# Initialize your API client
pass
def setup_tools(self):
# Register your tools
self.register_tool(
name="my_operation",
description="Perform operation",
handler=self.my_operation,
schema=create_json_schema(
properties={"param": {"type": "string"}},
required=["param"]
)
)
def my_operation(self, args: dict) -> dict:
# Implement your operation
return self.format_success("Success!")
if __name__ == "__main__":
server = MyServiceMCP()
server.run()
4. 安装依赖项
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
5. 配置MCP(多通道处理器/微控制器等,具体根据上下文确定)
添加到Claude桌面配置中(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"myservice": {
"command": "python",
"args": ["/absolute/path/to/mcp-servers/myservice/server.py"]
}
}
}
快速入门
安装服务器
# Navigate to server directory
cd mcp-servers/gmail # or zabbix, elk
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run authentication setup (if required)
python server.py --auth # (if implemented)
添加到Claude Desktop
编辑您的Claude Desktop配置文件:
macOS:(苹果电脑操作系统) ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"gmail": {
"command": "python",
"args": ["/absolute/path/to/mcp-servers/gmail/enhanced_server.py"]
},
"zabbix": {
"command": "python",
"args": ["/absolute/path/to/mcp-servers/zabbix/server.py"]
},
"elk": {
"command": "python",
"args": ["/absolute/path/to/mcp-servers/elk/server.py"]
}
}
}
发展
模板组件
模板框架提供:
-
**BaseMCPServer(可译为“基础MCP服务器”)**核心服务器功能
- 工具注册与管理
- 响应格式化
- 错误管理
- 异步服务器执行
-
**BaseAuthHandler(可译为“基本认证处理器”或根据具体上下文简化为“基础认证处理类”)**认证模式
- OAuth2(支持令牌刷新)
- 基于令牌的(API令牌)
- 基本认证(用户名/密码)
-
辅助函数:
create_json_schema()轻松构建JSON模式format_success()标准化的成功响应format_error()标准化错误响应
最佳实践
- 使用模板框架 为了保持一致性
- 遵循命名规范:
- 服务器名称:使用小写字母并加连字符(例如。,
my-service) - 工具名称:snake_case(例如。,
get_user_info)
- 服务器名称:使用小写字母并加连字符(例如。,
- 提供清晰的描述 适用于所有工具
- 包含示例 在文档中
- 优雅地处理错误 带有描述性信息
- 使用类型提示 为了提高代码的清晰度
- 彻底测试 在部署之前
要求
- Python 3.7及以上版本
- mcp >= 0.9.0
- 特定服务的依赖项(请参阅各个requirements.txt文件)
许可证
MIT 许可证 - 详情请参阅各服务器的 LICENSE 文件
做出贡献
添加一个新的MCP服务器:
- 在(指定位置)创建新目录
mcp-servers/ - 使用来自……的模板框架
template/ - 使用(某种技术或语言)实现服务器
BaseMCPServer - 如需,请添加身份验证
- 创建全面的README文件
- 彻底测试
- 更新这个主README文件
版本历史
仓库(或存储库)
- v1.0.0(2025年1月9日):初始多服务器仓库
- 模板框架
- Gmail MCP v2.1(可译为:“Gmail多账户切换插件/工具 v2.1”)
- Zabbix MCP v1.0
- ELK MCP 版本 1.0
单个服务器
- Gmail版本2.1.0 - 16项功能,附件支持,全面邮件管理
- **Zabbix(注:Zabbix是一个开源的监控软件,用于网络监控、系统监控和应用程序监控等,此处直接保留原名,不进行意译)**v1.0.0版本 - 9项功能,监控与告警
- ELK 通常指的是 Elasticsearch、Logstash 和 Kibana 这三个开源工具的组合,它们常被一起使用来处理日志数据,提供日志收集、分析和可视化等功能。因此,ELK 可以翻译为“Elasticsearch、Logstash 和 Kibana 组合”或简化为“ELK 套件”,具体翻译可能根据上下文有所调整v1.0.0 - 10项功能,日志搜索与分析
