StreamNative MCP Server
使用说明
-
项目简介
- 该仓库实现了一个 MCP 服务器(snmcp),用于把资源、工具、以及 Prompts 提供给运行在聊天型或代理型 AI 客户端的 LLMs,遵循 MCP 标准,支持通过 JSON-RPC 进行请求与响应。
- 服务器具备多种连接方式:内置的本地 stdio 服务、Server-Sent Events (SSE) 服务,以及对外部 Kafka/Pulsar 的集成能力,方便 AI 应用在同一平台上完成多种资源的读取、外部功能调用和上下文模板渲染。
-
主要功能点
- 资源管理(Resources):对接并托管 StreamNative Cloud、Kafka、Pulsar 等资源,提供数据访问能力。
- 工具注册与执行(Tools):注册可调用的外部工具,LLM/代理可通过 MCP 调用这些工具完成操作。
- 提示模板(Prompts):定义和渲染可定制的提示模板,支持自定义交互模式。
- 会话与能力声明:支持会话管理和能力声明,确保多租户/多用户场景的上下文安全性。
- 传输协议多样性:同时提供 stdio 与 SSE 服务,必要时可扩展为 WebSocket 等传输方式。
- 安全与身份校验:在 SSE 模式下可开启多租户按用户分离的 Pulsar 会话与严格鉴权流程(Authorization 头部等)。
-
安装步骤(选项多样,任选其一)
- 使用 Homebrew 安装(适用于 macOS、Linux),便于快速体验。
- 使用 Docker 镜像运行,适合快速验证与集成测试。
- 从源码编译构建(Go 环境),可自定义编译选项和依赖。
- 具体思路请参照 README 中的各安装方式与命令示例。
-
服务器配置(面向 MCP 客户端,实际客户端配置由 MCP 客户端承担,服务器端只暴露服务)
- MCP 客户端在接入该 MCP 服务器时,需要提供启动命令和参数来启动对 MCP 服务器的连接。以下为说明性描述,帮助理解配置要点:
- serverName(服务器标识):用于区分不同 MCP 服务器实例的名称,例如 mcp-streamnative。
- command(启动命令):启动 snmcp 的实际执行命令路径,例如 bin/snmcp。
- args(启动参数):包含用于认证、上下文初始化、以及模块开关的参数,例如 stdio 模式的组织标识和密钥文件路径,或 SSE 模式的组织与密钥等。
- 这是给 MCP 客户端的配置信息,用于描述如何启动并连接到 MCP 服务器。MCP 客户端本身不需要解析服务器端的实现细节,但需要知道要连接的服务器名称、启动命令及参数以建立会话。
- MCP 客户端在接入该 MCP 服务器时,需要提供启动命令和参数来启动对 MCP 服务器的连接。以下为说明性描述,帮助理解配置要点:
-
基本使用方法(简要步骤,便于快速上手)
- 启动服务器
- 选择 stdio 模式或 SSE 模式,提供所需的认证信息与上下文配置,例如云组织、密钥文件、是否使用外部 Kafka/Pulsar 等。
- 使用 MCP Inspector(可选工具)进行服务器探测与工具/资源可用性测试
- 使用 Claude Desktop 等 MCP 客户端连接并尝试调用工具、读取资源、获取和渲染 prompts
- 通过 inspector 或日志监控服务器状态与会话状态
- 启动服务器