Fess MCP Server について
Fess MCP Serverは、MCPクライアントやエージェントをFess全文検索エンジンに接続します。対応クライアントに登録すると、エージェントがFess経由で情報を取得できます。
主な機能
- 01Fess検索との接続
- 02エージェントによる情報取得
- 03FessサーバーURLの設定
- 04Dockerまたはuvでの導入
活用シーン
- 01MCPクライアントからFess経由で情報を検索
- 02エージェントにFess検索を利用させる
MCP 対応
MCPクライアントにFess検索機能を公開し、接続したエージェントが検索エンジン経由で情報を取得できるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Fess MCP サーバー
Fess MCP サーバーは、Fess 検索エンジンと連携するミドルウェアサーバーです。 Claude for Desktop などの MCP クライアントの設定に登録すると、エージェントが Fess を使用して情報を取得できるようになります。Fess は、Apache License の下で提供されるオープンソースの全文検索サーバーです。商用サポートも利用できます。詳細については、公式サイトをご覧ください。 https://fess.codelibs.org/ja/
セットアップ
Fess のセットアップ
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 for Desktop の接続設定
Fess MCP サーバーは、デフォルトでポート 8000 で起動します。 Fess MCP サーバーが localhost のポート 8000 で実行されている場合は、claude_desktop_config.json を次のように編集します。
{
"mcpServers": {
"fess-search-sse": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:8000/sse"
]
}
}
}
テスト
Docker を使用しない場合
ここでは uv を使用したテスト手順を紹介します。
# 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 License
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。