
Connects Claude or ChatGPT to Untap's UK consumer refund engine via OAuth 2.1. Exposes six tools: add train journeys for Delay Repay checks against National Rail HSP, add flights for UK261/EU261 compensation lookups via AeroDataBox, add TfL contactless batches to detect overcharges and missed Hopper fares, add parking fines for appeal-ground analysis, list all claimable refunds, and delete user data. Each verdict includes a deeplink to the operator's claim form. Reach for this if you're in the UK and want your assistant to spot money you're owed from delayed trains, disrupted flights, botched Oyster taps, or dodgy parking tickets without surrendering bank credentials.
Public tool metadata for what this MCP can expose to an agent.
add_train_journeyAdd a UK train booking to the user’s Untap account. One booking = one tool call. Pass every leg in the legs[] array (single = 1 leg, return = 2 legs in journey order). Untap auto-checks the National Rail Historical Service Performance records for each leg and returns the aggre...4 paramsAdd a UK train booking to the user’s Untap account. One booking = one tool call. Pass every leg in the legs[] array (single = 1 leg, return = 2 legs in journey order). Untap auto-checks the National Rail Historical Service Performance records for each leg and returns the aggre...
booking_referencestringlegsarrayticket_price_penceintegerticket_typestringsingle · return · open_return · advance · anytime · off_peakadd_flightAdd a flight to the user’s Untap account. Untap auto-checks the AeroDataBox flight-status records (for past flights) and returns the UK261/EU261 verdict + refund amount + claim link. Call this whenever a user shares a flight booking or confirmation. You do NOT need to ask the...12 paramsAdd a flight to the user’s Untap account. Untap auto-checks the AeroDataBox flight-status records (for past flights) and returns the UK261/EU261 verdict + refund amount + claim link. Call this whenever a user shares a flight booking or confirmation. You do NOT need to ask the...
actual_arrivalstringairline_iatastringarrival_iatastringbooking_referencestringdelay_minutesvaluedeparture_iatastringflight_numberstringpassenger_namestringscheduled_arrivalstringscheduled_departurestringstatusvalueticket_price_penceintegeradd_tfl_journeysAdd a batch of TfL contactless journeys to Untap. The user typically pastes their TfL statement; extract every journey row into the journeys array. Untap immediately runs overcharge / incomplete-journey / missed-Hopper detection on the full set and returns a claim-ready summar...4 paramsAdd a batch of TfL contactless journeys to Untap. The user typically pastes their TfL statement; extract every journey row into the journeys array. Untap immediately runs overcharge / incomplete-journey / missed-Hopper detection on the full set and returns a claim-ready summar...
card_last4stringjourneysarrayperiod_endstringperiod_startstringadd_parking_fineAdd a UK parking charge notice to Untap. Untap then runs the appeal-grounds engine and returns the strongest plausible grounds plus claim steps. Read every field from the notice itself (front and back). Pay particular attention to: issuer_type (council vs private parking opera...17 paramsAdd a UK parking charge notice to Untap. Untap then runs the appeal-grounds engine and returns the strongest plausible grounds plus claim steps. Read every field from the notice itself (front and back). Pay particular attention to: issuer_type (council vs private parking opera...
amount_penceintegerappeal_urlvaluecontravention_codestringcontravention_datestringcontravention_descriptionstringdiscount_deadlinestringdiscounted_amount_pencevaluefull_deadlinestringhas_windscreen_noticebooleanissued_datestringissuer_namestringissuer_typestringcouncil · privatekeeper_notice_served_datestringlocationstringobserved_notesarraypcn_referencestringvehicle_registrationstringlist_savingsRead claimable/pending/historic savings rows for the signed-in user. Filter by category and status. Use this when the user asks "what am I owed", "show my refunds", or wants to track a previously added entry.3 paramsRead claimable/pending/historic savings rows for the signed-in user. Filter by category and status. Use this when the user asks "what am I owed", "show my refunds", or wants to track a previously added entry.
categoryvaluelimitintegerstatusvaluedelete_my_dataTwo-step destructive action. First call (confirm=false): returns a summary of what will be deleted plus a confirmation_token (valid 5 minutes). Second call: pass confirm=true and the same confirmation_token to actually delete every booking, statement, and claim. The user’s acc...2 paramsTwo-step destructive action. First call (confirm=false): returns a summary of what will be deleted plus a confirmation_token (valid 5 minutes). Second call: pass confirm=true and the same confirmation_token to actually delete every booking, statement, and claim. The user’s acc...
confirmbooleanconfirmation_tokenstringCheck whether you are owed money for a delayed train, a disrupted flight, a TfL overcharge or a UK parking ticket, and get the operator's own claim link.
Untap checks UK refunds and compensation from delayed trains, disrupted flights, TfL journey charges and parking notices. Public checks return the applicable rules, amount, deadline and claim guidance. Sign in to save claims, track progress and check saved train commutes for dates you request. You submit claims directly to the operator or airline. Untap never files a claim for you.
Every package here is a thin wrapper around the same hosted MCP server, plus Untap's skills:
https://untap.money/api/mcp
Tools live on the server, so they update in every assistant without a new package. Version 1.3.2.
Claude Code
/plugin marketplace add aneduaim/untap-mcp
/plugin install untap@untap
Claude (web, desktop and Cowork): go to Customize, Plugins, Add, Add marketplace and paste https://github.com/aneduaim/untap-mcp. Install Untap, then connect it from the plugin's Connectors tab. You can also add https://untap.money/api/mcp as a custom connector.
ChatGPT and Codex: plugins/agent-plugins is an Agent Plugins 1.0.0 package, and .agents/plugins/marketplace.json lists it as a repo marketplace. In ChatGPT developer mode you can also add https://untap.money/api/mcp as a connector.
Cursor and Grok Bot: plugins/cursor is the Cursor plugin package, listed in .cursor-plugin/marketplace.json. You can also add https://untap.money/api/mcp in Cursor's MCP settings.
Gemini CLI: this repository is a Gemini CLI extension (gemini-extension.json and GEMINI.md at the root).
gemini extensions install https://github.com/aneduaim/untap-mcp
Account tools sign in with /mcp auth untap.
Any other MCP client: connect to https://untap.money/api/mcp over Streamable HTTP. Account tools sign you in through OAuth 2.1 with dynamic client registration; there are no API keys.
Setup guides for each assistant: untap.money/connect.
| Path | Format | Read by |
|---|---|---|
plugins/claude/ | Claude plugin (.claude-plugin/plugin.json, .mcp.json) | claude.ai, Claude Desktop, Cowork, Claude Code |
plugins/cursor/ | Cursor plugin (.cursor-plugin/plugin.json, mcp.json) | Cursor, Grok Bot |
plugins/agent-plugins/ | Agent Plugins 1.0.0 (plugin.json, mcp.json) | ChatGPT, Codex and other Agent Plugins hosts |
.claude-plugin/marketplace.json | Claude Code marketplace | Claude Code, claude.ai |
.cursor-plugin/marketplace.json | Cursor marketplace | Cursor |
.agents/plugins/marketplace.json | Agent Plugins repo marketplace | Codex, ChatGPT desktop |
gemini-extension.json, GEMINI.md | Gemini CLI extension manifest and context file | Gemini CLI, geminicli.com/extensions |
server.json | Official MCP Registry entry | registry.modelcontextprotocol.io |
smithery.yaml | Smithery listing | smithery.ai |
data/ | UK claims rules dataset (JSON, CSV and change log), CC BY 4.0, a copy of https://untap.money/open-data/rules | anyone |
These files are generated from one source in Untap's main repository. Please open an issue rather than a pull request against a package.
| Tool | What it does | Sign-in |
|---|---|---|
find_money_owed | Find money you may be owed | No |
check_train_delay | Check a delayed train for Delay Repay | No |
check_flight_compensation | Check a flight for UK261 or EU261 compensation | No |
check_tfl_journeys | Check TfL journeys for overcharges | No |
get_delay_repay_rules | Delay Repay rules for a train operator | No |
get_claim_instructions | How to submit a train, flight or TfL claim | No |
scan_for_claims | Scan emails for train, flight and TfL claims | No |
save_commute | Save a usual train journey | Yes |
list_commutes | List saved commutes | Yes |
check_commute | Check a saved commute for a travel date | Yes |
stop_commute | Stop a saved commute | Yes |
save_claim | Save a checked claim to your Untap account | Yes |
list_my_claims | List my claims | Yes |
update_claim_status | Update a claim’s status | Yes |
add_train_journey | Add a train booking | Yes |
add_flight | Add a flight | Yes |
add_tfl_journeys | Add TfL journeys from a contactless statement | Yes |
add_parking_fine | Add a parking ticket (PCN) | Yes |
list_savings | List the person’s refund opportunities | Yes |
delete_my_data | Delete all my Untap data | Yes |
This table was generated from the server's source for version 1.3.2. The live list is always the server's own tools/list at https://untap.money/api/mcp. 7 of 20 tools work without signing in.
The same skills can be downloaded on their own at untap.money/skills.
When your assistant calls an Untap tool, Untap receives the inputs the assistant sends to that tool. It does not receive your conversation or other chats.
Full details: privacy policy.
The MIT licence covers the files in this repository: the manifests, the MCP configuration and the skills, which you are welcome to copy and share. It does not cover the Untap service at untap.money, which is used under its terms.