知识库管理服务器

LocalRecall MCP Server 是一个基于 Model Context Protocol (MCP) 的知识库管理服务器,支持多种传输模式、知识管理和搜索功能。

  • by futuretea
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 futuretea/localrecall-mcp-server

使用说明

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-collection

HTTP/SSE模式(网络访问)

./localrecall-mcp-server \
  --port 8080 \
  --localrecall-url http://localhost:8080 \
  --localrecall-api-key your-api-key

配置

可以通过CLI标志、环境变量或配置文件设置配置。

优先级(从高到低)

  1. 命令行标志
  2. 环境变量(前缀: LOCALRECALL_MCP_)
  3. 配置文件
  4. 默认值

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-key

MCP客户端集成

克劳德代码

claude mcp add localrecall -- /path/to/localrecall-mcp-server \
  --localrecall-url http://localhost:8080 \
  --localrecall-collection my-collection

VS代码/光标

增添 .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