使用说明(Markdown 格式)

  • 项目简介

    • LeanMCP SDK 是一个多包的开发工具集,核心部分实现了基于 MCP 的后端服务器能力:可托管资源(Resources)、注册并执行工具(Tools)、定义与渲染提示模板(Prompts),并通过 JSON-RPC 与客户端通信。服务器端负责会话管理、能力声明,支持流式传输的 HTTP 服务,并提供装饰器驱动的自动发现、认证、以及 UI 绑定等特性。
  • 主要功能点

    • MCP 服务器核心:实现对 MCP 格式请求/响应的处理,提供工具、资源、提示的注册与执行。
    • 自动发现与注册:从 mcp 目录自动发现服务、工具、提示与资源,并暴露给 MCP 客户端。
    • 装饰器驱动的 API:@Tool、@Prompt、@Resource 等装饰器,支持类型安全、自动生成输入输出 schema。
    • 安全与认证:@Authenticated 等鉴权装饰器,支持多种认证提供者(Cognito、Auth0、Clerk、LeanMCP 等)。
    • UI 集成:@UIApp 等装饰器实现工具与前端 UI 组件绑定(UI manifest、预构建 UI 支持)。
    • 弹性与扩展性:支持单机/无状态部署、流式传输、以及对外部 UI/Ellicitation、Env 注入等扩展能力。
    • 数据与验证:基于 TypeScript 的类型推断与 JSON Schema 生成,结合基本的输入校验。
    • 流式/分段输入支持:对工具输入的分段流式处理(useToolStream 等).
    • 数据端点与 Prompts:通过 Resource、Prompt 的组合,向 LLM 客户端提供数据与模板。
  • 安装与运行步骤

    • 第一步:安装依赖
      • 在项目根目录执行 npm install,安装所有核心包、依赖和工作区包。
    • 第二步:构建项目
      • 运行 npm run build,编译所有包,生成可运行的服务器代码。
    • 第三步:启动 MCP 服务器
      • 在你的应用中通过 LeanMCP 的核心给出的入口启动服务器(如通过 main.ts/dist/main.js 启动,或使用核心提供的 createHTTPServer/ MCPServer 进行服务注册与自动发现)。
      • 服务器运行后,默认暴露 MCP 端点在 http://localhost:8080/mcp,健康检查在 /health,若启用 UI 则根路径提供仪表盘。
    • 第四步:客户端连接配置(示例,非代码)
      • MCP 客户端需要的配置信息通常以 JSON 的形式提供,包含服务器名称、启动命令、以及启动参数,用于连接并通过 JSON-RPC 与服务器交互。以下信息用于描述客户端应如何启动并连接服务器,请勿直接粘贴到代码中:
        • serverName: 出厂/部署后的服务器名称,例如 "my-mcp-server"
        • command: 启动服务器的命令,例如 "node dist/main.js"
        • args: 服务器启动参数,例如 ["--port=8080", "--transport=streamable-http"]
        • description: 该服务器的简要描述,便于识别与运维
        • 注释:port、传输方式、以及认证要求等以注释形式写在配置文档中,便于 MCP 客户端理解。
    • 常见问题与调试
      • 确认 Node.js 版本、依赖安装完整、端口未被占用。
      • 如启用自动发现,请确保项目中存在 mcp 目录,且导出/注册了 Tool、Resource、Prompt。
      • 若使用 UI 绑定,请确保 dist/ui-manifest.json/UI 资源正确生成并可访问。
  • 服务器配置(用于 MCP 客户端的 JSON 风格说明) { "serverName": "my-mcp-server", "command": "node dist/main.js", "args": [ "--port=8080", "--transport=streamable-http" ], "notes": "上述配置用于 MCP 客户端连接到服务器。端口与传输方式请与实际部署保持一致。该信息仅用于客户端配置示例,不需要在服务端代码中直接使用。" }

  • 基本使用方法

    • 通过 LeanMCP 提供的装饰器,在服务类中定义 Tool、Prompt、Resource,服务器会自动发现并暴露这些能力。
    • 客户端向服务器发起 JSON-RPC 请求,调用 Tool、获取 Prompt、或读取资源,服务器返回结构化的 JSON-RPC 响应。
    • 如需鉴权,需在请求的 _meta 字段中携带 authorization.token,服务器端的 @Authenticated/AuthProvider 将验证并注入 authUser。
    • 开发者可通过自动发现功能快速搭建服务、通过 UI 绑定扩展前端组件,或使用 Ellicitation 框架进行人机交互设计。
  • 额外信息

    • 本仓库包含核心 MCP 实现、认证提供者、Ellicitation、UI 组件、以及示例。请按需求选择使用 core、auth、elicitation、ui 等包,结合具体应用场景进行开发。

信息

分类

开发者工具