-
项目简介 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机器人服务和知识服务等微服务。
- 工具注册与执行: 托管并允许 LLM 客户端调用一系列预定义的工具,包括:
-
安装步骤 在本地运行 JoinIn.ai MCP 服务端前,请确保已安装以下依赖:
- Node.js 20+ 和 npm 10+: 用于运行 JavaScript 项目。
- 1Password CLI: 用于安全管理敏感配置信息。
- direnv: 用于自动加载环境变量。
- Docker: 用于运行本地 PostgreSQL 数据库。
- Git: 用于克隆仓库。
安装流程:
- 克隆仓库:
git clone https://github.com/tomhaus-com/joinin.ai.git cd joinin.ai - 安装依赖:
npm install - 设置环境变量:
direnv allow . # 复制 .env.example 到 .env.local 并根据需要配置数据库连接、API密钥等 cp .env.example .env.local - 设置数据库: 启动 Docker 并运行数据库迁移。
npm run db:setup - 启动开发环境:
MCP 服务端将在 'http://localhost:3003' 端口启动。npm run dev:mcp
-
服务器配置 (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 接口进行交互:
- 访问 API 文档: 在浏览器中打开 'http://localhost:3003/docs' 查看所有可用工具及其详细说明、输入参数和响应格式。
- 获取服务器信息: 向 'http://localhost:3003/api/v1/info' 发送 GET 请求,获取服务器名称、版本和能力声明。
- 列出所有工具: 向 'http://localhost:3003/api/v1/tools' 发送 GET 请求,获取所有注册的工具列表。
- 执行工具: 向 'http://localhost:3003/api/v1/execute' 发送 POST 请求,并在请求体中指定要调用的工具名称 ('tool') 和参数 ('arguments')。例如:
客户端将接收到包含执行结果(或错误信息)的 JSON 响应。{ "tool": "list_meetings", "arguments": { "status": "in_progress", "limit": 5 } }
信息
分类
生产力应用