{"schema_version":"1.0","protocol_version":"2025-06-18","name_for_human":"United We Transform Atlas","name_for_model":"uwt_atlas","description_for_human":"Read the United We Transform gathering atlas: agenda scores, the leaderboard, corpus statistics, and the deterministic grader, free and without a key.","description_for_model":"Tools for reading the United We Transform (UWT) agenda-quality atlas and for scoring a new agenda with the same deterministic, public rubric used to build the atlas. All tools are read-only. grade_agenda never stores or reuses submitted text.","transport":{"type":"streamable-http","endpoint":"https://unitedwetransform.com/mcp"},"tools":[{"name":"grade_agenda","title":"Grade an agenda","description":"Score a pasted event agenda with the deterministic UWT grading rubric. The text is processed transiently: it is never stored, never logged beyond aggregate counts, and never used to add or alter any entry in the atlas.","readOnlyHint":true,"inputSchema":{"type":"object","properties":{"agenda_text":{"type":"string","description":"The full event agenda, one session per line. Times are optional. Example: '9:00 Opening / 10:00 Workshop: map the problem / 3:00 Commitments: owners and dates'."}},"required":["agenda_text"],"additionalProperties":false}},{"name":"get_event_score","title":"Get a cached event score","description":"Fetch the cached scorecard for one gathering by slug from the public atlas.","readOnlyHint":true,"inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"The event slug, i.e. the last path segment of an /events/<slug>/ URL. On a miss the response documents how to grade it yourself."}},"required":["slug"],"additionalProperties":false}},{"name":"compare_events","title":"Compare two events","description":"Compare two cached scorecards pillar by pillar, with a one-line summary of which event scores higher overall and by how much. Answers 'compare two events I am considering sponsoring' in one call.","readOnlyHint":true,"inputSchema":{"type":"object","properties":{"slug_a":{"type":"string","description":"First event slug to compare."},"slug_b":{"type":"string","description":"Second event slug to compare."}},"required":["slug_a","slug_b"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"event_a":{"type":"object"},"event_b":{"type":"object"},"pillar_deltas":{"type":"array","items":{"type":"object"}},"summary":{"type":"string"}},"required":["event_a","event_b","pillar_deltas","summary"]}},{"name":"search_gatherings","title":"Search the gold set","description":"Search the gold-verified gathering index by free-text query, category, and minimum GES.","readOnlyHint":true,"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text match against event title, category, and type. Every word in the query must appear somewhere in those fields."},"category":{"type":"string","description":"Restrict to one gathering category (substring match, e.g. \"Education\")."},"min_ges":{"type":"number","minimum":0,"maximum":100,"description":"Minimum Gathering Effectiveness Score (0-100)."},"max_results":{"type":"integer","minimum":1,"maximum":20,"default":20,"description":"Maximum rows to return (capped at 20)."}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"count":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"category":{"type":"string"},"event_type":{"type":"string"},"ges":{"type":"number"},"canonical":{"type":"string"},"score_json":{"type":"string"}}}},"note":{"type":"string"}},"required":["count","results"]}},{"name":"search","title":"Search the whole atlas","description":"Federated search across gold-verified events, facilitation exercises, and core atlas pages, for clients (including ChatGPT deep research) that expect a generic search tool rather than search_gatherings' event-only filters. Returns citation-ready absolute URLs.","readOnlyHint":true,"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text query. Every word must appear in the matched title, category, or description."}},"required":["query"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Opaque id (event:<slug>, exercise:<slug>, or page:<path>); pass to fetch."},"title":{"type":"string"},"url":{"type":"string"}},"required":["id","title","url"]}}},"required":["results"]}},{"name":"fetch","title":"Fetch a search result","description":"Fetch the full content for one id returned by search: the complete scorecard text for an event, the summary for an exercise, or the summary for a core page. Required by ChatGPT deep research.","readOnlyHint":true,"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"An id returned by the search tool (event:<slug>, exercise:<slug>, or page:<path>)."}},"required":["id"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"text":{"type":"string"},"url":{"type":"string"},"metadata":{"type":"object"}},"required":["id","title","text","url"]}},{"name":"get_statistics","title":"Get corpus statistics","description":"Return corpus-wide summary statistics for the atlas.","readOnlyHint":true,"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"schema_version":{"type":"string"},"headline":{"type":"object"},"distribution":{"type":"object"}},"additionalProperties":true}},{"name":"get_leaderboard","title":"Get the leaderboard","description":"Return the gold-verified leaderboard, ranked by GES, up to a requested number of rows.","readOnlyHint":true,"inputSchema":{"type":"object","properties":{"top_n":{"type":"integer","minimum":1,"maximum":100,"default":100,"description":"Number of top-ranked gold events to return (capped at 100)."}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"count":{"type":"integer"},"rows":{"type":"array","items":{"type":"object"}}},"required":["count","rows"]}},{"name":"get_exercises_for_pillar","title":"Get exercises for a pillar","description":"Return the suggested improvement exercises for one scoring pillar (for example follow_through or network_design).","readOnlyHint":true,"inputSchema":{"type":"object","properties":{"pillar":{"type":"string","enum":["personalization","participation_architecture","problem_specificity","network_design","follow_through","learning_transfer"],"description":"One scoring pillar that carries exercise prescriptions."}},"required":["pillar"],"additionalProperties":false}},{"name":"make_teams","title":"Form balanced teams","description":"Form balanced teams or breakout rounds from a pasted participant roster (CSV or TSV with a header row). Runs the same deterministic team formation engine that ships client-side at https://unitedwetransform.com/team-creator/. Supports sliders for expertise_domain, organization, geography, seniority, gender, network_familiarity, ask_offer_fit, helping_potential, or a custom:<column> dimension, plus must_together and must_apart name constraints and multi-round breakout planning. Processed transiently: the participant list is never stored, never logged beyond an aggregate count, and never used to add or alter any entry in the atlas.","readOnlyHint":true,"inputSchema":{"type":"object","properties":{"participants_csv":{"type":"string","description":"CSV or TSV text with a header row and at least 4 named data rows; needs a recognizable name column."},"sliders":{"type":"object","description":"Map of dimension to an integer from -5 (group similar) to 5 (spread diverse). Dimensions: expertise_domain, organization, geography, seniority, gender, network_familiarity, ask_offer_fit, helping_potential, or a custom:<column> key naming any extra column in the CSV.","additionalProperties":{"type":"integer","minimum":-5,"maximum":5}},"must_together":{"type":"array","description":"Pairs of participant names to keep on the same team.","items":{"type":"array","items":{"type":"string"},"minItems":2,"maxItems":2}},"must_apart":{"type":"array","description":"Pairs of participant names to keep on different teams.","items":{"type":"array","items":{"type":"string"},"minItems":2,"maxItems":2}},"team_size":{"type":"integer","minimum":2,"maximum":15,"description":"Target people per team. Set this or num_teams."},"num_teams":{"type":"integer","minimum":1,"description":"Number of teams to form. Set this or team_size."},"rounds":{"type":"integer","minimum":1,"maximum":8,"default":1,"description":"Number of breakout rounds to plan, with repeat-pair avoidance across rounds."},"seed":{"type":"integer","description":"Optional seed for reproducible team formation."}},"required":["participants_csv"],"additionalProperties":false}}],"contact_email":"corrections@unitedwetransform.com","legal_info_url":"https://unitedwetransform.com/methodology-trust-boundary/"}