MCP Server Manager

MCP Server Manager

用于创建、管理和运行 MCP(模型上下文协议)服务器的图形界面和 CLI,具有实时监控和简化的配置。

marcellobatiista

开发者工具
访问服务器

README

MCP 服务器管理器

MIT 许可证 Python 3.10+ 项目状态 文档 版本 依赖项 兼容性 MCP 协议

一个用于 Cursor 和 Claude Desktop 的 MCP (模型控制协议) 服务器管理器,提供命令行界面 (CLI) 和图形界面 (GUI),以方便 MCP 服务器的管理。

🔎 概述

MCP 服务器管理器简化了 MCP (模型控制协议) 服务器的创建、配置和管理。 此项目主要面向希望使用 Cursor 和 Claude Desktop 创建、测试和使用本地 MCP 服务器的开发人员。

📋 功能

  • MCP 服务器管理: 启动、停止、重启和监控 MCP 服务器
  • 双重界面: 命令行界面和图形界面
  • 现代图形界面: 用于管理您的 MCP 服务器的可视化界面
  • 实时日志: 查看每个服务器生成的日志
  • 双向通信: 向服务器发送命令并接收响应
  • 多服务器: 同时管理多个服务器
  • 持久性: 即使您关闭界面,活动服务器也会继续运行
  • 自动配置: 与 Cursor 和 Claude Desktop 集成
  • 进程检测: 自动识别正在运行的服务器
  • 重复项检查: 在启动时和每 5 分钟自动检查重复进程
  • 快速设置: 适用于新环境的快速配置系统
  • 服务器导入: 能够通过图形界面导入现有的 MCP 服务器
  • 多平台系统: 兼容 Windows 和 macOS
  • 环境管理: 自动配置 Python 环境

🖥️ 兼容性

平台 状态 备注
Windows ✅ 完成 在 Windows 10/11 上测试
macOS ✅ 完成 在 macOS 12+ 上测试
Linux ⚠️ 部分 实验性支持

🔍 项目范围

当前限制

重要提示: 此版本的 MCP 服务器管理器目前仅支持本地 MCP 服务器。

这意味着:

  • 本地服务器: 该项目允许创建、配置和运行与 LLM 客户端在同一台机器上运行的 MCP 服务器
  • stdio 传输: 实现的服务器使用标准输入/输出进行通信
  • 独占管理: 系统专门管理 "mcp_server" 目录中的服务器
  • 远程服务器: 目前不支持通过 HTTP/SSE 的远程 MCP 服务器
  • OAuth 身份验证: 我们尚未实现远程服务器所需的身份验证

技术细节

此管理器创建的服务器:

  • 专门使用 stdio 传输进行通信
  • 作为本地进程运行
  • 没有外部公开的 HTTP 端点
  • 适用于本地测试和开发

未来路线图

在未来的版本中,我们计划添加:

  • [ ] 支持通过 HTTP/SSE 的远程 MCP 服务器
  • [ ] 与 OAuth 身份验证集成以实现安全访问
  • [ ] 简化云环境中服务器的托管
  • [ ] 用于管理远程服务器的界面
  • [ ] 完整的 Linux 支持
  • [ ] 指标和性能面板
  • [ ] 高级调试模式

📸 截图

图形界面 (GUI)

图形界面

命令行界面 (CLI)

命令行界面

与 Cursor 集成

Cursor MCP 服务器

🎬 演示视频

MCP 服务器管理器演示

🛠️ 使用的技术

  • Python 3.10+
  • 使用 Tkinter 和 ttkthemes 的 GUI
  • 使用 Rich 的 CLI,实现彩色和格式化的界面
  • TOML 配置管理
  • 使用 Psutil 进行进程检测
  • 使用 UV 进行 Python 环境管理

🚀 安装

要求

  • Python 3.10 或更高版本
  • Pip (Python 包管理器)

安装步骤

  1. 克隆存储库:

    git clone https://github.com/marcellobatiista/mcp-server-manager.git
    cd mcp-server-manager
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 执行快速设置:

    python quick_setup.py
    

验证安装

要验证安装是否成功,请执行:

mcp

您应该看到 MCP 服务器管理器的当前版本。

🚀 快速入门

要快速开始使用 MCP 服务器管理器,请按照以下步骤操作:

1. 创建您的第一个服务器

完成安装后,您可以创建您的第一个 MCP 服务器:

  1. 使用命令 mcp 启动图形界面
  2. 在主屏幕上,单击 "添加新服务器"
  3. 选择一个可用的模板或导入现有服务器
  4. 为您的服务器命名
  5. 单击 "创建" 以完成

2. 配置 Cursor

要将您的服务器与 Cursor 一起使用:

  1. 启动 Cursor
  2. 访问设置(齿轮图标)
  3. 转到 "MCP 服务器" 部分
  4. 您使用 MCP 服务器管理器创建的服务器应该已经出现在列表中
  5. 选择它以激活

3. 快速测试

要验证您的服务器是否正常工作:

  1. 在 MCP 服务器管理器中,单击 "启动" 按钮启动您的服务器
  2. 打开 Cursor 并创建一个新文档
  3. 在模板选择器中,选择您的 MCP 服务器
  4. 输入一个简单的问题来测试响应

现在您已准备好使用您的自定义 MCP 服务器!

📚 如何使用

全局命令 'mcp'

成功执行 quick_setup.py 后,您可以使用以下命令从任何位置启动 MCP 的图形界面:

mcp

ℹ️ 注意: 安装后需要打开一个新的命令提示符,该命令才能生效。

命令行界面 (CLI)

要启动 CLI 界面:

.\cli-launcher.bat

或直接通过 Python:

python cli/launcher.py

图形界面 (GUI)

要启动图形界面:

.\gui-launcher.bat

或直接通过 Python:

python gui/app.py

导入服务器

要导入现有的 MCP 服务器:

  1. 启动图形界面
  2. 在服务器管理选项卡中,单击 "导入服务器" 按钮
  3. 选择要导入的服务器的 Python 文件 (.py)
  4. 系统会将文件复制到 MCP 服务器目录,并将其添加到可用服务器列表中

📁 项目结构

该项目按以下方式组织:

主要目录

mcp-server-manager/
│
├── mcp_server/                  # 实现的 MCP 服务器
│   ├── demon.py                 # 示例 demon MCP 服务器
│   └── main.py                  # 服务器的入口点
│
├── cli/                         # 命令行界面 (CLI)
│   ├── launcher.py              # 主要 CLI 应用程序
│   ├── add_mcp.py               # 用于添加新服务器的实用程序
│   └── config_util.py           # 配置实用程序
│
├── gui/                         # 图形用户界面 (GUI)
│   ├── app.py                   # 主要 GUI 应用程序
│   ├── server_manager.py        # 服务器管理
│   ├── config_manager.py        # 配置管理
│   ├── utils.py                 # 实用程序和助手
│   └── assets/                  # 图形资源
│
├── config/                      # 系统配置
│   ├── servers.json             # 可用服务器列表
│   └── app_config.json          # 应用程序配置
│
├── tests/                       # 自动化测试
│   └── test_mcp_server.py       # 用于验证项目结构的测试
│
├── tools/                       # 脚本和辅助工具
│
└── logs/                        # 执行日志

主要文件

  • quick_setup.py - 自动化初始配置
  • cli-launcher.bat - 启动 CLI 的快捷方式
  • gui-launcher.bat - 启动 GUI 的快捷方式
  • requirements.txt - 项目依赖项

🔧 配置

客户端配置文件

系统与以下位置的配置文件交互:

  • Cursor: %USERPROFILE%\.cursor\mcp.json
  • Claude Desktop (Windows): %USERPROFILE%\AppData\Roaming\Claude\claude_desktop_config.json
  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json

手动配置

如果喜欢手动配置客户端,请按照以下说明操作:

Cursor

  1. 打开文件 %USERPROFILE%\.cursor\mcp.json
  2. 将您的服务器添加到 localMcpServers 列表

Claude Desktop

  1. 打开适合您系统的配置文件
  2. mcp.localServers 部分中添加服务器的路径

🧪 测试

运行测试

要运行自动化测试:

python -m pytest tests/

tests/ 目录包含验证以下内容的自动化测试:

  • 预期目录结构的存在
  • 实现的 MCP 服务器的存在
  • Cursor/Claude Desktop 客户端的正确配置

❤️ 支持项目

此项目是开源的,并根据 MIT 许可证 免费提供。

☕ 请我喝杯咖啡

如果此 MCP 服务器管理器对您有用,请考虑支持项目的持续开发:

☕ 捐赠一杯咖啡

🌟 您的支持的好处

有了您的支持,我可以:

  • ✅ 开发新功能
  • ✅ 改进图形界面和用户体验
  • ✅ 创建更多文档和教程
  • ✅ 保持与 Cursor 和 Claude Desktop 新版本的兼容性
  • ✅ 花更多时间解决问题和支持社区

🤝 其他贡献方式

  • 代码: 贡献 pull request 以改进项目
  • 想法: 提出包含建议和所需功能的 issue
  • 分享: 向可能从中受益的人宣传该项目
  • 文档: 帮助改进教程和文档

❓ 常见问题 (FAQ)

<details> <summary><b>什么是模型控制协议 (MCP)?</b></summary> MCP 是一种协议,允许 Cursor 和 Claude Desktop 等应用程序与语言模型进行通信。 它定义了应用程序如何向这些模型发送请求以及如何接收其响应。 </details>

<details> <summary><b>我需要了解 Python 才能使用 MCP 服务器管理器吗?</b></summary> 不一定。 要使用现有的服务器,图形界面 (GUI) 是直观的,不需要编程知识。 但是,要开发自己的 MCP 服务器,建议具备 Python 的基本知识。 </details>

<details> <summary><b>我可以将 MCP 服务器管理器与 Cursor 和 Claude Desktop 以外的其他应用程序一起使用吗?</b></summary> 是的,只要这些应用程序支持 MCP 协议。 但是,我们的文档和测试主要侧重于与 Cursor 和 Claude Desktop 的集成。 </details>

<details> <summary><b>运行本地 MCP 服务器是否安全?</b></summary> 是的。 本地 MCP 服务器仅在您的机器上运行,并且不公开外部 HTTP 端点。 通信通过 stdio(标准输入/输出)进行,这限制了外部暴露的风险。 </details>

<details> <summary><b>MCP 服务器管理器是否消耗大量系统资源?</b></summary> 不会。 MCP 服务器管理器旨在轻量级且高效。 资源消耗主要取决于您正在运行的特定 MCP 服务器。 </details>

<details> <summary><b>我可以在生产环境中使用 MCP 服务器管理器吗?</b></summary> 目前,MCP 服务器管理器更适合开发和测试环境。 对于生产用途,我们建议等待未来版本,其中包含对远程服务器的支持和额外的安全功能。 </details>

🔒 安全

安全实践

MCP 服务器管理器在开发时考虑了以下安全注意事项:

  • 本地隔离: MCP 服务器在本地运行,最大限度地降低了外部暴露的风险
  • 无公开端点: 当前实现中没有公开的 HTTP 端点
  • 输入验证: 用户输入在处理前经过验证
  • 进程管理: 服务器进程受到安全监控和管理

📄 许可证

此项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。


<p align="center"> <sub>由 ❤️ <a href="https://github.com/marcellobatiista">Marcelo Batista</a> 开发</sub> </p>

推荐服务器

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