本项目是一个基于 Model Context Protocol (MCP) 实现的服务器,用于连接 LLM (大型语言模型) 客户端与 Smallest.ai 的知识库管理 API。它提供了一套标准化的接口,允许 LLM 通过 MCP 协议访问和管理 Smallest.ai 平台上的知识库。

主要功能点

  • 知识库管理工具: 提供标准化的工具接口,用于列出所有知识库、创建新的知识库以及获取特定知识库的详细信息。
  • API 集成: 将 MCP 请求转换为对 Smallest.ai API 的调用,并处理响应和错误。
  • 文档资源: 提供一个可供客户端通过 MCP 访问的文档资源 ('docs://smallest.ai'),其中包含可用的工具及其使用说明。
  • Prompt 模板: 定义了用于创建知识库等操作的 Prompt 模板,简化客户端的交互。

安装步骤

  1. 克隆仓库到本地。
  2. 进入项目目录。
  3. 确保已安装 Node.js (18+) 或 Bun runtime。推荐使用 Bun 以获得更好的性能。
  4. 安装项目依赖:
    bun install
    # 或者使用 npm/yarn:
    # npm install
    # yarn install
  5. 在项目根目录创建 '.env' 文件,并添加你的 Smallest.ai API 密钥:
    SMALLEST_AI_API_KEY=your_api_key_here
  6. (可选)在项目根目录创建或修改 '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与计算