Printable bingo cards & caller
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user wants printable bingo cards: a bingo card generator or bingo card maker for a holiday party, classroom, baby shower, team meeting, or any game with their own words or phrases, or classic number bingo (1-75) or UK 90-ball tickets. Makes 1-200 different cards (3x3, 4x4 or 5x5, free centre on or off) with each item spread evenly, optionally so that no two cards share a winning line. Returns card 1, balance and uniqueness numbers, and links to a cards PDF (1, 2, 4 or 6 per page, cut lines), a caller sheet PDF and a CSV. Does not add pictures, and does not draw items or check claims (use show_bingo_caller). Not for a single personal goals card (use generate_goal_bingo) or for prize or money games.
words (default): your own words or phrases. numbers_75: classic US bingo, 5x5 with B 1-15, I 16-30, N 31-45, G 46-60, O 61-75. numbers_90: UK-style 3x9 tickets with 15 numbers from 1-90, printed in strips of 6. Example: words.
Card set number from an earlier result, e.g. 4242. The same items, options and seed always rebuild the same cards. Leave out for a new random set.
For mode words: the words or phrases to put on the cards, one per entry, e.g. ["Ugly sweater", "Mistletoe", "Hot cocoa"]. Need at least 24 for 5x5 with a free centre, 25 without, 16 for 4x4, 8 or 9 for 3x3. Up to 300, each up to 100 characters.
Paper size for the PDFs, e.g. letter (default) or a4.
Heading printed on every card, e.g. Holiday Party Bingo. Default Bingo.
Card size for mode words: 3, 4 or 5 (default 5), e.g. 5. Classic numbers_75 is always 5x5; numbers_90 tickets are always 3x9.
How many different cards (or tickets) to make, 1-200, e.g. 30. Default 30.
Text in the free centre square, e.g. FREE (default), Santa, or Baby.
Free centre square on 3x3 and 5x5 cards, e.g. true. Default true for 5x5 and false for 3x3; 4x4 cards have no centre.
Theme colour as hex or a name, e.g. #2B8A3E, red, green, gold, pink, purple, teal, christmas. Default raspberry #C2255C.
true = no two cards share an identical winning line (row, column or diagonal), so two players never complete the very same line. Needs enough items; the tool explains if the request is not possible. Default false (cards are always all different).
Cards per printed page: 1, 2, 4 or 6, e.g. 2. Default 2 (6 for 90-ball tickets). Pages get dashed cut lines.
Use this when the user wants printable bingo cards: a bingo card generator or bingo card maker for a holiday party, classroom, baby shower, team meeting, or any game with their own words or phrases, or classic number bingo (1-75) or UK 90-ball tickets. Makes 1-200 different cards (3x3, 4x4 or 5x5, free centre on or off) with each item spread evenly, optionally so that no two cards share a winning line. Returns card 1, balance and uniqueness numbers, and links to a cards PDF (1, 2, 4 or 6 per page, cut lines), a caller sheet PDF and a CSV. Does not add pictures, and does not draw items or check claims (use show_bingo_caller). Not for a single personal goals card (use generate_goal_bingo) or for prize or money games.
| Argument | Type | Description |
|---|---|---|
| mode | string | words (default): your own words or phrases. numbers_75: classic US bingo, 5x5 with B 1-15, I 16-30, N 31-45, G 46-60, O 61-75. numbers_90: UK-style 3x9 tickets with 15 numbers from 1-90, printed in strips of 6. Example: words. |
| seed | integer | Card set number from an earlier result, e.g. 4242. The same items, options and seed always rebuild the same cards. Leave out for a new random set. |
| items | array | For mode words: the words or phrases to put on the cards, one per entry, e.g. ["Ugly sweater", "Mistletoe", "Hot cocoa"]. Need at least 24 for 5x5 with a free centre, 25 without, 16 for 4x4, 8 or 9 for 3x3. Up to 300, each up to 100 characters. |
| paper | string | Paper size for the PDFs, e.g. letter (default) or a4. |
| title | string | Heading printed on every card, e.g. Holiday Party Bingo. Default Bingo. |
| grid_size | integer | Card size for mode words: 3, 4 or 5 (default 5), e.g. 5. Classic numbers_75 is always 5x5; numbers_90 tickets are always 3x9. |
| card_count | integer | How many different cards (or tickets) to make, 1-200, e.g. 30. Default 30. |
| free_label | string | Text in the free centre square, e.g. FREE (default), Santa, or Baby. |
| free_space | boolean | Free centre square on 3x3 and 5x5 cards, e.g. true. Default true for 5x5 and false for 3x3; 4x4 cards have no centre. |
| accent_color | string | Theme colour as hex or a name, e.g. #2B8A3E, red, green, gold, pink, purple, teal, christmas. Default raspberry #C2255C. |
| unique_lines | boolean | true = no two cards share an identical winning line (row, column or diagonal), so two players never complete the very same line. Needs enough items; the tool explains if the request is not possible. Default false (cards are always all different). |
| cards_per_page | integer | Cards per printed page: 1, 2, 4 or 6, e.g. 2. Default 2 (6 for 90-ball tickets). Pages get dashed cut lines. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"mode": {
"enum": [
"words",
"numbers_75",
"numbers_90"
],
"type": "string",
"description": "words (default): your own words or phrases. numbers_75: classic US bingo, 5x5 with B 1-15, I 16-30, N 31-45, G 46-60, O 61-75. numbers_90: UK-style 3x9 tickets with 15 numbers from 1-90, printed in strips of 6. Example: words."
},
"seed": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Card set number from an earlier result, e.g. 4242. The same items, options and seed always rebuild the same cards. Leave out for a new random set."
},
"items": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "number"
}
]
},
"maxItems": 400,
"description": "For mode words: the words or phrases to put on the cards, one per entry, e.g. [\"Ugly sweater\", \"Mistletoe\", \"Hot cocoa\"]. Need at least 24 for 5x5 with a free centre, 25 without, 16 for 4x4, 8 or 9 for 3x3. Up to 300, each up to 100 characters."
},
"paper": {
"enum": [
"letter",
"a4"
],
"type": "string",
"description": "Paper size for the PDFs, e.g. letter (default) or a4."
},
"title": {
"type": "string",
"maxLength": 120,
"description": "Heading printed on every card, e.g. Holiday Party Bingo. Default Bingo."
},
"grid_size": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Card size for mode words: 3, 4 or 5 (default 5), e.g. 5. Classic numbers_75 is always 5x5; numbers_90 tickets are always 3x9."
},
"card_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many different cards (or tickets) to make, 1-200, e.g. 30. Default 30."
},
"free_label": {
"type": "string",
"maxLength": 40,
"description": "Text in the free centre square, e.g. FREE (default), Santa, or Baby."
},
"free_space": {
"type": "boolean",
"description": "Free centre square on 3x3 and 5x5 cards, e.g. true. Default true for 5x5 and false for 3x3; 4x4 cards have no centre."
},
"accent_color": {
"type": "string",
"maxLength": 30,
"description": "Theme colour as hex or a name, e.g. #2B8A3E, red, green, gold, pink, purple, teal, christmas. Default raspberry #C2255C."
},
"unique_lines": {
"type": "boolean",
"description": "true = no two cards share an identical winning line (row, column or diagonal), so two players never complete the very same line. Needs enough items; the tool explains if the request is not possible. Default false (cards are always all different)."
},
"cards_per_page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Cards per printed page: 1, 2, 4 or 6, e.g. 2. Default 2 (6 for 90-ball tickets). Pages get dashed cut lines."
}
}
}Use this when the user wants a goal bingo card (new year goal bingo, 2027 bingo card, resolutions bingo, bucket-list bingo): one personal 5x5 card (or 4x4, 3x3) of their own goals with a free centre, title, year and theme colour, as a PNG, SVG and printable PDF. Goals marked completed print with a check mark and the tool counts bingo lines. Needs one goal per square (24 for 5x5 with a free centre). Does not invent goals for the user and does not make sets of party cards (use generate_bingo_cards).
| Argument | Type | Description |
|---|---|---|
| seed | integer | Shuffle number from an earlier result to repeat the same order, e.g. 77. |
| year | integer | Year for the title, e.g. 2027 gives "2027 Bingo". |
| goals* | array | The goals, one per square, e.g. ["Run a 10K", "Read 12 books", "Learn to make sourdough"]. Exactly 24 for a 5x5 card with a free centre (25 without), 16 for 4x4, 8 for 3x3 with a free centre (9 without). Up to 80 characters each. |
| paper | string | Paper size for the PDF, e.g. letter (default) or a4. |
| title | string | Card heading, e.g. Maya's 2027 Bingo. Overrides the year title. |
| shuffle | boolean | true to mix the goals into a random order, e.g. false (default keeps your order, filled row by row). |
Use this when the user is running a bingo game: call or draw the next word or number at random, show what has been called on a big screen, check whether a claimed bingo on card number N is real (which line, at which call, and who won first), or list all cards that have bingo now. Pass the same items and the caller_args (mode, grid_size, free_space, card_count, seed, unique_lines) from generate_bingo_cards, plus everything called so far in order. Draws use secure randomness. Does not make or print cards and does not keep game state between calls: always send the full called list. Not for prize, betting or money games.
| Argument | Type | Description |
|---|---|---|
| mode | string | words (default): your own words or phrases. numbers_75: classic US bingo, 5x5 with B 1-15, I 16-30, N 31-45, G 46-60, O 61-75. numbers_90: UK-style 3x9 tickets with 15 numbers from 1-90, printed in strips of 6. Example: words. |
| seed | integer | Card set number from an earlier result, e.g. 4242. The same items, options and seed always rebuild the same cards. Leave out for a new random set. |
| items | array | For mode words: the words or phrases to put on the cards, one per entry, e.g. ["Ugly sweater", "Mistletoe", "Hot cocoa"]. Need at least 24 for 5x5 with a free centre, 25 without, 16 for 4x4, 8 or 9 for 3x3. Up to 300, each up to 100 characters. |
| title | string | Game title shown on the caller screen, e.g. Holiday Party Bingo. |
| action | string | draw (default): call the next item at random. check: verify a claimed bingo on card_number. winners: list every card that has the pattern now. board: show what has been called. Example: check. |
| subtitle |
| string |
| Small line under the title, e.g. One square at a time. |
| completed | array | Goals already done, written as in goals, e.g. ["Read 12 books"]. They print with a check mark and count toward bingo lines. |
| grid_size | integer | 3, 4 or 5 (default 5), e.g. 5. |
| free_space | boolean | Free centre square on 3x3 and 5x5 cards, e.g. true (default). |
| accent_color | string | Theme colour as hex or a name, e.g. #0B7285, teal, gold, purple. Default raspberry #C2255C. |
| center_label | string | Text in the centre square, e.g. FREE (default), Be kind to myself, or 2027. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"goals"
],
"properties": {
"seed": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Shuffle number from an earlier result to repeat the same order, e.g. 77."
},
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Year for the title, e.g. 2027 gives \"2027 Bingo\"."
},
"goals": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "number"
}
]
},
"maxItems": 40,
"description": "The goals, one per square, e.g. [\"Run a 10K\", \"Read 12 books\", \"Learn to make sourdough\"]. Exactly 24 for a 5x5 card with a free centre (25 without), 16 for 4x4, 8 for 3x3 with a free centre (9 without). Up to 80 characters each."
},
"paper": {
"enum": [
"letter",
"a4"
],
"type": "string",
"description": "Paper size for the PDF, e.g. letter (default) or a4."
},
"title": {
"type": "string",
"maxLength": 120,
"description": "Card heading, e.g. Maya's 2027 Bingo. Overrides the year title."
},
"shuffle": {
"type": "boolean",
"description": "true to mix the goals into a random order, e.g. false (default keeps your order, filled row by row)."
},
"subtitle": {
"type": "string",
"maxLength": 120,
"description": "Small line under the title, e.g. One square at a time."
},
"completed": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "number"
}
]
},
"maxItems": 40,
"description": "Goals already done, written as in goals, e.g. [\"Read 12 books\"]. They print with a check mark and count toward bingo lines."
},
"grid_size": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "3, 4 or 5 (default 5), e.g. 5."
},
"free_space": {
"type": "boolean",
"description": "Free centre square on 3x3 and 5x5 cards, e.g. true (default)."
},
"accent_color": {
"type": "string",
"maxLength": 30,
"description": "Theme colour as hex or a name, e.g. #0B7285, teal, gold, purple. Default raspberry #C2255C."
},
"center_label": {
"type": "string",
"maxLength": 40,
"description": "Text in the centre square, e.g. FREE (default), Be kind to myself, or 2027."
}
}
}| called | array | Everything already called, in call order, exactly as shown on the cards, e.g. ["Mistletoe", "Hot cocoa"] or ["B-12", "N-40", "O-71"]. Empty for a new game. |
| pattern | string | Winning pattern to check, e.g. line. line: any row, column or diagonal (90-ball: any row). two_lines: two complete lines. four_corners: the 4 corner squares (not for 90-ball). full_card: every square (full house). Default line. |
| grid_size | integer | Card size for mode words: 3, 4 or 5 (default 5), e.g. 5. Classic numbers_75 is always 5x5; numbers_90 tickets are always 3x9. |
| list_code | string | For word games: list_code from caller_args of generate_bingo_cards, e.g. 0k3x9qa. Confirms the items were sent in the same order as when the cards were made, so card numbers match. |
| card_count | integer | How many different cards (or tickets) to make, 1-200, e.g. 30. Default 30. |
| free_space | boolean | Free centre square on 3x3 and 5x5 cards, e.g. true. Default true for 5x5 and false for 3x3; 4x4 cards have no centre. |
| card_number | integer | For action check: the card number printed on the claimed card, e.g. 17. |
| unique_lines | boolean | true = no two cards share an identical winning line (row, column or diagonal), so two players never complete the very same line. Needs enough items; the tool explains if the request is not possible. Default false (cards are always all different). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"mode": {
"enum": [
"words",
"numbers_75",
"numbers_90"
],
"type": "string",
"description": "words (default): your own words or phrases. numbers_75: classic US bingo, 5x5 with B 1-15, I 16-30, N 31-45, G 46-60, O 61-75. numbers_90: UK-style 3x9 tickets with 15 numbers from 1-90, printed in strips of 6. Example: words."
},
"seed": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Card set number from an earlier result, e.g. 4242. The same items, options and seed always rebuild the same cards. Leave out for a new random set."
},
"items": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "number"
}
]
},
"maxItems": 400,
"description": "For mode words: the words or phrases to put on the cards, one per entry, e.g. [\"Ugly sweater\", \"Mistletoe\", \"Hot cocoa\"]. Need at least 24 for 5x5 with a free centre, 25 without, 16 for 4x4, 8 or 9 for 3x3. Up to 300, each up to 100 characters."
},
"title": {
"type": "string",
"maxLength": 120,
"description": "Game title shown on the caller screen, e.g. Holiday Party Bingo."
},
"action": {
"enum": [
"draw",
"check",
"winners",
"board"
],
"type": "string",
"description": "draw (default): call the next item at random. check: verify a claimed bingo on card_number. winners: list every card that has the pattern now. board: show what has been called. Example: check."
},
"called": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "number"
}
]
},
"maxItems": 400,
"description": "Everything already called, in call order, exactly as shown on the cards, e.g. [\"Mistletoe\", \"Hot cocoa\"] or [\"B-12\", \"N-40\", \"O-71\"]. Empty for a new game."
},
"pattern": {
"enum": [
"line",
"two_lines",
"four_corners",
"full_card"
],
"type": "string",
"description": "Winning pattern to check, e.g. line. line: any row, column or diagonal (90-ball: any row). two_lines: two complete lines. four_corners: the 4 corner squares (not for 90-ball). full_card: every square (full house). Default line."
},
"grid_size": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Card size for mode words: 3, 4 or 5 (default 5), e.g. 5. Classic numbers_75 is always 5x5; numbers_90 tickets are always 3x9."
},
"list_code": {
"type": "string",
"maxLength": 16,
"description": "For word games: list_code from caller_args of generate_bingo_cards, e.g. 0k3x9qa. Confirms the items were sent in the same order as when the cards were made, so card numbers match."
},
"card_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many different cards (or tickets) to make, 1-200, e.g. 30. Default 30."
},
"free_space": {
"type": "boolean",
"description": "Free centre square on 3x3 and 5x5 cards, e.g. true. Default true for 5x5 and false for 3x3; 4x4 cards have no centre."
},
"card_number": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "For action check: the card number printed on the claimed card, e.g. 17."
},
"unique_lines": {
"type": "boolean",
"description": "true = no two cards share an identical winning line (row, column or diagonal), so two players never complete the very same line. Needs enough items; the tool explains if the request is not possible. Default false (cards are always all different)."
}
}
}