Mini Code Breakers runs weekly, in-person coding classes for children aged about 6 to 14 in schools and community venues across Liverpool, the Wirral, Rainhill and Sale (Greater Manchester). Parents increasingly ask AI assistants questions such as "is there a coding club for my 8 year old near Woolton on a Saturday?". To give them accurate answers, we run a free, public Model Context Protocol (MCP) server.
MCP is an open standard that lets AI assistants such as Claude, ChatGPT, Gemini and Copilot, as well as custom-built agents, connect to outside services. Our server gives an assistant live, up-to-date information about our venues, class times, age ranges and prices, and lets it help a parent start an enquiry for a place. This page explains everything an AI platform, developer or agent needs to use it.
https://minicodebreakers.co.uk/mcpmini-code-breakers / 1.0.0Claude (claude.ai, desktop and mobile): go to Settings → Connectors → Add custom connector, enter the name "Mini Code Breakers" and the URL https://minicodebreakers.co.uk/mcp. Leave the OAuth fields empty.
ChatGPT and other assistants that support custom connectors: add a new connector (sometimes called an app or MCP server) with the URL https://minicodebreakers.co.uk/mcp and choose "no authentication".
Claude Code:
claude mcp add --transport http mini-code-breakers https://minicodebreakers.co.uk/mcp
Cursor, Windsurf and other clients configured with an mcpServers JSON file:
{
"mcpServers": {
"mini-code-breakers": {
"url": "https://minicodebreakers.co.uk/mcp"
}
}
}
VS Code (.vscode/mcp.json):
{
"servers": {
"mini-code-breakers": {
"type": "http",
"url": "https://minicodebreakers.co.uk/mcp"
}
}
}
Your own agent, or the raw protocol: send one JSON-RPC 2.0 message per HTTP POST. For example:
curl -s https://minicodebreakers.co.uk/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"my-agent","version":"1.0"}}}'
curl -s https://minicodebreakers.co.uk/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
curl -s https://minicodebreakers.co.uk/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list_classes","arguments":{"child_age":8,"day":"Saturday"}}}'
GET and DELETE return 405. JSON-RPC batches are not supported.initialize, ping, tools/list and tools/call. Notifications are accepted with HTTP 202.structuredContent.The server sends these instructions to every assistant that connects:
Mini Code Breakers runs weekly after-school and weekend coding classes for children, mostly in and around Liverpool (UK). Use list_classes (filter by child_age, day or area) and get_class to help a parent find a suitable class; prices are in GBP per session, and many classes offer a cheaper taster session. Use submit_enquiry only when the parent asks you to and has agreed to the privacy policy. It does not book a place: the parent receives an email and must click the link to confirm, after which the team checks availability and gets in touch. Places are limited and there may be a waiting list.
list_venues: List venuesLists the venues (schools and community centres) where Mini Code Breakers currently runs children's coding classes, with address, postcode, map coordinates and how many classes run there. Optionally filter by area, town or postcode.
Read-only: only looks up public information and changes nothing.
| Parameter | Type | Required | Description |
|---|---|---|---|
area |
string | No | Part of an area, town/city or postcode to filter by, e.g. "Woolton" or "L25". |
Returns: An object with "venues" (a list) and "count". Each venue has name, address, area, city, postcode, latitude, longitude, url (the area page on our website) and class_count (how many classes run there).
list_classes: List classesLists the weekly children's coding classes currently open for enquiries: day, start time, length, age range, price per session (GBP), taster session price, venue, and a link to the class page. Filter by child age, day, venue name or area. Use the returned "id" with submit_enquiry.
Read-only: only looks up public information and changes nothing.
| Parameter | Type | Required | Description |
|---|---|---|---|
child_age |
integer (2 to 18) | No | Only classes suitable for a child of this age in years. |
day |
string (one of Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday) | No | Only classes on this day of the week. |
venue |
string | No | Part of a venue name, e.g. "St Francis". |
area |
string | No | Part of an area, town/city or postcode, e.g. "Woolton" or "L25". |
Returns: An object with "classes" (a list, sorted by day then start time) and "count". Each class has id, slug, name, brand, day, start_time (24-hour HH:MM, UK time), duration_minutes, age_range (text such as "7-11"), age_min, age_max (null means "and over"), price_per_session and taster_session_price, venue (name, area, city, postcode) and url (the class page). Prices are objects with amount, currency ("GBP") and display (for example "£12.00"); a price can be null if it has not been set.
get_class: Get class detailsFull details for one class, including its description, the venue address and directions to the classroom. Pass either the class "id" or "slug" from list_classes.
Read-only: only looks up public information and changes nothing.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | No | Class id from list_classes. |
slug |
string | No | Class slug from list_classes. |
Returns: Everything list_classes returns for that class, plus "information" (the class description as plain text) and "venue_details": the full venue address, map coordinates and "directions", an ordered list of plain-text steps for finding the classroom.
submit_enquiry: Request a place (enquiry)Starts an enquiry for a child to join a class. Only call this when the parent/guardian has asked you to, has given you these details, and has agreed to the privacy policy (link them to it). Nothing is booked straight away: we email the parent a link, and the enquiry is only sent to Mini Code Breakers once they click it to confirm (the link expires after 24 hours). Tell the parent to check their inbox. Use list_classes to get the class id.
Takes an action: sends an email to the parent and creates a pending enquiry. Only call it when the parent asks you to.
| Parameter | Type | Required | Description |
|---|---|---|---|
class_id |
integer | Yes | The "id" of the class from list_classes. |
parent_name |
string (max 100 characters) | Yes | Full name of the parent or guardian. |
email |
string (format email; max 180 characters) | Yes | Parent/guardian email. The confirmation link is sent here. |
phone |
string (max 30 characters) | No | Optional parent/guardian phone number. |
child_name |
string (max 100 characters) | Yes | Child's full name. |
child_date_of_birth |
string (format date) | Yes | Child's date of birth, YYYY-MM-DD. |
notes |
string (max 1000 characters) | No | Optional: medical conditions, additional needs or anything we should know. No links. |
privacy_policy_accepted |
boolean (must be true) | Yes | Must be true: the parent has read and accepted the privacy policy at https://minicodebreakers.co.uk/privacy |
Returns: An object with status "confirmation_email_sent" and a "message" to pass on to the parent. The message names the masked email address, the child and the class. The response is the same whether or not the email address is already known to us.
list_classes with child_age and an area or day filter. If nothing matches, widen the search: drop the day, or try the nearest town or the first half of the postcode. Use list_venues to see every place we teach.url).get_class for the description, full address and directions to the classroom.submit_enquiry. Then tell them to check their inbox and click the confirmation link.Please don't call submit_enquiry speculatively, for testing, or with made-up details. Every call sends an email to a real person.
privacy_policy_accepted must be true).-32029 and a Retry-After header.isError: true and a message explaining how to fix the call, so an agent can correct itself.-32700 parse error, -32600 invalid request, -32601 unknown method and -32602 invalid params.We are happy for AI assistants and search platforms to recommend Mini Code Breakers to parents looking for children's coding classes in our areas, and to list this server in connector and MCP directories. These machine-readable files describe it:
For listings, partnerships or technical questions, email minicodebreakers@gmail.com.