使用说明
Meilisearch MCP服务器(Go)
Meilisearch搜索引擎的基于Go的包装器,用作模型上下文协议(MCP)服务器。
概述
该项目是一个Go应用程序,旨在使Meilisearch搜索引擎能够用作MCP(模型上下文协议)服务器。通过MCP服务器,像Claude这样的大型语言模型(LLM)可以访问Meilisarch强大的搜索功能。
特性
- Go中实现的轻量级快速MCP服务器
- 与美搜索API无缝集成
- 符合MCP协议的接口
- 支持搜索、索引管理和文档操作等关键功能
安装
先决条件
- 达到1.24或更高
- 正在运行Meilisearch实例
构建说明
# Clone the repository
git clone https://github.com/cnosuke/mcp-meilisearch.git
cd mcp-meilisearch
# Install dependencies
make deps
# Build
make bin/mcp-meilisearch
配置
使用 config.yml 用于配置Meilisearch服务器连接设置的文件:
meilisearch:
host: http://localhost:7700 # Address of Meilisearch server
api_key: '' # Set API key if needed
您还可以使用环境变量进行配置:
MEILISEARCH_HOST:Meilisearch服务器地址MEILISEARCH_API_KEY:美搜索API密钥
用法
启动服务器
./bin/mcp-meilisearch server --config config.yml
选项:
--no-logs:最小化日志输出(仅显示错误)--log <file path>:将日志输出到指定文件
与Claude Desktop一起使用
要与Claude Desktop集成,请在您的 claude_desktop_config.json 文件。 由于MCP使用stdio进行通信,因此必须使用 --no-logs 和 --log 旗帜。 下面是一个通过环境变量注入SQLite文件路径的示例配置:
{
"mcpServers": {
"sqlite": {
"command": "./bin/mcp-meilisearch",
"args": ["server", "--no-logs", "--log", "path_to_log_file"],
"env": {
"MEILISEARCH_HOST": "http://localhost:7700",
"MEILISEARCH_API_KEY": "api_key"
}
}
}
}
此配置将MCP SQLite服务器注册到Claude Desktop,确保所有日志都指向指定的日志文件,而不会干扰通过stdio传输的MCP协议消息。
可用工具
此MCP服务器提供以下工具:
服务器管理
health_check:检查Meilisearch服务器的状态。- 参数:无
- 返回:服务器运行状况信息
索引管理
-
list_indexes:检索所有索引的列表。- 参数:无
- 返回值:索引数组
-
create_index:创建新索引。- 参数:
uid:索引的唯一标识符(必需)primary_key:文档主键(可选)
- 返回:创建任务信息
- 参数:
文档操作
-
get_documents:从索引中检索文档。- 参数:
index_uid:索引UID(必需)limit:要检索的最大文档数(可选)offset:要跳过的文档数(可选)fields:要检索的字段数组(可选)
- 返回:文档数组
- 参数:
-
add_documents:将文档添加到索引中。- 参数:
index_uid:索引UID(必需)documents:要添加的文档数组(必需)primary_key:主键(可选)
- 返回:添加任务信息
- 参数:
搜索
search:在索引中搜索文档。- 参数:
index_uid:要搜索的索引的UID(必需)query:搜索查询(必填)limit:要返回的最大结果数(可选)offset:要跳过的结果数(可选)filter:筛选表达式(可选)sort:排序条件数组(可选)
- 返回:搜索结果
- 参数:
贡献
欢迎投稿!请分叉存储库并提交改进或bug修复的pull请求。对于重大变化,先打开一个问题来讨论你的想法。
许可证
该项目根据MIT许可证获得许可。
作者
中海油(x.com/cnosuke)
