LocalRecall MCP服务器
A. 模型上下文协议(MCP) 用于LocalRecall知识库管理的服务器。
特性
- 多种模式:支持stdio、HTTP和SSE传输模式
- 知识管理:LocalRecall集合和文档的完整CRUD操作
- 搜索功能:跨知识库的语义搜索
- 灵活的配置:命令行标志、环境变量或配置文件
- 收集隔离:为了安全起见,将服务器锁定到单个集合
- 多种输出格式:JSON、YAML输出格式
- 跨平台:Linux、macOS和Windows的本机二进制文件
与MCP/本地召回的比较
| 功能 | localrecall mcp服务器 | MCPs/localrecall |
|---|---|---|
| 传输模式 | stdio、HTTP、SSE | 仅限stdio |
| 配置 | 多个源(标志、环境、文件) | 仅环境变量 |
| 集合隔离 | 强制(隐藏交叉集合工具) | 仅默认(可以覆盖) |
| 输出格式 | JSON,YAML | 仅JSON |
| 工具控制 | 启用/禁用特定工具 | 启用所有工具 |
| 架构 | 模块化、可扩展 | 简单、单片 |
安装
来源
git clone https://github.com/futuretea/localrecall-mcp-server.git
cd localrecall-mcp-server
make build使用Docker
docker build -t localrecall-mcp-server .快速开始
标准模式(适用于MCP客户端)
./localrecall-mcp-server \
--localrecall-url http://localhost:8080 \
--localrecall-collection my-collectionHTTP/SSE模式(网络访问)
./localrecall-mcp-server \
--port 8080 \
--localrecall-url http://localhost:8080 \
--localrecall-api-key your-api-key配置
可以通过CLI标志、环境变量或配置文件设置配置。
优先级(从高到低)
- 命令行标志
- 环境变量(前缀:
LOCALRECALL_MCP_) - 配置文件
- 默认值
CLI选项
./localrecall-mcp-server --help| 选项 | 描述 | 默认值 |
|---|---|---|
--config | 配置文件路径(YAML) | |
--port | HTTP/SSE模式端口(0=stdio模式) | 0 |
--sse-base-url | SSE端点的公共基URL | |
--log-level | 日志级别(0-9) | 5 |
--localrecall-url | LocalRecall API URL | http://localhost:8080 |
--localrecall-api-key | LocalRecall API密钥 | |
--localrecall-collection | 集合隔离(锁定此集合) | |
--list-output | 输出格式(json、yaml) | json |
--output-filters | 从输出中筛选的字段 | |
--enabled-tools | 启用工具 | |
--disabled-tools | 要禁用的工具 |
配置文件
创建 config.yaml:
port: 0 # 0 for stdio, or set a port like 8080 for HTTP/SSE
log_level: 5
localrecall_url: http://localhost:8080
localrecall_api_key: your-api-key
localrecall_collection: my-collection # locks server to this collection
list_output: json
enabled_tools: []
disabled_tools: []环境变量
使用 LOCALRECALL_MCP_ 带下划线的前缀:
LOCALRECALL_MCP_PORT=8080
LOCALRECALL_MCP_LOCALRECALL_URL=http://localhost:8080
LOCALRECALL_MCP_LOCALRECALL_API_KEY=your-api-keyMCP客户端集成
克劳德代码
claude mcp add localrecall -- /path/to/localrecall-mcp-server \
--localrecall-url http://localhost:8080 \
--localrecall-collection my-collectionVS代码/光标
增添 .vscode/mcp.json 或 ~/.cursor/mcp.json:
{
"servers": {
"localrecall": {
"command": "/path/to/localrecall-mcp-server",
"args": [
"--localrecall-url",
"http://localhost:8080",
"--localrecall-collection",
"my-collection"
]
}
}
}可用工具
搜索
在LocalRecall集合中搜索内容。
参数:
query(字符串,必填):搜索查询max_results(数字,可选):最大结果数(默认值:5)collection_name(string,必填\*):要搜索的集合
add_document
将文档添加到LocalRecall集合中。
参数:
filename(string,必填):文档的文件名file_path(字符串,可选):要上传的文件的路径file_content(string,可选):文件内容为字符串collection_name(string,必填\*):要添加到的集合
创建集合
在LocalRecall中创建新集合。 当集合隔离处于活动状态时隐藏。
参数:
name(string,必填):要创建的集合的名称
重置收集
在LocalRecall中重置(清除)集合。 当集合隔离处于活动状态时隐藏。
参数:
name(string,必填):要重置的集合的名称
list_collections
在LocalRecall中列出所有集合。 当集合隔离处于活动状态时隐藏。
参数: 无
列表文件
列出LocalRecall集合中的文件。
参数:
collection_name(string,必填\*):要列出的集合
删除尝试
从LocalRecall集合中删除条目。
参数:
entry(string,必填):要删除的条目的文件名collection_name(string,必填\*):要从中删除的集合
\* 当--localrecall-collection设置,collection_name从所有工具模式中删除并自动执行。该参数仅在多采集模式下是必需的。
HTTP/SSE模式
当使用端口号运行时,服务器会公开以下端点:
/healthz-健康检查/mcp-可流式传输的HTTP端点/sse-服务器发送事件端点/message-SSE客户端的消息端点
例子:
./localrecall-mcp-server --port 8080 \
--localrecall-url http://localhost:8080 \
--localrecall-api-key your-api-key访问地址: http://localhost:8080
发展
构建
make build运行测试
make test格式码
make format使用MCP检查员进行测试
npx @modelcontextprotocol/inspector@latest $(pwd)/localrecall-mcp-server \
--localrecall-url http://localhost:8080建筑
localrecall-mcp-server/
├── cmd/ # Application entry points
├── internal/cmd/ # Command-line interface
├── pkg/
│ ├── client/ # LocalRecall API client
│ ├── core/ # Core utilities (config, logging, version)
│ ├── server/ # MCP and HTTP servers
│ └── toolset/ # Tool implementations许可证
阿帕奇-2.0
贡献
欢迎投稿!请随时提交拉取请求。
支持
- GitHub问题:https://github.com/futuretea/localrecall-mcp-server/issues
- 本地召回文件:https://github.com/mudler/LocalRecall
