项目简介

s2-sdk-typescript 仓库主要是一个为 StreamStore API 构建的 TypeScript SDK。除了作为SDK客户端使用,它还可以作为一个 Model Context Protocol (MCP) 服务器运行。这意味着你可以使用这个仓库,不仅可以通过代码与 StreamStore 服务交互,还能将 SDK 中提供的各种功能以工具的形式暴露出来,供支持 MCP 协议的AI客户端(如 Claude、Cursor 等)调用。

主要功能点

  • 资源管理 (Resources): 虽然仓库描述中没有明确提及“资源”,但SDK本身是对 StreamStore API 资源的抽象和操作封装,例如 Basin 和 Stream 可以被视为一种云端数据存储资源。
  • 工具注册和执行 (Tools): 该仓库可以将 SDK 中的方法,例如 'account.listBasins', 'stream.read', 'stream.append' 等,注册为 MCP 工具,允许 AI 客户端通过 MCP 协议调用这些工具,实现对 StreamStore 服务的操作。
  • Prompt 模板 (Prompts): 仓库本身不直接提供 Prompt 模板功能,但通过 MCP 服务器暴露的工具,可以与外部 Prompt 模板系统或 LLM 结合使用,实现可定制的 LLM 交互模式。
  • 会话管理和能力声明: MCP 服务器的启动和运行,天然具备会话管理能力。仓库通过注册工具的方式,声明了自身的能力,AI 客户端可以发现和调用这些工具。
  • 多种传输协议支持: 仓库支持 Stdio 和 SSE 两种传输协议,可以灵活适应不同的客户端和应用场景。

安装步骤

该 MCP 服务器是 's2-sdk-typescript' SDK 的一部分,可以通过 npm 或 yarn 等包管理器安装:

使用 npm:

npm add @s2-dev/streamstore

使用 yarn:

yarn add @s2-dev/streamstore zod

注意: 使用 Yarn 时,需要手动安装 'zod' 作为 peer dependency。

服务器配置

要将此 SDK 作为 MCP 服务器配置到 MCP 客户端(例如 Claude 或 Cursor),你需要提供服务器的启动命令和参数。以下是针对 Claude 和 Cursor 的配置示例,你需要根据你的实际使用场景进行调整。

Claude 配置 (添加到 'claude_desktop_config.json'):

{
  "mcpServers": {
    "S2": {
      "command": "npx",
      "args": [
        "-y", "--package", "@s2-dev/streamstore",
        "--",
        "mcp", "start",
        "--bearer-auth", "YOUR_BEARER_AUTH_TOKEN"
      ]
    }
  }
}

Cursor 配置 (在 Cursor 设置中添加 MCP 服务器):

  • Name: 'S2'
  • Type: 'command'
  • Command:
    npx -y --package @s2-dev/streamstore -- mcp start --bearer-auth YOUR_BEARER_AUTH_TOKEN

参数说明:

  • 'command': MCP 服务器的启动命令,这里使用 'npx' 来运行安装在 npm 包中的 'mcp' CLI 工具。
  • 'args': 传递给 'mcp start' 命令的参数列表:
    • '-y --package @s2-dev/streamstore': 使用 'npx' 安装并运行 '@s2-dev/streamstore' 包。 '-y' 参数表示自动确认安装。
    • '--': 分隔 'npx' 参数和传递给 'mcp start' 命令的参数。
    • 'mcp start': 启动 MCP 服务器的命令。
    • '--bearer-auth YOUR_BEARER_AUTH_TOKEN': [必填] 用于 API 鉴权的 Bearer Token。你需要替换 'YOUR_BEARER_AUTH_TOKEN' 为你实际的 Bearer Token。

更多服务器参数:

你可以运行以下命令查看 'mcp start' 命令的完整参数列表和帮助信息:

npx -y --package @s2-dev/streamstore -- mcp start --help

基本使用方法

配置完成后,在支持 MCP 协议的 AI 客户端中,你就可以选择 'S2' 这个 MCP 服务器。AI 客户端会通过 MCP 协议与该服务器建立连接,并可以使用服务器暴露的工具来操作 StreamStore 服务。

具体能使用的工具包括 (但不限于):

  • 'account_list-basins': 列出 Basins
  • 'account_get-basin-config': 获取 Basin 配置
  • 'basin_list-streams': 列出 Streams
  • 'basin_get-stream-config': 获取 Stream 配置
  • 'stream_read': 读取 Stream 中的记录
  • 'stream_append': 向 Stream 中追加记录
  • 'stream_check-tail': 检查 Stream 的尾部

AI 客户端会根据这些工具的描述和参数,生成相应的用户界面或指令,方便用户调用和使用。

信息

分类

开发者工具