使用说明
项目简介
本项目是一个实现了模型上下文协议(MCP)的服务器,旨在为AI模型提供访问星球大战行星数据的能力。它利用Couchbase数据库存储行星信息,并提供工具来检索行星详情、查找相似行星(基于向量搜索)以及生成行星图像。
主要功能点
- 行星信息检索: 通过行星名称获取详细的星球大战行星数据。
- 相似行星查找: 基于行星的向量嵌入,查找与给定行星相似的其他行星。
- 行星图像生成: 使用外部图像生成API,为指定的星球大战行星生成图像。
- MCP协议支持: 遵循模型上下文协议,方便AI模型进行标准化访问。
- Couchbase集成: 使用Couchbase作为数据存储,利用其向量搜索功能实现相似性查找。
安装步骤
- 环境准备: 确保已安装 Node.js 和 npm。
- Couchbase Server: 安装并配置 Couchbase Server,并启用向量搜索功能。
- 克隆仓库: 克隆 GitHub 仓库到本地。
- 进入目录: 在终端中进入 'couchbase-mcp-starwars' 目录。
- 安装依赖: 运行命令 'npm install' 安装项目依赖。
- 配置环境变量:
- 创建 '.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 密钥 (用于行星图像生成功能)。
- 创建向量搜索索引: 在 Couchbase 中创建一个名为 'vector-search-index' 的向量搜索索引,索引行星文档中的 'embedding' 字段。
- (可选) 导入数据: 如果需要,将星球大战行星数据导入到 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' 中的文件路径。
基本使用方法
- 启动服务器: 在 'couchbase-mcp-starwars' 目录中,运行命令 'npm start' 启动服务器。
- 发送 MCP 请求: 服务器通过标准输入/输出 (stdin/stdout) 监听 MCP 请求。MCP 客户端可以发送 JSON-RPC 请求与服务器交互。
- 示例请求:
- 获取行星信息:
{ "name": "fetch_planet_name", "arguments": { "name": "Tatooine" } } - 查找相似行星:
{ "name": "find_planets_which_are_similar", "arguments": { "name": "Tatooine" } } - 生成行星图像:
{ "name": "generate_planet_image", "arguments": { "name": "Tatooine" } }
- 获取行星信息:
- 接收响应: 服务器将返回 JSON-RPC 响应,包含请求的数据或错误信息。
信息
分类
AI与计算