Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Server Collection

БесплатноНе проверен

A modular framework for building and running multiple MCP servers with file operations, system information, and extensible tool/prompt/resource support.

GitHubEmbed

Описание

A modular framework for building and running multiple MCP servers with file operations, system information, and extensible tool/prompt/resource support.

README

这是一个包含多个 MCP (Model Context Protocol) 服务器的项目,每个服务器都有独立的功能和依赖。

🚀 特性

  • 可扩展架构: 基于通用基类的模块化设计
  • 统一日志管理: 使用 loguru 的高级日志系统
  • 完善异常处理: 分层异常体系和统一错误处理
  • 配置驱动: YAML 配置文件支持
  • 多传输协议: 支持 stdio、SSE、HTTP 等传输方式
  • 安全机制: 路径验证、敏感信息过滤等安全特性
  • 开发友好: 详细的开发规范和示例代码

📁 项目结构

mcp-server/
├── common/                 # 通用模块
│   ├── __init__.py         # 模块导出
│   ├── logger.py           # 通用日志类
│   ├── exceptions.py       # 通用异常类
│   └── base_server.py      # 通用服务器基类
├── server/                 # 服务器实现
│   ├── __init__.py
│   └── demo_server.py      # 演示服务器
├── tool/                   # 工具函数
│   └── __init__.py
├── prompt/                 # 提示函数
│   └── __init__.py
├── resource/               # 资源函数
│   └── __init__.py
├── config/                 # 配置文件
│   └── demo_server.yml     # 演示服务器配置
├── workspace/              # 工作空间(运行时创建)
├── logs/                   # 日志目录(运行时创建)
├── pyproject.toml          # 项目配置
├── DEVELOPMENT_GUIDE.md    # 开发规范
└── README.md               # 项目说明

🛠️ 安装

环境要求

  • Python 3.12+
  • Windows/Linux/macOS

安装依赖

# 克隆项目
cd e:\project\ai_secretary\mcp-server

# 安装依赖
pip install -e .

# 或者使用 poetry(推荐)
poetry install

🚀 快速开始

1. 运行演示服务器

# 使用默认配置运行
python server/demo_server.py

# 指定端口和日志级别
python server/demo_server.py --port 8080 --log-level DEBUG

# 使用不同传输协议
python server/demo_server.py --transport sse

2. 测试服务器功能

演示服务器提供以下功能:

文件操作工具

  • create_file: 创建文件
  • read_file: 读取文件内容
  • list_files: 列出目录文件

系统信息工具

  • get_system_info: 获取系统信息
  • get_environment_variables: 获取环境变量

通用工具(继承自基类)

  • get_server_info: 获取服务器信息
  • ping: 服务器心跳检测
  • set_log_level: 动态设置日志级别

演示提示

  • file_analysis: 文件分析提示
  • system_health_check: 系统健康检查提示

演示资源

  • workspace://files: 工作空间文件列表
  • demo://status: 演示服务器状态

3. 配置服务器

编辑 config/demo_server.yml 文件来自定义服务器行为:

# 基本配置
server:
  name: "my-server"
  port: 8080

# 日志配置
logging:
  level: "INFO"
  file: true

# 文件操作配置
file_operations:
  work_directory: "./my_workspace"
  max_file_size: 5242880  # 5MB

🔧 开发新服务器

1. 创建服务器类

from common import BaseMCPServer, MCPError

class MyServer(BaseMCPServer):
    def __init__(self, **kwargs):
        super().__init__(
            name="my-server",
            description="我的自定义MCP服务器",
            version="1.0.0",
            **kwargs
        )
        
        # 注册自定义功能
        self._register_my_tools()
    
    def _register_my_tools(self):
        @self.mcp.tool()
        def my_custom_tool(param: str) -> dict:
            """自定义工具"""
            return {"result": f"处理参数: {param}"}

2. 添加配置文件

config/ 目录下创建对应的 YAML 配置文件。

3. 实现启动脚本

def main():
    server = MyServer()
    server.run()

if __name__ == "__main__":
    main()

📚 详细文档

🏗️ 架构设计

核心组件

  1. BaseMCPServer: 通用服务器基类

    • 统一的服务器生命周期管理
    • 内置日志、异常处理、配置管理
    • 预注册通用工具、提示、资源
  2. MCPLogger: 通用日志类

    • 基于 loguru 的高级日志功能
    • 支持控制台和文件输出
    • 日志轮转和压缩
  3. 异常体系: 分层异常处理

    • MCPError 基类
    • 特定场景的异常子类
    • 统一异常处理机制

设计原则

  • 单一职责: 每个类和模块职责明确
  • 开放封闭: 对扩展开放,对修改封闭
  • 依赖倒置: 依赖抽象而非具体实现
  • 配置驱动: 通过配置文件控制行为
  • 安全第一: 内置安全机制和验证

🔒 安全特性

  • 路径验证: 防止目录遍历攻击
  • 文件大小限制: 防止资源耗尽
  • 敏感信息过滤: 自动过滤敏感环境变量
  • 输入验证: 严格的参数验证
  • 错误信息脱敏: 避免泄露敏感信息

🧪 测试

# 运行单元测试
pytest tests/

# 运行集成测试
pytest tests/integration/

# 生成覆盖率报告
pytest --cov=common --cov=server tests/

📊 监控和调试

日志查看

# 查看实时日志
tail -f logs/demo-server.log

# 查看错误日志
grep "ERROR" logs/demo-server.log

性能监控

服务器内置性能监控功能,可通过以下方式查看:

  • 使用 get_server_info 工具获取服务器状态
  • 查看 server://logs/performance 资源
  • 检查配置文件中的监控设置

🤝 贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建 Pull Request

开发规范

请遵循 DEVELOPMENT_GUIDE.md 中的开发规范:

  • 代码风格:使用 black 格式化
  • 类型注解:使用 mypy 检查
  • 文档:使用 docstring 注释
  • 测试:保持高测试覆盖率

📝 更新日志

v1.0.0 (2024-01-XX)

  • ✨ 初始版本发布
  • 🏗️ 实现基础架构和通用类
  • 📚 完善文档和开发规范
  • 🧪 添加演示服务器和示例

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢

📞 支持

如果您遇到问题或有建议,请:

  1. 查看 FAQ(待创建)
  2. 搜索现有 Issues
  3. 创建新的 Issue
  4. 联系维护者

AI Secretary MCP Server - 让 AI 助手更强大 🚀

from github.com/pengGgxp/mcp-server

Установить Server Collection в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install mcp-server-collection

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add mcp-server-collection -- uvx mcp-server

FAQ

Server Collection MCP бесплатный?

Да, Server Collection MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Server Collection?

Нет, Server Collection работает без API-ключей и переменных окружения.

Server Collection — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Server Collection в Claude Desktop, Claude Code или Cursor?

Открой Server Collection на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Server Collection with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development