Price Monitor MCPサーバー
概要
このプロジェクトは、Model Context Protocol(MCP)ベースの価格監視サーバーです。商品コードでDBの価格とGマーケットのリアルタイム価格を比較し、価格が下がったときにSlackに通知を送信します。
- MCP規格に準拠したサーバー/ツール/プロンプト構造
- クロール、価格比較、通知全体のプロセスを自動化
- スラックウェブフック連動サポート
主な機能
- DB基準価照会:商品コードでDBから基準価格を照会する
- Gマーケットリアルタイム価格クロール:Firecrawl APIの活用
- 価格比較と割引率の計算
- 価格下落時にスラック通知を送信
- フルワークフロー自動実行ツールを提供
フォルダ構造
price_monitor_mcp/
├── src/
│ └── price_monitor_mcp.py # MCP 서버 메인 코드
├── mcp_client.py # MCP 클라이언트 코드
├── README.md
└── .env # 환경변수
実行方法
1. 仮想環境の準備とパッケージのインストール
conda activate price_monitor_mcp
pip install -r requirements.txt
# 또는 필요한 경우
pip install mcp firecrawl requests python-dotenv psycopg2-binary pydantic
2. 環境変数の設定
.env
ファイルに以下のようにSlack Webhookなどの環境変数を設定します。
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
DB_HOST=...
DB_PORT=...
DB_NAME=...
DB_USER=...
DB_PASSWORD=...
3. MCP サーバーの実行
mcp run src/price_monitor_mcp.py
- またはdevツールで実行:
mcp dev src/price_monitor_mcp.py
- またはシェルスクリプトでconda環境を有効にした後に実行する
MCPツール/プロンプトリスト
get_db_price(product_code)
: DB 基準が照会crawl_gmarket_price(product_code)
:Gマーケットリアルタイム価格クロールsend_slack_alert(message)
: スラック通知の送信monitor_price_workflow(product_code)
: フルプロセス自動実行 (推奨)monitor_price(product_code)
:プロンプト(LLM用)
フルプロセス自動実行(推奨)
ワークフローツール呼び出しの例
MCP開発ツール/クライアントから:
monitor_price_workflow
ツールを選択し、 product_code
入力して実行- 結果:DB価格、最低価格、価格差、割引率、スラック通知などを返す
Pythonクライアントの例
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main():
server_params = StdioServerParameters(
command="python",
args=["src/price_monitor_mcp.py"],
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
result = await session.call_tool("monitor_price_workflow", arguments={"product_code": "ULCK25151"})
print("워크플로우 결과:", result)
if __name__ == "__main__":
asyncio.run(main())
スラック通知テスト
- スラックウェブフックが正しく設定されていると、価格が下がると自動的に通知が送信されます。
- メッセージフォーマットは
send_slack_alert
関数で自由に変更可能
LLM(Claude、GPTなど)連動
- Claude、GPTなどでMCPサーバー接続機能が公式にサポートされると、自然言語でのプロンプト/ツール実行が可能
- 現在は、MCPクライアントコードで結果を受け取り、LLMに貼り付けて要約/分析要求
参考/文書
お問い合わせ/貢献
- 気になる点、バグ、拡張リクエストは問題として残してください!