语义向量搜索工具

MCP Vector Tools 是一个基于Spring Boot的语义向量搜索工具,支持pgvector和多提供商嵌入(Ollama、ONNX、OpenAI),用于索引Claude Code对话和Markdown文档以实现检索增强生成。

  • by MassimilianoPili
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 MassimilianoPili/mcp-vector-tools

使用说明

MCP矢量工具

Spring Boot starter提供MCP工具,用于使用pgvector和多提供者嵌入(Ollama、ONNX、OpenAI)进行语义向量搜索。索引Claude Code对话和Markdown文档,用于检索增强生成。

安装

<dependency>
    <groupId>io.github.massimilianopili</groupId>
    <artifactId>mcp-vector-tools</artifactId>
    <version>0.1.0</version>
</dependency>

需要Java 21+和Spring AI 1.0.0+。

工具

工具 说明
embeddings_search 带过滤器的语义搜索(类型:对话/文档),topK(最多20个),阈值(0.0-1.0)
embeddings_search_conversations 搜索索引的Claude Code对话
embeddings_search_docs 搜索索引基础结构文档(.md文件)
embeddings_stats 统计:按类型、文件、总块、上次更新计数
embeddings_reindex 重新索引:“对话”

嵌入提供者

提供者 默认型号 尺寸 注释
奥拉玛 (默认) nomic嵌入文本 768 通过Ollama服务器本地,零成本
开放式神经网络交换 全MiniLM-L6-v2 384 正在处理中,无外部服务器
开放人工智能 text-embedding-3-small 1536 远程API,需要API密钥

配置

# Required — enables all tools
MCP_VECTOR_ENABLED=true

# Provider (default: ollama)
MCP_VECTOR_PROVIDER=ollama              # ollama | onnx | openai

# Database (PostgreSQL + pgvector)
MCP_VECTOR_DB_URL=jdbc:postgresql://localhost:5432/embeddings
MCP_VECTOR_DB_USER=postgres
MCP_VECTOR_DB_CREDENTIAL=password

# Source paths
MCP_VECTOR_CONVERSATIONS_PATH=/path/to/claude/projects
MCP_VECTOR_DOCS_PATH=/path/to/docs

# Provider: Ollama
MCP_VECTOR_OLLAMA_BASE_URL=http://ollama:11434
MCP_VECTOR_OLLAMA_MODEL=nomic-embed-text

# Provider: ONNX
MCP_VECTOR_ONNX_MODEL_CACHE=/tmp/onnx-models

# Provider: OpenAI-compatible
MCP_VECTOR_OPENAI_BASE_URL=https://api.openai.com
MCP_VECTOR_OPENAI_API_KEY=sk-...
MCP_VECTOR_OPENAI_MODEL=text-embedding-3-small

运作原理

  • 用途 @Tool (Spring AI)用于同步MCP工具方法
  • 通过自动配置 VectorToolsAutoConfiguration 随着 @ConditionalOnProperty(name = "mcp.vector.enabled", havingValue = "true")
  • PgVectorStore,具有COSINE_DISTANCE相似性和HNSW索引(自动初始化模式)
  • 增量索引: SyncTracker 跟踪文件路径和 last_modified 时间戳
  • 摄入管道: ConversationParser (JSONL对话)+ MarkdownParser (按标题拆分)

需求

  • Java 21+
  • 弹簧靴3.4+
  • 春季AI 1.0.0+
  • 带pgvector扩展的PostgreSQL

许可证

MIT许可证