• 项目简介 JoinIn.ai MCP 服务端是 JoinIn.ai 平台中负责与大型语言模型(LLM)客户端进行交互的核心组件。它遵循 Model Context Protocol (MCP) 协议,以标准化的方式向 LLM 暴露平台功能和上下文信息。通过该服务端,LLM 客户端可以调用预注册的工具(如创建会议、查询用户、控制AI会议机器人、检索知识库文档),从而实现更智能、更具行动力的会议自动化和辅助功能。它作为AI集成层,将复杂的后端微服务抽象为LLM可理解和调用的工具。

  • 主要功能点

    • 工具注册与执行: 托管并允许 LLM 客户端调用一系列预定义的工具,包括:
      • 用户管理: 搜索、查询和创建用户。
      • 会议管理: 创建、列出、获取会议详情,管理会议参与者和行动项。
      • AI 会议机器人控制: 列出、获取AI机器人详情,创建、更新、分配和管理AI会议机器人。
      • 知识库检索: 列出知识库、搜索文档、获取文档详情,并添加新知识内容。
    • 能力声明: 向客户端声明其支持的MCP能力,目前主要支持“工具”功能。
    • HTTP API: 通过基于 Fastify 框架构建的 HTTP API 提供服务,支持 OpenAPI 3.0 文档。
    • 微服务集成: 作为代理,将 LLM 的请求路由到后端的用户服务、会议服务、AI机器人服务和知识服务等微服务。
  • 安装步骤 在本地运行 JoinIn.ai MCP 服务端前,请确保已安装以下依赖:

    1. Node.js 20+ 和 npm 10+: 用于运行 JavaScript 项目。
    2. 1Password CLI: 用于安全管理敏感配置信息。
    3. direnv: 用于自动加载环境变量。
    4. Docker: 用于运行本地 PostgreSQL 数据库。
    5. Git: 用于克隆仓库。

    安装流程:

    1. 克隆仓库:
      git clone https://github.com/tomhaus-com/joinin.ai.git
      cd joinin.ai
    2. 安装依赖:
      npm install
    3. 设置环境变量:
      direnv allow .
      # 复制 .env.example 到 .env.local 并根据需要配置数据库连接、API密钥等
      cp .env.example .env.local
    4. 设置数据库: 启动 Docker 并运行数据库迁移。
      npm run db:setup
    5. 启动开发环境:
      npm run dev:mcp
      MCP 服务端将在 'http://localhost:3003' 端口启动。
  • 服务器配置 (MCP 客户端用) MCP 客户端需要通过 JSON 配置来连接 JoinIn.ai MCP 服务端。以下是配置示例:

    {
      "server_name": "JoinIn.ai MCP Server",
      "server_description": "提供 JoinIn.ai 平台的会议、用户、AI机器人和知识库工具。",
      "command": "node",
      "args": ["apps/bff/ai/src/index.js"],
      "port": 3003,
      "protocol": "http",
      "capabilities": {
        "tools": true,
        "resources": false,
        "prompts": false
      },
      "api_docs_url": "http://localhost:3003/docs"
    }

    配置说明:

    • 'server_name': 服务器的显示名称,方便识别。
    • 'server_description': 服务器功能的详细描述。
    • 'command': 启动 MCP 服务器的执行命令,例如 'node'。
    • 'args': 启动命令的参数,指向 MCP 服务端的主文件路径。在开发环境中,这通常是 'apps/bff/ai/src/index.js'(假定TypeScript文件已编译或通过运行时直接执行)。
    • 'port': MCP 服务端监听的端口号,默认为 '3003'。
    • 'protocol': 连接协议,这里是 'http'。
    • 'capabilities': 服务器支持的 MCP 协议能力声明。'tools: true' 表示支持工具调用,'resources: false' 和 'prompts: false' 表示目前不提供资源管理和 Prompt 模板功能。
    • 'api_docs_url': MCP 服务端的 OpenAPI 文档地址,方便查看可用的工具和接口。
  • 基本使用方法 一旦 MCP 服务端运行,您可以通过其提供的 API 接口进行交互:

    1. 访问 API 文档: 在浏览器中打开 'http://localhost:3003/docs' 查看所有可用工具及其详细说明、输入参数和响应格式。
    2. 获取服务器信息: 向 'http://localhost:3003/api/v1/info' 发送 GET 请求,获取服务器名称、版本和能力声明。
    3. 列出所有工具: 向 'http://localhost:3003/api/v1/tools' 发送 GET 请求,获取所有注册的工具列表。
    4. 执行工具: 向 'http://localhost:3003/api/v1/execute' 发送 POST 请求,并在请求体中指定要调用的工具名称 ('tool') 和参数 ('arguments')。例如:
      {
        "tool": "list_meetings",
        "arguments": {
          "status": "in_progress",
          "limit": 5
        }
      }
      客户端将接收到包含执行结果(或错误信息)的 JSON 响应。

信息

分类

生产力应用