使用说明

项目简介

本项目是一个实现了模型上下文协议(MCP)的服务器,旨在为AI模型提供访问星球大战行星数据的能力。它利用Couchbase数据库存储行星信息,并提供工具来检索行星详情、查找相似行星(基于向量搜索)以及生成行星图像。

主要功能点

  • 行星信息检索: 通过行星名称获取详细的星球大战行星数据。
  • 相似行星查找: 基于行星的向量嵌入,查找与给定行星相似的其他行星。
  • 行星图像生成: 使用外部图像生成API,为指定的星球大战行星生成图像。
  • MCP协议支持: 遵循模型上下文协议,方便AI模型进行标准化访问。
  • Couchbase集成: 使用Couchbase作为数据存储,利用其向量搜索功能实现相似性查找。

安装步骤

  1. 环境准备: 确保已安装 Node.js 和 npm。
  2. Couchbase Server: 安装并配置 Couchbase Server,并启用向量搜索功能。
  3. 克隆仓库: 克隆 GitHub 仓库到本地。
  4. 进入目录: 在终端中进入 'couchbase-mcp-starwars' 目录。
  5. 安装依赖: 运行命令 'npm install' 安装项目依赖。
  6. 配置环境变量:
    • 创建 '.env' 文件在 'couchbase-mcp-starwars' 目录下,或直接设置系统环境变量。
    • 配置以下环境变量:
      • 'COUCHBASE_URL': Couchbase 服务器 URL。
      • 'COUCHBASE_USERNAME': Couchbase 用户名。
      • 'COUCHBASE_PASSWORD': Couchbase 密码。
      • 'COUCHBASE_BUCKET': Couchbase 桶名称。
      • 'COUCHBASE_SCOPE': Couchbase 作用域名称 (可选,默认为 '_default')。
      • 'COUCHBASE_COLLECTION': Couchbase 集合名称 (可选,默认为 '_default')。
      • 'NEBIUS_API_KEY': Nebius AI 图像生成 API 密钥 (用于行星图像生成功能)。
  7. 创建向量搜索索引: 在 Couchbase 中创建一个名为 'vector-search-index' 的向量搜索索引,索引行星文档中的 'embedding' 字段。
  8. (可选) 导入数据: 如果需要,将星球大战行星数据导入到 Couchbase 中。仓库可能包含数据加载脚本或需要用户自行导入符合schema的数据。

服务器配置

MCP 客户端需要配置以下信息以连接到此 MCP 服务器:

{
  "serverName": "starwars-server",
  "command": "node",
  "args": ["src/index.js"]
}
  • 'serverName': 服务器名称,例如 "starwars-server"。
  • 'command': 启动服务器的命令,这里是 'node'。
  • 'args': 命令参数,指向服务器入口文件 'src/index.js'。请确保 MCP 客户端在 'couchbase-mcp-starwars' 目录下启动,或根据实际路径调整 'args' 中的文件路径。

基本使用方法

  1. 启动服务器: 在 'couchbase-mcp-starwars' 目录中,运行命令 'npm start' 启动服务器。
  2. 发送 MCP 请求: 服务器通过标准输入/输出 (stdin/stdout) 监听 MCP 请求。MCP 客户端可以发送 JSON-RPC 请求与服务器交互。
  3. 示例请求:
    • 获取行星信息:
      {
        "name": "fetch_planet_name",
        "arguments": {
          "name": "Tatooine"
        }
      }
    • 查找相似行星:
      {
        "name": "find_planets_which_are_similar",
        "arguments": {
          "name": "Tatooine"
        }
      }
    • 生成行星图像:
      {
        "name": "generate_planet_image",
        "arguments": {
          "name": "Tatooine"
        }
      }
  4. 接收响应: 服务器将返回 JSON-RPC 响应,包含请求的数据或错误信息。

信息

分类

AI与计算