Scalekit MCP 服务器端
使用说明内容(Markdown格式)
项目简介
本仓库实现了一个基于 Model Context Protocol (MCP) 的服务端(服务器端)应用。它通过标准化的 MCP 传输向 AI 代理提供上下文信息和能力,核心职责包括对资源(Resources)的托管与管理、对工具(Tools)的注册与执行、以及对提示模板/交互模式的支持。服务器提供认证保护、会话管理与多环境/多组织的上下文能力,便于在企业场景中与 LLM 客户端进行安全、可扩展的集成。
主要功能点
- MCP 服务器核心
- 实例化并暴露 MCP 服务器,注册各种工具以响应客户端请求。
- 通过 Express HTTP 路由对 MCP 请求进行处理,使用 StreamableHTTPServerTransport 支持 JSON‑RPC 风格的请求/响应。
- 资源与工具管理
- 提供环境、组织、工作区、工作区成员、组织成员等多维度的资源与工具。
- 针对不同资源类型(如环境、组织、工作区、MCP 服务器等)实现创建、查询、更新等操作的工具。
- 认证与安全
- 使用 OAuth 2.1 风格的令牌校验,针对工具调用进行授权范围检查(基于 TOOL 的所需作用域)。
- 对 MCP 请求进行统一鉴权,公开的端点除外(如 .well-known 元数据)。
- 数据与接口
- 通过预定义的接口聚合外部系统的数据(比如环境与组织信息),并将结果以文本形式返回给客户端做呈现。
- 支持多种端点和资源元数据,配合外部 API 提供丰富的上下文。
- 可扩展性
- 工具注册体系化,新增工具只需在相应模块实现并在 TOOLS 中注册即可。
- 结构清晰,便于在企业场景中接入自有资源与认证体系。
- 传输与部署
- 采用基于 Express 的 HTTP 传输实现 MCP 请求/响应处理,能与符合 MCP 客户端的实现进行对接。
- 服务器的启动与运行依赖于环境变量配置,部署时可将其打包成独立服务进行运行。
安装步骤
- 准备工作
- 具备 Node.js(推荐 v18+)运行环境。
- 获取本仓库代码并进入项目目录。
- 安装依赖
- 安装所需的 Node 模块依赖(如 express、cors、node-fetch、zod、Winston 等)。
- 配置环境
- 根据实际部署环境,配置以下环境变量(示例,实际值请替换为真实信息):
- PORT:服务端监听端口(如 3000)。
- SK_API_BASE_URL、SK_ENV_URL:Ska lekit 的后端 API 地址与环境。
- SK_CLIENT_ID、SK_CLIENT_SECRET:用于与 Scalekit 身份平台的客户端凭证。
- AUTH_ISSUER、AUTH_SERVER_ID、AUTH_AUDIENCE:OAuth 授权服务器信息与受众标识。
- MCP_INSPECTOR、LOG_LEVEL 等用于调试与日志的开关/级别。
- 根据实际部署环境,配置以下环境变量(示例,实际值请替换为真实信息):
- 运行服务
- 将代码编译为可执行的分发文件后启动服务。例如:使用 Node 运行打包后的入口文件(如 dist/scalekit.js)。确保端口和相关配置正确生效后,服务器就会监听并准备处理 MCP 请求。
服务器配置(面向 MCP 客户端的配置信息说明)
说明:MCP 客户端需要的配置是用于启动并连接到 MCP 服务器的启动命令及参数,以及用于标识该服务器的名称等信息。以下为基于仓库实现的准确描述,便于在客户端配置时理解无需编码。
- 服务器名称(server name):在 MCP 客户端的注册中,可使用与服务端一致的名称,例如 “scalekit”。
- 启动命令(command):用于启动服务端程序的命令,典型场景为直接执行 Node.js 打包后的入口文件,例如通过 Node 运行编译产物(dist/your-entry.js)。
- 启动参数(args):对应上述入口文件的运行参数,例如 ["dist/scalekit.js"](具体路径以实际部署产物为准)。
- 其他说明:
- 服务器配置仅用于 MCP 客户端的启动信息,客户端本身无需理解服务端内部实现细节。
- 服务端会在启动后通过 HTTP 入口处理 MCP 请求,客户端通过指定的启动命令与参数来启动并保持连接。
- 服务端的实际暴露地址与端口,请在部署时通过网络或反向代理进行访问配置(示例地址如 https://your-mcp-server.example.com/)。
- 备注:以上命令与参数是基于仓库代码的部署方式设定的通用描述,实际环境中可按项目打包和部署流程进行调整。
基本使用方法
- 启动服务器
- 在合适的运行环境中执行配置好的启动命令,确保服务器启动并监听配置的端口。
- 配置客户端
- 在 MCP 客户端中使用上述启动命令与参数启动服务端的代表实例,以建立与 MCP 服务器的 JSON‑RPC 连接。
- 使用与扩展
- 通过 MCP 客户端或对等工具调用注册的工具与操作资源、环境、组织等,服务器端会依据当前身份令牌及作用域进行校验与执行。
- 如需扩展能力,可新增工具实现并在 TOOLS 注册表中添加对应项,服务器将自动暴露新的工具接口。
- 安全注意
- 生产环境请务必按企业安全要求正确配置 OAuth 授权服务器、令牌签名及作用域校验逻辑,确保只有具备相应权限的客户端能够调用相应工具。