Fess搜索中间件

Fess MCP Server是一个与Fess搜索引擎集成的中间件服务器,通过注册到MCP客户端(如Claude for Desktop)中,使代理能够使用Fess获取信息。

  • by g-fukurowl
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 g-fukurowl/fess-mcp-server

使用说明

Fess MCP服务器

Fess MCP Server是一个与Fess搜索引擎集成的中间件服务器。 通过在MCP客户端(如Claude for Desktop)的设置中注册它,它使代理能够使用Fess获取信息。Fess是一个根据Apache许可证提供的开源全文搜索服务器。商业支持也是可用的。如需了解更多详情,请访问官方网站。 https://fess.codelibs.org/ja/

设置

粪便设置

有关Fess服务器本身的设置过程,请参阅Fess官方文档。 https://qiita.com/g_fukurowl/items/a00dbbad737d3e775108

以下文章也可能有所帮助: https://qiita.com/g_fukurowl/items/a00dbbad737d3e775108

Fess MCP服务器设置

使用Docker

使用以下命令启动服务器:

docker-compose up -d

没有Docker

这里我们展示了使用uv的设置过程。 uv是一个快速的Python包管理器。虽然不是必需的,但我们建议使用它。

# Install uv
irm https://astral.sh/uv/install.ps1 | iex
# Activate virtual environment
.\.venv\Scripts\activate.bat
# Install dependencies
uv pip install -e .
# Start MCP server
uv run .\fess_mcp_server.py

配置

Fess服务器连接设置

Fess MCP服务器访问的Fess服务器的URL被设置为环境变量Fess_API_BASE。 在启动Fess MCP服务器之前,请根据您的环境修改此变量。 如果作为Docker容器运行,请编辑Docker-compose.yaml并更改相关设置。

Claude用于桌面连接设置

默认情况下,Fess MCP服务器在端口8000上启动。 如果Fess MCP服务器在端口8000的本地主机上运行,请按如下方式编辑claude_desktop_config.json:

{
  "mcpServers": {
    "fess-search-sse": {
        "command": "npx",
        "args": [
          "-y",
          "mcp-remote",
          "http://localhost:8000/sse"
        ]
      }
  }
}

测试

没有Docker

这里我们展示了使用紫外线的测试程序。

# Install development dependencies:
uv pip install -e ".[test]"
# Run unit tests:
uv run pytest -v tests/unit/ -s
# Run integration tests (requires communication with Fess server):
uv run pytest -v tests/integration/ -s
# Generate coverage report:
uv run pytest --cov=fess_mcp_server --cov-report=html

在Docker容器中运行测试

# Build test Docker image:
docker build -t fess-mcp-server-test -f Dockerfile.test .
# Run unit tests:
docker run --rm fess-mcp-server-test pytest -v tests/unit/ -s
# Run integration tests (requires communication with Fess server):
docker run --rm --network host fess-mcp-server-test pytest -v tests/integration/ -s
# Generate coverage report:
docker run --rm -v ${PWD}/coverage:/app/coverage fess-mcp-server-test pytest --cov=fess_mcp_server --cov-report=html

测试执行选项

  • -v:显示详细输出
  • -s:显示标准输出
  • --cov:生成覆盖率报告
  • --cov-report=html:生成HTML覆盖率报告

许可证

MIT许可证