MCP矢量工具
Spring Boot starter提供MCP工具,用于使用pgvector和多提供者嵌入(Ollama、ONNX、OpenAI)进行语义向量搜索。索引Claude Code对话和Markdown文档,用于检索增强生成。
安装
io.github.massimilianopili
mcp-vector-tools
0.1.0
需要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
