splatoon3-mcp-server

nohararc/splatoon3-mcp-server

3.2

If you are the rightful owner of splatoon3-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Splatoon3 MCP Server provides schedule information for battles and Salmon Run using the spla3.yuu26.com API.

Tools
3
Resources
0
Prompts
0

Splatoon3 MCP Server

Splatoon3のスケジュール情報を取得するMCP (Model Context Protocol) サーバーです。 spla3.yuu26.com APIを使用してバトルやサーモンランの情報を提供します。

機能

  • 現在のバトル情報取得(レギュラー、バンカラオープン/チャレンジ、Xマッチ)
  • 次回のバトル情報取得
  • サーモンランスケジュール取得(現在と次回のシフト)

必要環境

  • Python 3.10以上
  • uv(推奨)またはpip

インストール

  1. リポジトリをクローンまたはダウンロード
git clone <repository-url>
cd splatoon3-mcp-server
  1. 仮想環境の作成と有効化(uvを使用)
uv venv
source .venv/bin/activate  # Linux/macOS
# または .venv\Scripts\activate  # Windows
  1. 依存関係をインストール
uv pip install -r requirements.txt

Claude Codeでの設定

方法1: claude mcp add-jsonコマンド(推奨)

claude mcp add-json splatoon3 '{
  "command": "/path/to/splatoon3-mcp-server/.venv/bin/python",
  "args": ["/path/to/splatoon3-mcp-server/run.py"],
  "env": {
    "PYTHONPATH": "/path/to/splatoon3-mcp-server/src"
  }
}'

注意: パスは実際のプロジェクトの場所に置き換えてください。

方法2: CLAUDE.mdファイル

プロジェクトルートのCLAUDE.mdファイルに以下の設定を記載:

{
  "splatoon3": {
    "command": "/path/to/splatoon3-mcp-server/.venv/bin/python",
    "args": ["/path/to/splatoon3-mcp-server/run.py"],
    "env": {
      "PYTHONPATH": "/path/to/splatoon3-mcp-server/src"
    }
  }
}

使用例

Claude Codeで以下のように使用できます:

  • 「現在のレギュラーマッチの情報を教えて」
  • 「バンカラマッチ(チャレンジ)の次のスケジュールは?」
  • 「サーモンランの今のシフトと次のシフトを見せて」
  • 「現在のXマッチのステージとルールは?」

利用可能なツール

get_current_battles_tool

現在開催中のバトル情報を取得します。

  • パラメータ: mode (string)
    • "regular": レギュラーマッチのみ
    • "bankara-open": バンカラマッチ(オープン)のみ
    • "bankara-challenge": バンカラマッチ(チャレンジ)のみ
    • "x": Xマッチのみ
    • "all": 全てのバトルタイプ(デフォルト)

get_next_battles_tool

次回のバトル情報を取得します。

  • パラメータ: mode (string) - 上記と同様

get_salmon_run_tool

サーモンランのスケジュール情報を取得します。

  • パラメータ: なし
  • 取得情報: 現在のシフトと次回のシフト

動作確認

サーバーが正常に動作するかテストできます:

# 仮想環境を有効化
source .venv/bin/activate

# サーバー起動テスト(数秒で停止)
timeout 3 python run.py

# APIテスト
python -c "
import asyncio
import sys
sys.path.insert(0, 'src')
from tools import get_current_battles
print(asyncio.run(get_current_battles('regular')))
"

トラブルシューティング

MCPサーバーが認識されない場合

  1. パスが正しいか確認
  2. 仮想環境のPythonパスが正しいか確認
  3. claude mcp listでサーバー登録を確認

API接続エラーの場合

  1. インターネット接続を確認
  2. spla3.yuu26.com が利用可能か確認

開発

コードフォーマット

source .venv/bin/activate
black src/ run.py
ruff check src/ run.py --fix

テスト実行

source .venv/bin/activate
python -c "
import asyncio
import sys
sys.path.insert(0, 'src')
from tools import get_current_battles, get_next_battles, get_salmon_run

async def test_all():
    print('現在のバトル:', await get_current_battles('all'))
    print('次のバトル:', await get_next_battles('regular'))
    print('サーモンラン:', await get_salmon_run())

asyncio.run(test_all())
"

ライセンス

MIT License

謝辞