はじめに
自宅に余っているPCパーツを活用してHermesAgentを立ち上げていきます
その記録メモです
今回はSearXNGをインストールする編です
今回できること
SearXNGをインストールすることで検索に幅が広がります
流れ
・Docker上にSearXNGを設定
・SearXNGの動作確認
・MCPでHermesAgentと連携
SearXNG設定
・HermesAgentを起動させるcompose.yamlのservices:に以下を追加します
# SearXNG 本体
searxng:
image: docker.io/searxng/searxng:latest
container_name: searxng
restart: unless-stopped
ports:
# ホストの 8080 番をコンテナの 8080 番に転送
- "8080:8080"
environment:
# 自分の URL を SearXNG に教える(後でリバースプロキシを置く場合は書き換え)
- SEARXNG_BASE_URL=http://localhost:8080/
volumes:
# ./searxng 配下に settings.yml などが生成される
- ./searxng:/etc/searxng

・HermesAgentのフォルダで一度起動させてSearXNGの設定ファイルを作成

・SearXNGのフォルダが出来ているので、sudoでsettings.ymlを編集

・formats:にjsonを追加(formats:の項目自身がなければ追加)
search:
# ...省略...
formats:
- html
- json # ← これを追加

・保存して再起動

SearXNGの動作確認
・ブラウザで192.168.2.3:8080をアクセス

・起動していることを確認!
次にJSONでリプライがあるか確認します
ブラウザで以下を入力
http://192.168.2.3:8080/search?q=test&format=json

こんな感じでエラーにならなけばOK
MCPでHermesAgentと連携
・次にMCP経由でHermesAgentと連携できるようにします
必要なツールのインストールです
curl -LsSf https://astral.sh/uv/install.sh | sh

・インストールに続いてコマンドを有効化して絶対値パスを呼び出します
source $HOME/.local/bin/env
which uvx

・そしてConfig.ymlに以下を追加します
mcp_servers:
# SearXNG を叩く MCP サーバー
searxng:
# uvx の絶対パス(`which uvx` で確認した値に置き換える)
command: /home/rtx3060/.local/bin/uvx
args:
- mcp-searxng
env:
# 1 章で立てた SearXNG の URL
SEARXNG_BASE_URL: "http://192.168.2.3:8080"

・再起動してsearxngがmcpで動作しているか、確認します

・docker内に入り、mcp lsで動作しているmcpを確認します
今回、ありましたので成功です!


・チャットでもSearXNGが確認できたので成功です!
まとめ
無事に、SearXNGが利用できるようになりました
次はCrawl4AIとの連携です

コメント