MCP服务器管理工具

MCP服务器管理工具是一个集中式平台,用于管理模型上下文协议(MCP)集成,连接AI客户端与全球MCP服务器,实现安全数据访问和工具执行。

  • by McAdamMai
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 McAdamMai/mcp_server_manager

使用说明

# MCP Server Manager (Phase 1)
**Course:** SEP-759 - McMaster University  
**Developer:** Zihe Mai  
**Environment:** Ruby 3.3.6 | Rails 8.1.3 | PostgreSQL (Docker)

## 📌 Project Overview
The **MCP Server Manager** is a centralized hub for managing Model Context Protocol (MCP) integrations. It allows users to connect various AI Clients (like Claude or Cursor) to a catalog of global MCP Servers (Notion, GitHub, etc.), enabling secure data access and tool execution for AI agents.

---

## 🚀 Getting Started

### 1. Prerequisites
Ensure you have the following installed on your MacBook:
* **Ruby 3.3.6**
* **Rails 8.1.3**
* **Docker Desktop** (for the PostgreSQL database)

### 2. Database Setup
This project uses PostgreSQL running in a Docker container.
```bash
# Start the database container
docker-compose up -d

# Setup the database and tables
bin/rails db:prepare

# Seed the database with test users and servers
bin/rails db:seed

3.启动应用程序

bin/rails server

访问应用程序: http://localhost:3000


🔑 测试证书

使用这些帐户探索多用户功能和 N: M(多对多) 关系。

用户角色 电子邮件 密码
管理员用户 admin@test.com password123
学生用户 student@test.com password123

🛠 功能(第一阶段要求)

1.数据库和关系

该应用程序实现了一个满足以下准则的复杂关系结构:

  • 1:N(一对多): 用户有许多AI客户端(例如Claude、Cursor)。
  • N: M(多对多): 用户通过以下方式连接到全局MCP服务器 Connections 加入桌子。
  • 嵌套资源: 工具嵌套在MCP服务器下(/mcp_servers/:id/tools).

2.身份验证

  • 使用自定义身份验证系统 bcrypt 和 has_secure_password.
  • 具有会话持久性的安全登录/注销流程。

3.现代UI/UX

  • 侧栏导航: 动态侧边栏列出了用户的特定客户端和活动服务器。
  • 浮动窗口(模态): 工具列表和帐户设置在模糊的背景浮动窗口中打开,给人一种现代的“应用程序”感觉。
  • 档案管理: 集成 活动存储 用于上传个人资料照片(第2阶段奖金预览)。

📂 项目结构亮点

  • app/models/:包含用户、客户端、McpServers、工具和连接的逻辑。
  • app/views/shared/_sidebar.html.erb:一个干燥、可重复使用的侧边栏组件。
  • db/seeds.rb:自动填充全局服务器目录(Notion、ChatGPT、Stripe等)并附加标准工具(shell, read, write, database)每个人。

🧪 第二阶段路线图

  • []实现基于Devise的JWT身份验证。
  • []在下创建5+JSON API终结点 api/v1/.
  • []配置连接通知的操作邮件程序。
  • []使用AWS S3部署到Heroku进行主动存储。

---

### How to add this to your project:
1.  **Create the file:** `touch README.md`
2.  **Open it:** `open README.md` (or use VS Code).
3.  **Paste the text above.**
4.  **Push to GitHub:**
    ```bash
    git add README.md
    git commit -m "Added professional README for Phase 1 submission"
    git push
    ```

Does this cover everything you wanted for your submission, or should we add a specific section about the **PIRO** project you mentioned earlier?````