MCP松果矢量数据库服务器
该项目实现了一个模型上下文协议(MCP)服务器,该服务器允许向松果矢量数据库读取和写入矢量化信息。它设计用于处理RAG处理的PDF数据和Confluence数据。
特性
- 使用文本查询搜索类似文档
- 使用自定义元数据将新向量添加到数据库中
- 批量处理并上传Confluence数据
- 按ID删除向量
- 基本数据库统计(暂时禁用)
先决条件
- Bun运行时
- 松果API键
- OpenAI API密钥(用于生成嵌入)
安装
- 克隆此存储库
- 安装依赖项:
bun install- 创建一个
.env包含以下内容的文件:
PINECONE_API_KEY=your-pinecone-api-key
OPENAI_API_KEY=your-openai-api-key
PINECONE_HOST=your-pinecone-host
PINECONE_INDEX_NAME=your-index-name
DEFAULT_NAMESPACE=your-namespace用法
运行MCP服务器
启动服务器:
bun src/index.ts服务器将通过stdio启动并监听MCP命令。
运行示例客户端
使用示例客户端测试服务器:
bun examples/client.ts处理汇流数据
Confluence处理脚本提供了详细的日志记录和验证:
bun src/scripts/process-confluence.ts [collection] [scope]参数:
file-path:Confluence JSON文件的路径(必填)collection:文档集合名称(默认为“documentation”)scope:文档范围(默认为“文档”)
例子:
bun src/scripts/process-confluence.ts ./data/confluence-export.json "tech-docs" "engineering"脚本将:
- 验证输入参数
- 处理和矢量化内容
- 批量上传矢量
- 验证上传成功
- 提供流程的详细日志
可用工具
服务器提供以下工具:
search-vectors-搜索具有参数的类似文档:
- 查询:字符串(搜索查询文本) - topK:数字(1-100,默认值:5) - 筛选器:对象(可选筛选条件)
add-vector-添加带有参数的单个文档:
- text:字符串(要矢量化的内容) - 元数据:对象(矢量元数据) - id:string(可选自定义id)
process-confluence-将JSON数据与参数进行流程融合:
- filePath:字符串(JSON文件的路径) - namespace:string(可选,默认为“capella文档搜索”)
delete-vectors-删除带有参数的向量:
- ids:string\[\](向量ID列表) - namespace:string(可选,默认为“capella文档搜索”)
get-stats-获取数据库统计信息(暂时禁用)
数据库配置
服务器需要松果矢量数据库。在您的 .env 文件:
PINECONE_API_KEY=your-api-key
PINECONE_HOST=your-host
PINECONE_INDEX_NAME=your-index
DEFAULT_NAMESPACE=your-namespace元数据模式
汇流文件
ID: confluence-[page-id]-[item-id]
title: [title]
pageId: [page-id]
spaceKey: [space-key]
type: [type]
content: [text-content]
author: [author-name]
source: "confluence"
collection: "documentation"
scope: "documentation"
...贡献
- 分叉存储库
- 创建特征分支:
git checkout -b feature/my-new-feature - 提交您的更改:
git commit -am 'Add some feature' - 推到分支:
git push origin feature/my-new-feature - 提交拉取请求
许可证
麻省理工学院

