Manticore搜索MCP服务器
一个模型上下文协议(MCP)服务器,通过兼容MCP的客户端(如Claude Code、Cursor和其他AI开发工具)提供对Manticore搜索功能的访问。
特性
- 具有高级查询选项的全文搜索
- 表/索引管理操作
- 文档插入和操作
- 集群状态监控
- 带突出显示和模糊搜索的布尔查询
- 可配置的结果限制和分页
安装
先决条件
- 转到1.22或更高版本
- Manticore搜索服务器正在运行并可访问
构建
git clone https://github.com/krajcik/manticore-mcp-server.git
cd manticore-mcp-server
go build -o manticore-mcp-server配置
使用环境变量进行配置:
export MANTICORE_URL="http://localhost:9308"
export MAX_RESULTS_PER_QUERY="100"
export REQUEST_TIMEOUT="30s"
export DEBUG="false"或命令行标志:
./manticore-mcp-server --manticore-url="http://localhost:9308" --max-results=100MCP客户端集成
添加到您的MCP客户端配置中(例如。, ~/.claude.json 克劳德代码):
{
"mcpServers": {
"manticore-search": {
"command": "/path/to/manticore-mcp-server",
"args": [],
"env": {
"MANTICORE_URL": "http://localhost:9308",
"MAX_RESULTS_PER_QUERY": "50"
}
}
}
}可用工具
MCP协议自动向客户端公开这些工具:
搜索
Manticore索引中的全文搜索。
关键参数:
table(必填):表名query:搜索文本limit:最大结果highlight:启用结果突出显示bool_query:复杂的布尔查询
show_tables
列出可用的表/索引。
describe_table
获取表架构信息。
参数:
table(必填):表名
insert_document
将文档插入索引。
参数:
table(必填):表名document(必填):文件数据
update_document
通过以下方式更新现有文档 id (属性)具有可选的附加条件。
参数:
table(必填)id(必填)document(必填):要更新的字段condition(可选)
删除文档
按以下方式删除文档 id 或 condition.
参数:
table(必填)id或condition(需要一个)
show_cluster_status
显示群集运行状况。
create_cluster/join_cluster/alte_cluster/delete_luster/set_luster
集群管理操作(在生产中谨慎使用)。
响应格式
所有工具都返回结构化JSON:
{
"success": true,
"data": { /* results */ },
"meta": {
"total": 42,
"count": 10,
"operation": "search"
}
}API发现
MCP客户端通过协议自动发现可用的工具及其模式。无需手动配置。
故障排除
连接问题:
- 验证Manticore是否正在运行:
curl http://localhost:9308 - 检查MCP配置中的服务器路径
- 使用
--debug用于详细日志记录 - 对于复杂的布尔查询,请确保可以访问HTTP JSON API(POST到
/search).
演出
- 调整
MAX_RESULTS_PER_QUERY满足您的需求 - 增加
REQUEST_TIMEOUT用于复杂查询
许可证
MIT许可证
