Price Monitor MCP Server

Integrations

  • Manages environment variables for configuration settings like database credentials and Slack webhook URLs

  • Used for data validation and settings management in the price monitoring server

  • Provides a Python client interface to interact with the MCP server, allowing programmatic access to price monitoring workflows and tools

Price Monitor MCPサーバー

概要

このプロジェクトは、Model Context Protocol(MCP)ベースの価格監視サーバーです。商品コードでDBの価格とGマーケットのリアルタイム価格を比較し、価格が下がったときにSlackに通知を送信します。

  • MCP規格に準拠したサーバー/ツール/プロンプト構造
  • クロール、価格比較、通知全体のプロセスを自動化
  • スラックウェブフック連動サポート

主な機能

  1. DB基準価照会:商品コードでDBから基準価格を照会する
  2. Gマーケットリアルタイム価格クロール:Firecrawl APIの活用
  3. 価格比較と割引率の計算
  4. 価格下落時にスラック通知を送信
  5. フルワークフロー自動実行ツールを提供

フォルダ構造

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に貼り付けて要約/分析要求

参考/文書


お問い合わせ/貢献

  • 気になる点、バグ、拡張リクエストは問題として残してください!
-
security - not tested
F
license - not found
-
quality - not tested

Monitors product prices by comparing database reference prices with real-time G-Market prices and sends Slack notifications when prices drop.

  1. 개요
    1. 주요 기능
      1. 폴더 구조
        1. 실행 방법
          1. 1. 가상환경 준비 및 패키지 설치
          2. 2. 환경 변수 설정
          3. 3. MCP 서버 실행
        2. MCP 툴/프롬프트 목록
          1. 전체 프로세스 자동 실행 (추천)
            1. 워크플로우 툴 호출 예시
          2. 슬랙 알림 테스트
            1. LLM(Claude, GPT 등) 연동
              1. 참고/문서
                1. 문의/기여
                  ID: n3lbm0w19k