steam-store-search-mcp
by tfuru
README.md
# steam-store-search-mcp
Steam Storeの情報を取得するためのMCP(Model Context Protocol)サーバー
## 環境
- podman compose
- python 3.12
## 構成
- src/mcp-server.py: MCPサーバー本体
- src/tools/: MCPツール
- Dockerfile: Dockerイメージ
- requirements.txt: Pythonパッケージ
- compose.yml: Podman Compose設定
## 使い方
### コンテナのビルドと起動
```bash
# ビルド
podman compose build
# 起動
podman compose up -d
```
### 動作確認(ログ)
```bash
podman compose logs -f
```
### デバッグ実行(ローカル)
ローカル環境で直接実行して、標準入力経由でJSON-RPCのやり取りを確認できます。
```bash
pip install -r requirements.txt
python src/mcp_server.py
```
## MCPクライアント設定例
Claude Desktop 等の MCP クライアントで利用するための設定例です。
### Claude Desktop (Desktop App)
`~/Library/Application Support/Claude/claude_desktop_config.json` に以下を追加します。
**Podman を使用する場合:**
```json
{
"mcpServers": {
"steam-search-mcp": {
"command": "podman",
"args": [
"run",
"-i",
"--rm",
"docker.io/library/steam-store-search-mcp-mcp-server:latest"
]
}
}
}
```
## ツール
LLMに提供する機能(Tools)として、以下の3つを実装しています。
- `search_games(query)`: キーワードからゲームID(AppID)およびサムネイル画像を取得する。
- `get_game_details(appid)`: 価格、リリース日、ジャンル、説明文、およびヘッダー画像URLを取得する。
- `get_player_reviews(appid)`: 最近の評価(レビュー数、ポジティブ率など)を確認する。
## パフォーマンス
APIリクエストの削減と高速化のため、簡易的なインメモリキャッシュを実装しています。
- **キャッシュ期間 (TTL)**: 1時間
- **対象**: `search_games`, `get_game_details`, `get_player_reviews` のすべての出力結果
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues