使用说明
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