Pairloop Doubles Mixer

Rotate partners, print & score

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
97%
Calidad de los nombres
93%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,434Tokens (definiciones de herramientas)
~7.8 KBTamaño de respuesta típico
Impacto moderado en la atención (1.90% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (3)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada3 herramientas