NRTSearch MCP服务器

NRTSearch MCP服务器是一个为Lucene/NRTSearch提供的生产级模型上下文协议(MCP)服务器,支持AI助手如GitHub Copilot和Claude,提供强大的搜索功能和易用性。

  • by tvergilio
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 tvergilio/nrtsearch-mcp-server

使用说明

NRTSearch MCP服务器

Lucene/NRTSearch的生产就绪模型上下文协议(MCP)服务器,对GitHub Copilot和Claude等AI助手提供一流的支持。


特性

  • 将NRTSearch/Lucene搜索作为AI工具的强大MCP服务器公开
  • 接受任何Lucene查询(布尔、短语、范围、通配符、模糊等)
  • 结构化日志记录、重试和突出显示支持
  • 具有完整测试覆盖率的纯单元可测试搜索逻辑
  • 与GitHub Copilot、Claude Desktop和其他MCP客户端轻松集成
  • 现代Python打包和配置(Pydantic、pyproject.toml)

快速开始

git clone https://github.com/tvergilio/nrtsearch-mcp-server.git
cd nrtsearch-mcp-server
./quickstart.sh

这将:

  • 安装所有依赖项(包括MCP SDK)
  • 在配置的端口上启动服务器

用法

CLI/手册

安装后,您可以使用以下任一方式启动服务器:


# Using the Python module
python -m nrtsearch_mcp.server

# Or, if installed via pip/pipx, use the CLI entrypoint:
nrtsearch-mcp

使用GitHub Copilot(VS代码)

  1. 安装VS Code和GitHub副本
  2. 添加 nrtsearch-mcp 作为VS代码设置中的模型上下文提供程序(请参见 .vscode/settings.json)
  3. 启动服务器(./quickstart.sh 或 nrtsearch-mcp)
  4. 使用Copilot Chat以自然语言查询Lucene索引

配置

服务器通过环境变量和/或JSON配置文件进行配置。默认情况下,它会查找:

  • NRTSEARCH_MCP_CONFIG env-var(配置路径)
  • ./config.json 在当前目录中
  • ~/nrtsearch-mcp-config.json 在您的主目录中

配置示例:

{
  "nrtsearch_connection": {
    "host": "localhost",
    "port": 8000,
    "use_https": false
  },
  "log_level": "INFO"
}

关键环境变量:

  • LOG_LEVEL (默认值:INFO)
  • NRTSEARCH_MCP_CONFIG (可选配置路径)

API:搜索工具

主要工具是 nrtsearch/search:

参数:

  • index (str):索引名称(例如。 yelp_reviews_staging)
  • queryText (str):完整的Lucene查询(例如。 text:(irish AND pub AND (texas OR tx)))
  • topHits (int,默认值10):结果数(1-100)
  • retrieveFields (列表,可选):要返回的字段(默认值: ["text", "stars"])
  • highlight (bool,可选):突出显示匹配项

退货:

  • 点击列表: {score, stars, text}

Lucene查询示例:

  • text:(irish AND pub AND (texas OR tx))
  • text:"great coffee"
  • stars:[4 TO 5] AND text:(vegan AND brunch)

测试

运行所有测试(单元,不需要服务器):

pytest -v

测试包括:

  • 成功、空虚和多次点击
  • 错误处理(HTTP、网络、格式错误、缺少字段)
  • 重试逻辑
  • 突出显示和自定义字段
  • 输入验证

项目结构

nrtsearch-mcp-server/
├── nrtsearch_mcp/
│   ├── server.py         # Main MCP server and search logic
│   ├── settings.py       # Pydantic config
│   └── ...
├── tests/               # Unit tests 
├── quickstart.sh        # One-step install & run
├── requirements.txt     # Python dependencies
├── pyproject.toml       # Packaging/metadata
└── ...

许可证

Apache许可证2.0。看 许可证.