关于 Web Search MCP Server with ChromaDB Vector Database
这是一个结合网页搜索与 ChromaDB 向量数据库的 MCP 服务,面向需要查询库文档或管理向量文档的开发者。它支持语义检索、元数据筛选及批量操作。
主要功能
- 01搜索常见库的文档
- 02提取网页内容
- 03存取 ChromaDB 文档
- 04语义相似度搜索
- 05按元数据筛选与批量处理
适用场景
- 01查询 LangChain、LlamaIndex 或 OpenAI 文档
- 02将文档写入向量数据库并检索
- 03按元数据筛选向量检索结果
MCP 相关
该 MCP 服务向客户端提供网页文档搜索,以及 ChromaDB 文档存储、检索、删除和检索器创建工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
使用 ChromaDB 向量数据库的 Web 搜索 MCP 服务
此 MCP 服务使用 LangChain 和 ChromaDB 提供 Web 搜索和向量数据库功能。
功能
Web 搜索
- 搜索热门库的文档(LangChain、LlamaIndex、OpenAI)
- 提取网页内容
向量数据库(ChromaDB)
- 使用向量嵌入存储和检索文档
- 执行语义相似度搜索
- 根据元数据筛选文档
- 通过批量操作提高效率
设置
- 安装依赖:
pip install -e .
# or
uv pip install -e .
- 使用以下变量创建
.env文件:
# Serper API for web search
USER_AGENT=Mozilla/5.0
SERPER_API_URL=https://google.serper.dev/search
SERPER_API_KEY=your_serper_api_key
# ChromaDB configuration
CHROMA_PERSIST_DIRECTORY=./chroma_db
EMBEDDING_MODEL_NAME=sentence-transformers/all-MiniLM-L6-v2
# Transport mode (stdio or sse)
TRANSPORT=stdio
- 运行服务:
python main.py
可用工具
Web 搜索
get_docs(query: str, library: str):搜索指定库的文档
向量数据库(ChromaDB)
add_document_to_vectordb(content: str, metadata: Optional[Dict[str, Any]]):向 ChromaDB 添加单个文档search_vectordb(query: str, top_k: int, filter_criteria: Optional[Dict[str, Any]]):搜索向量数据库delete_document_from_vectordb(document_id: str):按 ID 删除文档batch_add_documents_to_vectordb(documents: List[Dict[str, Any]]):批量添加多个文档create_retriever(search_type: str, search_kwargs: Optional[Dict[str, Any]]):为向量数据库创建检索器
使用示例
# Add a document to the vector database
doc_id = await add_document_to_vectordb(
content="This is a sample document about ChromaDB vector databases.",
metadata={"source": "example", "category": "vector_db"}
)
# Search for similar documents
results = await search_vectordb(
query="How do vector databases work?",
top_k=2,
filter_criteria={"category": "vector_db"}
)
# Delete a document
status = await delete_document_from_vectordb(document_id=doc_id)
# Add multiple documents at once
doc_ids = await batch_add_documents_to_vectordb([
{
"content": "Document 1 content",
"metadata": {"source": "example", "category": "general"}
},
{
"content": "Document 2 content",
"metadata": {"source": "example", "category": "specific"}
}
])
开发
- 格式化代码:
black .和isort . - 检查代码:
ruff check . - 类型检查:
mypy .
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。