Mcp Forge

Mcp Forge

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

iddv

开发者工具
访问服务器

README

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="My custom MCP server" 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=5

资源限制

设置服务器的资源限制:

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="Fixed the issue"

安全保护

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       # 核心 forge 服务器
├── 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 以查看总体进度:

Total Tasks: 40
Completed: 40 (100.0%)
In Progress: 0 (0.0%)
Not Started: 0 (0.0%)
Blocked: 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

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript