Pairloop Doubles Mixer

Rotate partners, print & score

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
97%
命名の品質
93%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,434トークン数(ツール定義)
~7.8 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.90%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "doubles-mixer": {
      "url": "https://doubles-mixer.zovo.one/mcp"
    }
  }
}

リモートエンドポイント

https://doubles-mixer.zovo.one/mcpstreamable-http

できること

ツール一覧

ツール(3)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢generate_mixer_schedule(players, courts, rounds, seed, group_a, ...)

Use this when the user wants a pickleball round robin generator, pickleball mixer, rotating partners schedule, tennis mixer schedule or padel americano. Makes balanced rests, partner rotations, a fairness summary, printable PDF score sheets and CSV for 4 to 48 players, 1 to 12 courts and 1 to 24 rounds. Does not balance ratings or make fixed-team brackets; bounded optimization can leave partner repeats above the lower bound.

入力スキーマ

{
  "type": "object",
  "properties": {
    "players": {
      "maxItems": 48,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 160,
        "description": "Player name, up to 40 characters, e.g. Alex."
      },
      "description": "4 to 48 distinct player names, e.g. [\"Alex\",\"Blair\",\"Casey\",\"Drew\"]. Names are limited to 40 characters."
    },
    "courts": {
      "type": "number",
      "description": "Available courts, a whole number from 1 to 12, e.g. 2. Unfillable courts are left unused."
    },
    "rounds": {
      "type": "number",
      "description": "Number of rounds, a whole number from 1 to 24, e.g. 7."
    },
    "seed": {
      "description": "Repeatable seed, a whole number from 0 to 4294967295, e.g. 42. Defaults to 1; four players in one round enumerate ordered rotations before repeating (24 without groups, 16 with groups). Larger configurations use seeded bounded search.",
      "type": "number"
    },
    "group_a": {
      "description": "Optional group A names, e.g. [\"Alex\",\"Blair\"]. Supply both groups; each player must be in one group.",
      "maxItems": 46,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 160,
        "description": "Player name, up to 40 characters, e.g. Alex."
      }
    },
    "group_b": {
      "description": "Optional group B names, e.g. [\"Casey\",\"Drew\"]. Partners cross groups; unequal groups may be refused if balanced rests are impossible.",
      "maxItems": 46,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 160,
        "description": "Player name, up to 40 characters, e.g. Alex."
      }
    },
    "paper": {
      "description": "Print sheet size, e.g. \"letter\" (US Letter, default) or \"a4\".",
      "type": "string",
      "enum": [
        "letter",
        "a4"
      ]
    }
  },
  "required": [
    "players",
    "courts",
    "rounds"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "downloads": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "details": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "kind",
    "summary",
    "details"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢score_mixer_standings(schedule, scores)

Use this when the user wants individual standings from a social doubles schedule and game scores. Counts wins, losses, draws, points for, points against, difference and win percent for up to 48 players and 288 scores. Accepts a generated schedule_request or an indexed schedule; unscored games stay pending. Does not use rating systems or governing tournament rules.

入力スキーマ

{
  "type": "object",
  "properties": {
    "schedule": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "players": {
              "maxItems": 48,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 160,
                "description": "Player name, up to 40 characters, e.g. Alex."
              },
              "description": "4 to 48 distinct player names, e.g. [\"Alex\",\"Blair\",\"Casey\",\"Drew\"]. Names are limited to 40 characters."
            },
            "courts": {
              "type": "number",
              "description": "Available courts, a whole number from 1 to 12, e.g. 2. Unfillable courts are left unused."
            },
            "rounds": {
              "type": "number",
              "description": "Number of rounds, a whole number from 1 to 24, e.g. 7."
            },
            "seed": {
              "description": "Repeatable seed, a whole number from 0 to 4294967295, e.g. 42. Defaults to 1; four players in one round enumerate ordered rotations before repeating (24 without groups, 16 with groups). Larger configurations use seeded bounded search.",
              "type": "number"
            },
            "group_a": {
              "description": "Optional group A names, e.g. [\"Alex\",\"Blair\"]. Supply both groups; each player must be in one group.",
              "maxItems": 46,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 160,
                "description": "Player name, up to 40 characters, e.g. Alex."
              }
            },
            "group_b": {
              "description": "Optional group B names, e.g. [\"Casey\",\"Drew\"]. Partners cross groups; unequal groups may be refused if balanced rests are impossible.",
              "maxItems": 46,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 160,
                "description": "Player name, up to 40 characters, e.g. Alex."
              }
            }
          },
          "required": [
            "players",
            "courts",
            "rounds"
          ]
        },
        {
          "type": "object",
          "properties": {
            "players": {
              "maxItems": 48,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 160,
                "description": "Player name, up to 40 characters, e.g. Alex."
              },
              "description": "4 to 48 distinct player names, e.g. [\"Alex\",\"Blair\",\"Casey\",\"Drew\"]. Names are limited to 40 characters."
            },
            "rounds": {
              "maxItems": 24,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "round": {
                    "type": "number",
                    "description": "Round number, e.g. 1."
                  },
                  "matches": {
                    "maxItems": 12,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "court": {
                          "type": "number",
                          "description": "Court number, e.g. 1."
                        },
                        "team_a": {
                          "maxItems": 2,
                          "type": "array",
                          "items": {
                            "type": "number",
                            "description": "Zero-based player index, e.g. 0 for the first player."
                          },
                          "description": "Team A player indexes, e.g. [0,1]."
                        },
                        "team_b": {
                          "maxItems": 2,
                          "type": "array",
                          "items": {
                            "type": "number",
                            "description": "Zero-based player index, e.g. 0 for the first player."
                          },
                          "description": "Team B player indexes, e.g. [2,3]."
                        }
                      },
                      "required": [
                        "court",
                        "team_a",
                        "team_b"
                      ]
                    },
                    "description": "Doubles matches, e.g. [{court:1,team_a:[0,1],team_b:[2,3]}]."
                  },
                  "sit_out": {
                    "description": "Indexes sitting out, e.g. [4]. Omit to calculate from matches.",
                    "maxItems": 48,
                    "type": "array",
                    "items": {
                      "type": "number",
                      "description": "Zero-based player index, e.g. 0 for the first player."
                    }
                  }
                },
                "required": [
                  "round",
                  "matches"
                ]
              },
              "description": "The schedule rounds, e.g. one round with one court."
            }
          },
          "required": [
            "players",
            "rounds"
          ]
        }
      ],
      "description": "The returned schedule_request, e.g. {players:[\"Alex\",\"Blair\",\"Casey\",\"Drew\"],courts:1,rounds:3,seed:42}, or a full indexed schedule JSON."
    },
    "scores": {
      "maxItems": 288,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "round": {
            "type": "number",
            "description": "Round number, e.g. 1."
          },
          "court": {
            "type": "number",
            "description": "Court number, e.g. 1."
          },
          "score_a": {
            "type": "number",
            "description": "Team A points, a whole number 0 to 999, e.g. 11."
          },
          "score_b": {
            "type": "number",
            "description": "Team B points, a whole number 0 to 999, e.g. 7."
          }
        },
        "required": [
          "round",
          "court",
          "score_a",
          "score_b"
        ]
      },
      "description": "Game scores, e.g. [{round:1,court:1,score_a:11,score_b:7}]. Ties count as draws; supply at least one score."
    }
  },
  "required": [
    "schedule",
    "scores"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "downloads": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "details": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "kind",
    "summary",
    "details"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢check_mixer_fairness(players, courts, rounds, seed, group_a, ...)

Use this when the user wants to check social doubles schedule limits before making a rotating partners schedule. Reports usable courts, balanced sit-out totals, unavoidable consecutive rests and a counting lower bound on partner repeats for 4 to 48 players and 1 to 24 rounds. Does not claim that bounded scheduling reaches the lower bound or balance player ratings.

入力スキーマ

{
  "type": "object",
  "properties": {
    "players": {
      "maxItems": 48,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 160,
        "description": "Player name, up to 40 characters, e.g. Alex."
      },
      "description": "4 to 48 distinct player names, e.g. [\"Alex\",\"Blair\",\"Casey\",\"Drew\"]. Names are limited to 40 characters."
    },
    "courts": {
      "type": "number",
      "description": "Available courts, a whole number from 1 to 12, e.g. 2. Unfillable courts are left unused."
    },
    "rounds": {
      "type": "number",
      "description": "Number of rounds, a whole number from 1 to 24, e.g. 7."
    },
    "seed": {
      "description": "Repeatable seed, a whole number from 0 to 4294967295, e.g. 42. Defaults to 1; four players in one round enumerate ordered rotations before repeating (24 without groups, 16 with groups). Larger configurations use seeded bounded search.",
      "type": "number"
    },
    "group_a": {
      "description": "Optional group A names, e.g. [\"Alex\",\"Blair\"]. Supply both groups; each player must be in one group.",
      "maxItems": 46,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 160,
        "description": "Player name, up to 40 characters, e.g. Alex."
      }
    },
    "group_b": {
      "description": "Optional group B names, e.g. [\"Casey\",\"Drew\"]. Partners cross groups; unequal groups may be refused if balanced rests are impossible.",
      "maxItems": 46,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 160,
        "description": "Player name, up to 40 characters, e.g. Alex."
      }
    }
  },
  "required": [
    "players",
    "courts",
    "rounds"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "downloads": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "details": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "kind",
    "summary",
    "details"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 3 件