MCP服务器集合

一个包含多种服务和平台的模型上下文协议(MCP)服务器集合,提供快速构建MCP服务器的可重用模板框架。

  • by vjranagit
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 vjranagit/zabbix-mcp-server

使用说明

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"]
    }
  }
}

发展

模板组件

模板框架提供:

  1. **BaseMCPServer(可译为“基础MCP服务器”)**核心服务器功能

    • 工具注册与管理
    • 响应格式化
    • 错误管理
    • 异步服务器执行
  2. **BaseAuthHandler(可译为“基本认证处理器”或根据具体上下文简化为“基础认证处理类”)**认证模式

    • OAuth2(支持令牌刷新)
    • 基于令牌的(API令牌)
    • 基本认证(用户名/密码)
  3. 辅助函数:

    • create_json_schema()轻松构建JSON模式
    • format_success()标准化的成功响应
    • format_error()标准化错误响应

最佳实践

  1. 使用模板框架 为了保持一致性
  2. 遵循命名规范:
    • 服务器名称:使用小写字母并加连字符(例如。, my-service)
    • 工具名称:snake_case(例如。, get_user_info)
  3. 提供清晰的描述 适用于所有工具
  4. 包含示例 在文档中
  5. 优雅地处理错误 带有描述性信息
  6. 使用类型提示 为了提高代码的清晰度
  7. 彻底测试 在部署之前

要求

  • Python 3.7及以上版本
  • mcp >= 0.9.0
  • 特定服务的依赖项(请参阅各个requirements.txt文件)

许可证

MIT 许可证 - 详情请参阅各服务器的 LICENSE 文件

做出贡献

添加一个新的MCP服务器:

  1. 在(指定位置)创建新目录 mcp-servers/
  2. 使用来自……的模板框架 template/
  3. 使用(某种技术或语言)实现服务器 BaseMCPServer
  4. 如需,请添加身份验证
  5. 创建全面的README文件
  6. 彻底测试
  7. 更新这个主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项功能,日志搜索与分析

资源