项目简介

Manifest MCP Server Generator 是一个后端服务,它允许开发者轻松地为AI代理生成和托管 MCP (Model Context Protocol) 服务器。这些服务器能够将您现有的数据库(如MySQL)和上传的文件(资源)转化为可供大型语言模型 (LLM) 调用的工具和上下文信息。它提供了一个可视化界面(通过前端应用)来管理数据源、创建工具和资源,并负责激活和运行这些 MCP 服务器实例,使得LLM能够通过标准化的JSON-RPC协议访问您的企业数据。

主要功能点

  • 动态生成 MCP 服务器: 基于现有数据源和用户定义的需求,自动生成符合 MCP 协议的服务器实例。
  • 数据库工具集成: 通过自然语言提示,将数据库查询自动转化为可由 LLM 调用的工具。支持 MySQL 数据库的 SELECT 查询。
  • 文件资源管理: 允许上传和管理文件,这些文件可以作为上下文资源供 LLM 读取和利用。
  • MCP 协议实现: 托管的 MCP 服务器通过 JSON-RPC 协议提供 'tools/list'、'tools/call'、'resources/list' 和 'resources/read' 等核心功能。
  • 可视化工作流: 结合前端应用提供一个可视化的画布,展示数据源、MCP 服务器、工具和资源之间的关系。
  • 安全与控制: 支持数据源凭据加密和访问控制(未来功能),以确保数据访问的安全性。

安装步骤

  1. 环境准备: 确保您的系统已安装 Node.js (v18+) 和 Docker (用于运行 MySQL 或其他数据库)。
  2. 克隆仓库:
    git clone https://github.com/mnfst/mcp-server-generator.git
    cd mcp-server-generator
  3. 安装依赖:
    npm install
  4. 配置环境变量: 在项目根目录创建 '.env' 文件,并填写必要的配置(示例):
    # 数据库配置 (示例为MySQL)
    DB_HOST=localhost
    DB_PORT=3306
    DB_USERNAME=root
    DB_PASSWORD=password
    DB_DATABASE=manifest_poc
    
    # OpenAI API 密钥 (用于LLM生成SQL查询)
    OPENAI_API_KEY=sk-your-openai-api-key-here
    
    # 后端端口
    BACKEND_PORT=3001
    
    # 前端端口
    FRONTEND_PORT=5173
    
    # 凭据加密密钥 (必须至少32字符,用于加密数据库密码)
    CREDENTIALS_ENCRYPTION_KEY=averysecurekeyforcredentialencryptionthatisatleast32chars
  5. 启动后端服务:
    npm run start:backend
  6. 启动前端界面:
    npm run start:frontend
  7. (可选)启动 MCP 代理客户端: 如果您需要一个将 MCP 服务器暴露为 OpenAI 兼容接口的客户端:
    # 在另一个终端
    npm run start:agent
    此代理客户端会读取 'agent/mcp-servers.json' 配置来连接您在后端创建的 MCP 服务器。

服务器配置 (供 MCP 客户端使用)

MCP 客户端需要知道如何连接到 Manifest 托管的 MCP 服务器。一旦您在 Manifest 后端通过其管理界面创建并激活了一个 MCP 服务器(例如,其 'slug' 为 'my-mysql-server'),该服务器就会在 Manifest 后端的 '/mcp/' 路径下提供服务。 MCP 客户端的配置通常是 JSON 格式,包含服务器名称、连接 URL 和协议等信息。

例如,一个 MCP 客户端的配置可能如下所示(请根据您的实际部署地址和 MCP 服务器的 slug 进行调整):

{
  "servers": [
    {
      "name": "我的数据库MCP服务器",
      "url": "http://localhost:3001/mcp/my-mysql-server",
      "enabled": true
    }
  ]
}
  • 'name': 您为 MCP 服务器实例定义的易读名称。
  • 'url': MCP 服务器的访问地址。其中 'http://localhost:3001' 是 Manifest 后端服务的地址,'/mcp/my-mysql-server' 是该服务器的特定 MCP 协议端点,'my-mysql-server' 应替换为您在 Manifest 界面中创建的 MCP 服务器的 'slug'。
  • 'enabled': 布尔值,指示该 MCP 服务器是否启用。

基本使用方法

  1. 访问 Manifest 界面: 启动前端后,访问 'http://localhost:5173'。
  2. 添加数据源: 在界面中创建并配置您的 MySQL 数据源。
  3. 创建 MCP 服务器: 为您的数据源创建一个 MCP 服务器实例。
  4. 添加工具/资源:
    • 工具: 通过自然语言描述您希望 LLM 执行的 SQL 查询(例如:"查询所有活跃用户"),系统会使用 AI 生成对应的 SQL 工具。
    • 资源: 上传您希望 LLM 读取的文件。
  5. 激活 MCP 服务器: 在 Manifest 界面中激活您创建的 MCP 服务器。一旦激活,它将在 'http://localhost:3001/mcp/{您的服务器slug}' 地址上运行,并可供任何 MCP 客户端连接。
  6. 连接 MCP 客户端: 配置您的 MCP 客户端(例如,使用本项目提供的 'agent' 客户端或您自己的 LLM 应用)连接到激活的 Manifest MCP 服务器端点,LLM 即可开始使用您定义的工具和资源。

信息

分类

数据库与文件