本项目是一个基于 Model Context Protocol (MCP) 实现的服务器,用于连接 LLM (大型语言模型) 客户端与 Smallest.ai 的知识库管理 API。它提供了一套标准化的接口,允许 LLM 通过 MCP 协议访问和管理 Smallest.ai 平台上的知识库。
主要功能点
- 知识库管理工具: 提供标准化的工具接口,用于列出所有知识库、创建新的知识库以及获取特定知识库的详细信息。
- API 集成: 将 MCP 请求转换为对 Smallest.ai API 的调用,并处理响应和错误。
- 文档资源: 提供一个可供客户端通过 MCP 访问的文档资源 ('docs://smallest.ai'),其中包含可用的工具及其使用说明。
- Prompt 模板: 定义了用于创建知识库等操作的 Prompt 模板,简化客户端的交互。
安装步骤
- 克隆仓库到本地。
- 进入项目目录。
- 确保已安装 Node.js (18+) 或 Bun runtime。推荐使用 Bun 以获得更好的性能。
- 安装项目依赖:
bun install # 或者使用 npm/yarn: # npm install # yarn install - 在项目根目录创建 '.env' 文件,并添加你的 Smallest.ai API 密钥:
SMALLEST_AI_API_KEY=your_api_key_here - (可选)在项目根目录创建或修改 'config.ts' 文件,配置 API Key 和基础 URL。通常只需 '.env' 文件即可。
服务器配置
该 MCP 服务器被设计为由 MCP 客户端作为子进程启动,并通过标准输入/输出 (Stdio) 进行通信。
对于 MCP 客户端而言,连接此服务器所需的配置信息如下:
- 服务器名称 (server name): "Smallest.ai MCP Server"
- 传输协议 (transport protocol): Stdio
- 启动命令 (command): 启动服务器的可执行命令,例如 '"bun"' 或 '"node"'。
- 启动参数 (args): 传递给启动命令的参数列表,用于运行服务器主程序。对于本项目,参数应为 '["run", "index.ts"]'。
MCP 客户端可以使用这些信息通过 Stdio 连接到服务器。
基本使用方法
安装和配置完成后,可以通过以下命令启动服务器(通常由 MCP 客户端自动执行):
bun run index.ts # 或者使用 node: # node dist/index.js # 如果使用 TypeScript 编译后运行
启动后,MCP 客户端即可通过 Stdio 协议与服务器通信,并调用其提供的工具和访问资源。
例如,LLM 客户端可以通过调用以下工具来进行知识库管理:
- 调用 'listKnowledgeBases' 工具:获取用户在 Smallest.ai 上的所有知识库列表。
- 调用 'createKnowledgeBase' 工具:创建新的知识库,需要提供知识库的名称和描述作为参数。
- 调用 'getKnowledgeBase' 工具:获取特定知识库的详细信息,需要提供知识库的 ID 作为参数。
客户端还可以访问 'docs://smallest.ai' 资源来获取关于这些工具的详细文档和使用示例。
信息
分类
AI与计算