Untap

io.github.aneduaimPublished by GitHub account aneduaimv1.3.3Updated Oct 25, 2026

Check UK Delay Repay, UK261 flights and TfL refunds. Save claims and check commutes on request.

VerifiedStreamable HTTPWeb executableLocation & LifestyleProductivity & WorkflowFinance

Overview

AI-generated overview

Untap checks UK train, flight, TfL and parking refunds and compensation, returning amounts, deadlines and the operator's own claim link.

What you can do
Find refund and compensation schemes that may apply from a plain-language description of what happened, and get an operator's Delay Repay rules and claim instructions for trains, flights and TfL journeys. Check a delayed or cancelled train, a disrupted flight under UK261 or EU261, and TfL contactless or Oyster journeys for overcharges. Scan up to 25 emails for booking confirmations, delay notices and claim acknowledgements that point to a claim. With sign-in, save claims, add train bookings, flights, TfL journeys and parking fines, and list or update claim status and savings. Manage saved commutes: save, list, check against running records for a date, or stop them. Delete all account data in
When to use it
Useful when someone in the UK suspects they are owed money for a late train, a disrupted flight, a TfL overcharge or a parking ticket and wants the amount, deadline and the right claim form without working it out by hand. Also suited to checking a regular commute against past travel dates.
Requirements
Remote Streamable HTTP endpoint; no local package or API keys. The seven check tools work without signing in; account tools need OAuth 2.1 sign-in to an Untap account. Network access to Untap and to National Rail, flight-status and TfL data sources.
Before you install
Account tools store bookings, journeys, commutes and claims in the Untap account until deleted; the delete tool is two-step and needs a confirmation token. Journey details (stations, airports, flight number, date) are sent to National Rail or a flight-data provider for verification. Email scanning reads message content. Untap does not file claims itself; submissions go to the operator or airline.

Installation

In SourceWeft

  1. Open Untap in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.aneduaim%2Funtap-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "untap": {
      "type": "http",
      "url": "https://untap.money/api/mcp"
    }
  }
}

README

Untap for AI assistants

Check 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.3.

Install

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.

What is in this repository

PathFormatRead 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.jsonClaude Code marketplaceClaude Code, claude.ai
.cursor-plugin/marketplace.jsonCursor marketplaceCursor
.agents/plugins/marketplace.jsonAgent Plugins repo marketplaceCodex, ChatGPT desktop
gemini-extension.json, GEMINI.mdGemini CLI extension manifest and context fileGemini CLI, geminicli.com/extensions
server.jsonOfficial MCP Registry entryregistry.modelcontextprotocol.io
smithery.yamlSmithery listingsmithery.ai
data/UK claims rules dataset (JSON, CSV and change log), CC BY 4.0, a copy of https://untap.money/open-data/rulesanyone

These files are generated from one source in Untap's main repository. Please open an issue rather than a pull request against a package.

Tools

ToolWhat it doesSign-in
find_money_owedFind money you may be owedNo
check_train_delayCheck a delayed train for Delay RepayNo
check_flight_compensationCheck a flight for UK261 or EU261 compensationNo
check_tfl_journeysCheck TfL journeys for overchargesNo
get_delay_repay_rulesDelay Repay rules for a train operatorNo
get_claim_instructionsHow to submit a train, flight or TfL claimNo
scan_for_claimsScan emails for train, flight and TfL claimsNo
save_commuteSave a usual train journeyYes
list_commutesList saved commutesYes
check_commuteCheck a saved commute for a travel dateYes
stop_commuteStop a saved commuteYes
save_claimSave a checked claim to your Untap accountYes
list_my_claimsList my claimsYes
update_claim_statusUpdate a claim’s statusYes
add_train_journeyAdd a train bookingYes
add_flightAdd a flightYes
add_tfl_journeysAdd TfL journeys from a contactless statementYes
add_parking_fineAdd a parking ticket (PCN)Yes
list_savingsList the person’s refund opportunitiesYes
delete_my_dataDelete all my Untap dataYes

This table was generated from the server's source for version 1.3.3. 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.

Skills

  • uk-travel-claims: Checks UK travel compensation and refunds with Untap: Delay Repay for late or cancelled trains, UK261 or EU261 flight delays, cancellations, denied boarding, TfL incomplete journeys, maximum fares.
  • find-travel-refunds-in-inbox: Searches an inbox for UK train, flight and TfL refunds the person may be owed, then checks them with Untap. Use for find refunds, money I'm owed, check my emails for compensation, travel refunds.

The same skills can be downloaded on their own at untap.money/skills.

Privacy

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.

  • Check tools work without signing in. They do not save your booking or result to an account. To verify a journey, Untap sends the stations, airports, flight number and date to National Rail or its flight-data provider. Technical usage records (tool name, outcome, duration) are kept; anonymous records contain no tool inputs.
  • If you sign in and ask your assistant to save a claim, journey or commute, Untap stores those details in your account until you delete them. A saved commute is checked only when you ask.
  • Revoke an assistant at untap.money/settings/connections. Delete your data at untap.money/data or with the two-step delete tool.

Full details: privacy policy.

Licence

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.

Source: README.md at commit 42bedcd

Tools

20

find_money_owed

Find money you may be owed

Takes a plain-language description of what happened (a late or cancelled train, a delayed or cancelled flight, a TfL overcharge, a parking ticket, a council tax, water or broadband problem) and returns the UK refund and compensation schemes Untap covers that may apply. For each one it gives the fact that decides it, the Untap check that covers it and Untap’s free guide. It also picks out any flight number, date, time or amount in the text. Matching is by keywords, not a full reading of the situation, so the list is a starting point rather than a verdict. No sign-in needed. Nothing is saved to an account. A record of the check, with no name, account or IP address, is kept for a year so answers can be verified.

Parameterssituationrequired

check_train_delay

Check a delayed train for Delay Repay

Checks a late or cancelled train in Great Britain against National Rail’s historic running records and works out Delay Repay. Takes the two stations (names, partial names or three-letter codes), the date and roughly when the train left; the operator, ticket type and price paid are optional. Returns the matched train with scheduled and actual times, the delay at the destination, the operator and its scheme, the amount (or the percentage when no price is given), the claim deadline, a claim pack with the value for each form field, and the details needed to save the claim to an Untap account. When several trains fit, the result lists them, each with a service_id. The records cover roughly the last year and each day appears the day after. They hold direct trains only, so a journey with a change is checked one train at a time. When nothing could be learned, status is data_not_available with delay_known false, a reason, retryable and retry_after_seconds or try_again_on. When National Rail is slow the lookup carries on in the background, and a retry after retry_after_seconds is answered from the cache. No sign-in needed. Nothing is saved to an account. A record of the check, with no name, account or IP address, is kept for a year so answers can be verified.

Parameterstorequireddaterequiredfromrequiredticketsoperatorprice_paidservice_idticket_typedeparture_time

check_flight_compensation

Check a flight for UK261 or EU261 compensation

Works out compensation for a delayed or cancelled flight under UK261 or EU261. Takes the flight number and date. What happened comes from flight-status records, which cover about the last year, or from what_happened and arrival_delay_minutes when given. Returns the matched route, the arrival delay, the distance band, the amount per passenger, the extraordinary-circumstances caveat, the airline’s claim page, the dispute body for a refused claim, deadline guidance, a claim pack and the details needed to save the claim to an Untap account. When the airports given differ from the flight-status record, the result says so. No sign-in needed. Nothing is saved to an account. A record of the check, with no name, account or IP address, is kept for a year so answers can be verified.

Parametersdaterequiredprice_paidto_airportfrom_airportflight_numberrequiredwhat_happenedarrival_delay_minutescancellation_notice_days

check_tfl_journeys

Check TfL journeys for overcharges

Checks Transport for London contactless or Oyster journeys for overcharges: incomplete journeys (no touch out, so the maximum fare was charged) and missed Hopper fares. Takes journey rows from a journey history, or the text of the CSV download from a TfL account. PDFs and images are not accepted. TfL refunds an incomplete journey as the maximum fare minus the fare for the journey actually made. Without the destination, the refund shown is an upper limit equal to the whole charge; with intended_destination on the row, it is an estimate from the usual fare to that station. Returns the refundable journeys and total, older journeys outside TfL’s 8 week window, how to claim in the TfL account, a claim pack and the details needed to save the journeys to an Untap account. It does not check service delays on the Tube, DLR, Elizabeth line or Overground, or Santander Cycles; the result lists these under not_checked. No sign-in needed. Nothing is saved to an account. A record of the check, with no name, account or IP address, is kept for a year so answers can be verified.

Parameterscsv_textjourneys

get_delay_repay_rules

Delay Repay rules for a train operator

Returns one train operator’s Delay Repay rules: the delay at which it starts paying, each payout tier, the claim deadline, the link to its claim form, any automatic or one-click scheme, and the date the rules were last checked against the operator’s own page. Accepts the operator’s name as people say it, such as Avanti, GWR or Southern. No sign-in needed.

Parametersoperatorrequired

get_claim_instructions

How to submit a train, flight or TfL claim

Returns how to submit one train, flight or TfL compensation claim on the company’s own form. Takes the claim type and the train operator or airline, with the journey date, ticket type, where it was booked and the airports as optional extras. Returns the eligibility rules for that company and claim type, the official claim page (marked unverified where Untap could not confirm it), numbered submission steps, each form field with where to find its value, the evidence to attach, the deadline (as a date when the journey date is given), any company rule on who may submit, what to expect after submitting and when to chase, the escalation route (operator to the Rail Ombudsman; airline to its dispute scheme, the CAA or a national enforcement body; TfL to London TravelWatch) and the sources with the dates they were checked. Covers every train operator in Untap’s Delay Repay engine, TfL and the airlines UK travellers fly most. Facts Untap has not verified come back marked as unknown rather than estimated. No sign-in needed. Nothing is saved to an account. A record of the check, with no name, account or IP address, is kept for a year so answers can be verified.

Parameterscompanybooked_viaclaim_typerequiredticket_typejourney_datearrival_airportdeparture_airport

scan_for_claims

Scan emails for train, flight and TfL claims

Reads up to 25 emails (sender, subject, date and plain-text body) and picks out the ones that point to a train, flight or TfL claim: booking confirmations, delay and cancellation notices, airline schedule changes and denied boarding, TfL incomplete journey and maximum fare emails, and claim acknowledgements and decisions. Detection is by sender domain, subject pattern and fixed phrases, with no language model. For each match it returns the type, the signals that matched, the booking reference, dates, flight number, stations or airports, times and amounts it could read, a confidence level, a deadline hint, and the Untap check that fits with its arguments filled in and any missing ones listed. Emails with no signal are listed by position. Each body is read up to 20,000 characters. Nothing from the emails is stored; the usage record holds counts only. No sign-in needed.

Parametersemailsrequired

save_claim

Save a checked claim to your Untap account

Saves the result of a train, flight or TfL check to the person’s Untap account, so it appears on their dashboard with its deadline. Accepts the save_claim arguments returned by a check, with the price paid added where the check listed it as missing. The verdict is worked out again from those facts rather than copied. A train journey that is already saved is returned as it is, not saved twice. Requires sign-in to Untap.

Parameterstfltrainflightcategoryrequired

save_commute

Save a usual train journey

Saves or updates one direction of a usual train journey (a commute) in the person’s Untap account: stations, usual departure time, travel days and day-ticket fare. An outward and a homeward journey are two separate routes. Saving the same route and time again updates it. Nothing is checked automatically; a saved route is checked only on request. Day tickets only; season tickets are not supported. Requires sign-in to Untap.

Parameterstorequiredfromrequiredlabelweekdayscommute_idticket_typedeparture_timerequiredticket_price_pence

list_commutes

List saved commutes

Lists the person’s saved train routes with their ids, usual times, days and fares. Makes no National Rail lookups. Requires sign-in to Untap.

Parametersinclude_stopped

stop_commute

Stop a saved commute

Hides a saved train route from the active list. The route is kept and can be restored by saving it again with its commute_id. No claims or bookings change. Requires sign-in to Untap.

Parameterscommute_idrequired

check_commute

Check a saved commute for a travel date

Checks a saved train route against National Rail’s running records for one travel date and works out Delay Repay: the matched train, the delay, the amount, the deadline and a claim pack. When several trains match, the result lists them, each with a service_id. A saved route does not show that the person travelled that day, and the result says so. Nothing is saved or filed. Requires sign-in to Untap.

Parametersdaterequiredcommute_idrequiredservice_id

list_my_claims

List my claims

Lists the claims in the person’s Untap account with amounts, deadlines, the verdict and their progress (not sent, sent, paid, rejected or archived). By default it shows claims that are still open; include_closed adds paid, rejected and archived ones. Requires sign-in to Untap.

Parameterslimitcategoryinclude_closed

update_claim_status

Update a claim’s status

Records progress on a claim in the person’s Untap account: sent (submitted to the operator or airline), paid (with the amount received, if known), rejected, or archived. Takes the claim_id given when the claim was saved or listed. This updates Untap’s record only; it does not contact the operator or airline. Requires sign-in to Untap.

Parametersnotestatusrequiredclaim_idrequiredamount_received_pence

add_train_journey

Add a train booking

Adds a UK train booking to the person’s Untap account and works out Delay Repay for it. One booking per call, with each journey in legs (one for a single, two for a return, in travel order). Untap checks National Rail’s Historical Service Performance records for each journey; the delay, actual arrival and cancellation fields are optional, and when left out Untap looks them up. Operators accept one journey per claim form, so a return with both directions late means two claims. A train journey that is already saved is returned as it is, not saved twice. Requires sign-in to Untap.

Parameterslegsrequiredseason_typeticket_typerequiredbooking_referencerequiredticket_price_pencerequired

add_flight

Add a flight

Adds a flight to the person’s Untap account and returns the UK261 or EU261 verdict, the amount and the airline’s claim link. For past flights Untap checks AeroDataBox flight-status records; the status, delay and actual arrival fields are optional, and when left out Untap looks them up. Takes the airline’s two-letter IATA code (BA, U2, FR) and three-letter airport codes (LHR, BCN). When the airports given differ from the flight-status record, the result says so. Compensation applies to arrival delays of 3 hours or more and to cancellations. Requires sign-in to Untap.

Parametersstatusairline_iatarequiredarrival_iatarequireddelay_minutesflight_numberrequiredactual_arrivaldeparture_iatarequiredpassenger_namerequiredbooking_referencerequiredscheduled_arrivalrequiredticket_price_pencerequiredscheduled_departurerequired

add_tfl_journeys

Add TfL journeys from a contactless statement

Adds TfL contactless journeys to the person’s Untap account, up to 500 rows per call, and checks everything they have saved for incomplete journeys, missed Hopper fares and other overcharges. Each row carries flags for an incomplete journey, a revenue-inspection maximum fare, a free Hopper fare, a TfL correction and the daily or weekly cap, as shown on the statement. Journeys already saved are skipped. Refunds follow the same rule as the TfL check: an incomplete journey without a destination is an upper limit equal to the whole charge, and one with intended_destination is an estimate. Requires sign-in to Untap.

Parametersjourneysrequiredcard_last4requiredperiod_endrequiredperiod_startrequired

add_parking_fine

Add a parking ticket (PCN)

Adds a UK parking ticket (a council PCN or a private parking charge) to the person’s Untap account and runs Untap’s appeal-grounds engine. Returns the grounds that may apply, how confident the match is, the appeal route and deadline. Grounds are matched against the contravention, the location and observed_notes; with no observed_notes, only general grounds come back and the result is a possible appeal, not money owed. Requires sign-in to Untap.

Parameterslocationrequiredappeal_urlrequiredissued_daterequiredissuer_namerequiredissuer_typerequiredamount_pencerequiredfull_deadlinerequiredpcn_referencerequiredobserved_notesrequireddiscount_deadlinerequiredcontravention_coderequiredcontravention_daterequired+5 more

list_savings

List the person’s refund opportunities

Lists the savings rows in the person’s Untap account, filtered by category and status. Each row has the verdict status (claimable, pending_check, not_eligible and so on) and user_progress, what the person has recorded since: none, submitted (sent), received (paid) or archived. Requires sign-in to Untap.

Parameterslimitstatusrequiredcategoryrequired

delete_my_data

Delete all my Untap data

Deletes every booking, statement, saved commute and claim in the person’s Untap account, in two steps. A call with confirm=false deletes nothing and returns a summary of what would be deleted, with a confirmation_token valid for 5 minutes. A call with confirm=true and that token deletes the data permanently; each token works once. The account itself is kept so Untap can still be used; deleting the account too is done at untap.money/data. Requires sign-in to Untap.

Parametersconfirmconfirmation_token

Version history

4
  1. v1.3.3LatestOct 12, 2026
  2. v1.3.0Oct 5, 2026
  3. v1.2.1Sep 30, 2026
  4. v1.0.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts