返回市场
MCP锻造

MCP锻造

作者:iddv4 星标更新:2025-04-05

项目介绍

m# MCP-Forge:动态MCP服务器生成器与管理器

MCP-Forge 是一个强大的框架,用于动态生成、管理和监控模型上下文协议(MCP)服务器。通过使用官方的 MCP SDK,此工具允许您通过集中式界面按需创建专用的 MCP 服务器。

主要功能

  • 动态服务器生成:从具有特定功能的模板创建定制化的 MCP 服务器
  • 灵活的模板系统:扩展基础模板,添加自定义处理器和服务器选项
  • 服务器生命周期管理:从单一控制点启动、停止和监控多个 MCP 服务器
  • 内置定制化:添加身份验证、持久性、HTTP 请求、数据库访问等
  • 高级监控:跟踪服务器资源、日志和性能指标
  • 自动扩展:根据需求和资源使用情况自动扩展服务器
  • 集中日志记录:聚合所有服务器的日志,并支持过滤和搜索
  • 实时状态报告:实时监控服务器健康状况和性能
  • 告警系统:通过各种渠道接收关键问题的通知
  • 全面API:完整的客户端API,用于管理整个服务器生态系统
  • MCP SDK集成:基于官方的模型上下文协议SDK构建
  • 企业级安全:针对常见漏洞和攻击的综合保护机制

安装

  1. 克隆仓库:

    git clone https://github.com/iddv/mcp-forge.git
    cd mcp-forge
    
  2. 创建虚拟环境:

    python -m venv venv
    source venv/bin/activate  # 在Windows上:venv\Scripts\activate
    
  3. 安装所需依赖:

    pip install -r requirements.txt
    

快速开始

启动Forge服务器

python forge_mcp_server.py --port 9000

创建服务器

使用客户端创建新服务器:

python client.py create name="my-server" description="我的自定义MCP服务器" capabilities=["echo","time","uptime"]

列出可用服务器

python client.py list --details

启动/停止/重启服务器

python client.py start <server-id>
python client.py stop <server-id>
python client.py restart <server-id>

获取服务器信息

python client.py info <server-id>
python client.py logs <server-id>
python client.py stats <server-id>

连接到特定服务器

python client.py --port 9001 tools

删除服务器

python client.py delete <server-id>

自定义

MCP-Forge 支持对生成的服务器进行广泛的自定义:

添加自定义处理器

python client.py create name="advanced-server" handlers=["file_reader","http_request"]

配置服务器选项

python client.py create name="storage-server" options={"persistence":"sqlite","auth":"basic"}

高级功能

自动扩展

配置服务器组的自动扩展:

python client.py call manage_auto_scaling action="create_group" group_name="web-servers" min_instances=1 max_instances=

资源限制

设置服务器的资源限制:

python client.py call set_resource_limit server_id="server-id" limit_name="cpu_percent" limit_value=50.0

配置管理

获取和设置配置选项:

python client.py call get_config
python client.py call set_config section="server" key="log_level" value="debug"

集中日志记录

访问并搜索所有服务器的日志:

python client.py call get_logs source="system" log_level="error" limit=50
python client.py call get_logs source="server-id" limit=100

状态报告

获取所有服务器的实时状态信息:

python client.py call get_server_status
python client.py call get_server_status server_id="server-id"

性能指标

访问系统或特定服务器的性能指标:

python client.py call get_metrics source="system" time_period="hour"
python client.py call get_metrics source="server-id" time_period="day"

告警管理

管理和响应系统告警:

python client.py call get_alerts active_only=true
python client.py call acknowledge_alert alert_id="alert-id" user="admin"
python client.py call resolve_alert alert_id="alert-id" resolution_message="已解决问题"

安全防护

MCP-Forge 包含全面的安全防护机制:

# 生成CSRF令牌以进行安全操作
python client.py call get_csrf_token session_id="your-session-id"

# 测试安全防护机制
python test_protection.py --host localhost --port 9000 --test all

安全特性

MCP-Forge 实现了多层次的安全方法:

  • 输入验证:严格验证所有用户输入
  • XSS防护:内容安全策略和输入净化
  • CSRF防护:基于令牌的状态更改操作保护
  • SQL注入防护:针对SQL模式的输入验证
  • 速率限制:基于IP和全局的速率限制
  • DDoS防护:突发检测和IP黑名单
  • 安全头:Content-Security-Policy, X-Frame-Options等
  • 服务器加固:防止目录列表,内容长度限制
  • 数据加密:保护敏感数据
  • 入侵检测:基于模式的可疑活动检测
  • 审计日志:全面的安全事件日志
  • 认证:基于角色的访问控制

更多详情,请参阅安全防护文档

项目结构

mcp-forge/
├── forge_mcp_server.py       # 核心锻造服务器
├── server_manager.py         # 服务器实例管理
├── config_manager.py         # 配置管理
├── auto_scaler.py            # 自动扩展系统
├── resource_monitor.py       # 资源监控
├── process_monitor.py        # 进程监控
├── logging_system.py         # 集中日志系统
├── log_aggregator.py         # 日志聚合服务
├── status_reporter.py        # 状态报告系统
├── metrics_collector.py      # 性能指标收集
├── alerting_system.py        # 关键问题告警系统
├── audit_logger.py           # 安全审计日志系统
├── authentication_system.py  # 认证和授权
├── protection_mechanisms.py  # 安全防护机制
├── request_validator.py      # 请求验证和净化
├── quota_manager.py          # 资源配额管理
├── template_system/          # 生成服务器的模板系统
│   ├── template_manager.py   # 模板加载和解析
│   ├── customization.py      # 自定义点
│   ├── handlers/             # 自定义处理器模板
│   └── templates/            # 服务器模板
├── client.py                 # 与服务器交互的客户端
├── test_protection.py        # 安全测试工具
├── servers/                  # 生成的服务器脚本目录
├── docs/                     # 文档目录
│   ├── api_specification.md  # API规范
│   ├── security_protection.md # 安全文档
│   └── development_workflow.md # 开发指南
└── progress_tracker.py       # 开发进度追踪实用程序

API文档

完整的API文档,请参阅docs/api_specification.md文件,其中包含详细信息:

  • 所有可用的客户端命令
  • 服务器管理端点
  • 资源监控能力
  • 配置选项
  • 自动扩展功能
  • 安全特性
  • 错误处理

开发状态

MCP-Forge 的开发已完成100%,包括所有40个计划任务的实现,以及全面的安全防护机制。

运行python progress_tracker.py stats查看整体进度:

总任务数:40
完成:40(100.0%)
正在进行:0(0.0%)
未开始:0(0.0%)
阻塞:0(0.0%)

要求

  • Python 3.7+
  • MCP SDK 1.6.0+
  • httpx 0.28.0+
  • anyio 4.0.0+
  • psutil 5.9.0+
  • requests 2.31.0+
  • python-dateutil 2.8.2+
  • aiosmtplib 2.0.1+(用于电子邮件通知)
  • prometheus-client 0.17.1+(可选,用于暴露指标)
  • jsonschema 4.17.3+(用于配置验证)

许可证

MIT