使用说明
项目简介
本仓库实现了一个基于 Model Context Protocol (MCP) 的 OKR (Objectives and Key Results) 管理服务器。它允许 AI Agent 通过标准化的 MCP 协议,安全访问和操作组织内的 OKR 数据。该服务器集成了 Stytch B2B 认证服务,支持多租户和 RBAC 权限控制,适用于企业级 SaaS 应用的 AI 扩展。
主要功能点
- 资源 (Resources) 管理:
- Objectives 资源: 提供组织OKR目标的结构化数据访问,包括目标列表和目标详情。
- Key Result 资源: 提供OKR关键结果的结构化数据访问,包括关键结果列表和关键结果详情。
- 工具 (Tools) 注册和执行:
- listObjectives: 列出组织的所有 Objectives 和 Key Results,方便 AI Agent 快速了解全局 OKR 概况。
- addObjective: 允许 AI Agent 创建新的组织级 Objectives。
- deleteObjective: 允许 AI Agent 删除组织级 Objectives。
- addKeyResult: 允许 AI Agent 在特定 Objective 下创建新的 Key Results。
- setKeyResultAttainment: 允许 AI Agent 更新 Key Result 的完成度 (attainment)。
- deleteKeyResult: 允许 AI Agent 删除特定 Objective 下的 Key Results。
- 安全认证和授权:
- 集成 Stytch B2B 认证,支持用户身份验证和会话管理。
- 实施基于角色的访问控制 (RBAC),确保只有授权的 AI Agent 才能访问和操作资源和工具。
- 传输协议:
- 支持 SSE (Server-Sent Events) 协议,用于 MCP 客户端与服务器的实时通信。
- 数据存储:
- 使用 Cloudflare Workers KV 存储 OKR 数据,保证数据持久化和快速访问。
安装步骤
- 克隆仓库:
git clone https://github.com/stytchauth/mcp-stytch-b2b-okr-manager.git cd mcp-stytch-b2b-okr-manager - 安装依赖:
npm install - 配置 Stytch 账户:
- 访问 Stytch 官网 创建账户并选择 B2B Authentication。
- 在 Stytch Dashboard 中配置 Frontend SDKs, Connected Apps, 和 Roles and Permissions (具体步骤请参考仓库 README.md 的 "In the Stytch Dashboard" 部分)。
- 获取 Project ID 和 API keys。
- 配置环境变量:
- 复制 '.env.template' 文件创建 '.env.local' 文件:
编辑 '.env.local' 文件,设置 'VITE_STYTCH_PUBLIC_TOKEN'。cp .env.template .env.local - 复制 '.dev.vars.template' 文件创建 '.dev.vars' 文件:
编辑 '.dev.vars' 文件,设置 'STYTCH_PROJECT_ID' 和 'STYTCH_PROJECT_SECRET'。cp .dev.vars.template .dev.vars
- 复制 '.env.template' 文件创建 '.env.local' 文件:
- 部署到 Cloudflare Workers (可选):
- 按照 README.md 的 "Deploy to Cloudflare Workers" 部分进行部署,或者使用 "Deploy to Cloudflare" 按钮快速部署。
- 部署后需要在 Cloudflare Workers 控制台中配置环境变量 'STYTCH_PROJECT_ID' 和 'STYTCH_PROJECT_SECRET' 以及 KV 命名空间绑定 'OKRManagerKV'。
服务器配置 (MCP 客户端配置)
MCP 客户端需要配置以下信息以连接到 OKR Manager MCP 服务器。以下是配置示例 (JSON 格式):
{ "serverName": "OKRManagerMCP", "command": "npx @modelcontextprotocol/inspector@latest", "args": [ "--serverUrl", "http://localhost:3000/sse", "--protocol", "sse" ], "description": "OKR Manager MCP Server", "transmissionMode": "SSE", "protocol": "json-rpc" }
参数注释:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': MCP 服务器的启动命令,这里使用 MCP Inspector 工具作为客户端进行测试,实际应用中应替换为 LLM 客户端的启动命令。
- 'args': 启动命令的参数列表。
- '--serverUrl': OKR Manager MCP 服务器的 SSE 地址,本地运行时为 'http://localhost:3000/sse',部署到 Cloudflare Workers 后需替换为实际部署地址 (例如: 'https://your-worker-domain/sse')。
- '--protocol': 指定传输协议为 'sse' (Server-Sent Events)。
- 'description': MCP 服务器的描述信息,可以自定义。
- 'transmissionMode': 指定传输模式为 'SSE'。
- 'protocol': 指定通信协议为 'json-rpc'。
基本使用方法
- 本地运行服务器:
服务器将在 'http://localhost:3000' 启动,MCP 服务器地址为 'http://localhost:3000/sse'。npm run dev - 使用 MCP Inspector 测试:
在 MCP Inspector 中配置上述 服务器配置 (MCP 客户端配置) 中的 JSON 信息,即可连接到 OKR Manager MCP 服务器并测试其功能。npx @modelcontextprotocol/inspector@latest - 通过 AI Agent 调用:
- 将上述 服务器配置 (MCP 客户端配置) 中的 JSON 信息配置到您的 MCP 客户端 (例如 AI Agent 应用) 中。
- AI Agent 即可通过 MCP 协议与 OKR Manager MCP 服务器进行交互,调用工具和访问资源,实现 OKR 数据的管理和利用。
信息
分类
生产力应用