Skip to main content
Glama
761,683 tools. Updated 2026-11-09 20:57

"Transport for London" matching MCP tools:

  • Get live public-transport departures with real-time delays for a stop. Sourced from GTFS-RT/HVV/VGN. Unlike the static stop list (``get_city_resource(slug, resource='transit')``), this returns minute-fresh departures including delay for ONE stop. A ``stop_id`` is required: fetch the city's transit stops first to discover valid stop IDs, then pass one here. Read-only.
    ConnectorNo auth
  • START HERE when asking "which agent should I hire for this capability?" One call to vet a `capability` before you delegate: returns the best-evidenced agent with an evidence verdict — `estimate` (0-1), `confidence`, and a checkable `explanation` — plus a ranked shortlist, machine-checkable PROOF the Guild improves outcomes (provenance-labelled), and how to contribute back. Read estimate AND confidence together and apply your own risk threshold: a high estimate with low confidence means thin evidence. This is a PAID trust read (same price + policy as GET /check on every transport). When the rail is active, an unpaid call returns a complete x402 payment challenge for the canonical HTTP resource; retry with the payment in the request _meta['x402/payment'] (official x402 MCP meta key). Schema-driven agents that cannot set request metadata may pass that same signed PaymentPayload as `x402_payment`. Or pass a funded `api_key` for SANDBOX credits (never revenue). Free while the service is in soft-launch. Example: guild_check(capability="fact-check") Returns {capability, best_agent, verdict, shortlist, proof, why_trust_this, how_to_contribute}. Use guild_search / guild_risk_score for finer control.
    ConnectorNo auth
  • Turn local manufacturing file bytes into the temporary HTTPS reference used by specification.design_files. This is a bounded intake operation, not a request, provider call, quote, order, payment, or fabrication action. Common RFC 4648 transport forms are normalized, then decoded bytes are recognized by signature, checked against the declared format, screened before storage, retained for one hour, and never included in telemetry. Supported roles include geometry (STL/STEP) and drawings (DXF/PDF). The 2 MiB MCP ceiling is transport-specific; use POST /api/upload with purpose=manufacturing_design_file for files up to 8 MiB. Pass the returned file_reference object unchanged in specification.design_files on the next call.
    ConnectorNo auth
  • Enumerate and inspect the validated operations scene_apply accepts — call this BEFORE reaching for scene_script. The DSL is large (mesh editing, booleans, lathe/loft/sweep, curves, UV unwrap, modifiers, materials, lights, cameras, render settings, geometry nodes, batch and query ops), so most modelling does NOT need raw bpy. No args: every namespace with counts. guide=true (or op="guide" for older connector catalogs): full operating guide. namespace="mesh": that namespace's operations. Repeated details are object.radial_array or object.array_along_curve (no "pattern" namespace). Use world.update for the environment; validation is the separate scene_validate tool. search="boolean": ranked matches. op="mesh.bevel": the full JSON Schema with types, ranges and defaults. Schemas are introspected from the validator itself, so they are always exactly what scene_apply will accept. Full schemas are returned once in structuredContent; format="text" returns them in text instead. This tool is READ ONLY and free — it queues no job, spends no compute and changes nothing — so it is always safe to retry, including after a transport-level error.
    ConnectorAPI key
  • Monthly transaction VOLUME for a postcode district, postcode area or county — every registered sale, 1995 to present, oldest month first. Use this, not `market_facts`, for "how many sales" questions. `market_facts` reads the area_facts cube, whose count is a UPRN-matched sample that runs 17-66% short of the registry; this reads HMLR price paid directly. Conversely use `market_facts` for price/rent/yield by asset class and bedroom band, which this does not break down. Provide exactly one of district ("SW11", or a full postcode, which is truncated), area ("SW") or county ("GREATER LONDON"). `district` is a POSTCODE district, not a borough — "NW1", not "Camden". `start` and `end` are months: "2024-06" or "2024-06-01", either accepted. Metrics default to txn_count + median_price. Prices are category A only — a median including repossessions is not a market median. ALWAYS check `provisional_from` in the response before reading a trend: HM Land Registry registers sales months after completion, so the trailing months are incomplete and will rise. UK only. Free.
    ConnectorNo auth
  • Monthly transaction VOLUME for a postcode district, postcode area or county — every registered sale, 1995 to present, oldest month first. Use this, not `market_facts`, for "how many sales" questions. `market_facts` reads the area_facts cube, whose count is a UPRN-matched sample that runs 17-66% short of the registry; this reads HMLR price paid directly. Conversely use `market_facts` for price/rent/yield by asset class and bedroom band, which this does not break down. Provide exactly one of district ("SW11", or a full postcode, which is truncated), area ("SW") or county ("GREATER LONDON"). `district` is a POSTCODE district, not a borough — "NW1", not "Camden". `start` and `end` are months: "2024-06" or "2024-06-01", either accepted. Metrics default to txn_count + median_price. Prices are category A only — a median including repossessions is not a market median. ALWAYS check `provisional_from` in the response before reading a trend: HM Land Registry registers sales months after completion, so the trailing months are incomplete and will rise. UK only. Free.
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • Airports, runways and frequencies worldwide, tides, UK road collisions and London transport.

  • Book a real estate consultation with London Foster Realty LLC. Areas, open times, booking.

  • Ten-card Celtic Cross spread — traditional ten-position tarot layout. Draws 10 unique cards using cryptographic randomness and assigns each to one of the 10 classical Celtic Cross positions. WORKFLOW: BEFORE: None — standalone reading, or follow asterwise_get_tarot_three_card_spread when a more detailed examination of the same question is needed. AFTER: None. INPUT CONTRACT: allow_reversed (bool, default false) — Each card independently has 50% reversal chance. question (optional string, max 500 chars) — The question or situation being examined. Example: 'Should I accept the job offer in London?' DO NOT CONFUSE WITH: asterwise_get_tarot_three_card_spread — 3 positions only; use for simpler questions. asterwise_draw_tarot_cards — free draw with no positional meaning. asterwise_get_tarot_yes_no — binary answer, not positional analysis. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-celtic-cross/
    ConnectorOAuth
  • Given the ingredients you have on hand, find every cocktail you can make completely — one where you already have all of its ingredients. Garnishes are treated as optional and plain water is assumed available; soda and tonic water are not. Matching is word-based, not substring: "gin" matches "London dry gin" but not "ginger beer", and generic terms do not match product-class extras ("gin" will not cover "sloe gin" or "orange bitters"). Returns two lists: "makeable" (drinks you can make now, up to 60) and "almostMakeable" (drinks exactly one ingredient short, up to 25, each naming the missing ingredient). Drinks needing two or more extra ingredients are omitted entirely. Both lists are ordered simplest first — fewest distinct ingredients in the full recipe, then alphabetical by name. Use this for multi-ingredient "what can I make?" questions; for a single ingredient use find_cocktails_by_ingredient.
    ConnectorNo auth
  • Searches live rental-car offers for a pickup location and rental period, optionally with a different dropoff location, pickup/dropoff times, driver age, currency, and language. Use this when the user wants to compare available rental cars, prices, vendors, categories, or booking links for a specific trip. Do not use it for flights, hotels, public transport, or general travel planning unless the user has car-rental intent. The tool queries external provider APIs in real time, returns price-ranked results grouped by SIPP/category, and may include affiliate booking links. It does not book cars, modify reservations, charge users, or store user data.
    ConnectorNo auth
  • Check the status of a submitted job. Call this after submit_query to see if your job is ready. Status progression: submitted -> analyzing -> fetching -> clustering -> enriching -> completed/failed IMPORTANT: Jobs take several minutes to process. First check after ~1-2 minutes, then poll every 30-60 seconds. Broad searches can take 10-30+ minutes; for long jobs, poll every 60-120 seconds. Do NOT call this tool in a tight loop. Stop polling when status is `completed` or `failed`. Treat `submitted`, `analyzing`, `fetching`, `clustering`, and `enriching` as active states and continue polling. You don't need to wait for completion to pull results. Partial results are available during `enriching` — call pull_results after ~2 minutes, then poll status every 30-60 seconds and pull again for fresher results. Do not stop pulling just because an intermediate pull is empty/unchanged. Use `progress_validated` vs `candidate_records` to track whether more results may still appear (`progress_validated < candidate_records`). If transport/session fails, resume using the same `job_id`.
    ConnectorNo auth
  • Check the status of a submitted job. Call this after submit_query to see if your job is ready. Status progression: submitted -> analyzing -> fetching -> clustering -> enriching -> completed/failed IMPORTANT: Jobs take several minutes to process. First check after ~1-2 minutes, then poll every 30-60 seconds. Broad searches can take 10-30+ minutes; for long jobs, poll every 60-120 seconds. Do NOT call this tool in a tight loop. Stop polling when status is `completed` or `failed`. Treat `submitted`, `analyzing`, `fetching`, `clustering`, and `enriching` as active states and continue polling. You don't need to wait for completion to pull results. Partial results are available during `enriching` — call pull_results after ~2 minutes, then poll status every 30-60 seconds and pull again for fresher results. Do not stop pulling just because an intermediate pull is empty/unchanged. Use `progress_validated` vs `candidate_records` to track whether more results may still appear (`progress_validated < candidate_records`). If transport/session fails, resume using the same `job_id`.
    ConnectorNo auth
  • Returns every valid UK boundary type code mapped to its human-readable label. Call this before using any tool that accepts a `boundary_type` or `boundary_types` argument so you know which codes are legal. Passing an unlisted code to another tool raises a ValueError. Boundary type codes are stable Ordnance Survey identifiers. Common ones: - "CTY" → County - "LBO" → London Borough - "UTA" → Unitary Authority - "MTD" → Metropolitan District - "DIS" → District - "DIW" → District Ward - "CCTY" → Ceremonial County - "HCTY" → Historic County - "WMC" → Westminster Parliamentary Constituency - "GLC" → Greater London Constituency - "SWC" → Scotland/Wales Constituency - "PAR" → Parish - "CED" → County Electoral Division Returns: Dict mapping code → label for all supported boundary types, e.g. {"CTY": "County", "LBO": "London Borough", ...}
    ConnectorNo auth
  • Endpoint & tool trust — one call before an agent connects to a third-party MCP server or HTTP tool. Pass the endpoint `url` (and, to unlock the strongest check, its `tools`: the name/description/inputSchema the agent is about to trust). Returns three signals behind one verdict: (1) transport & TLS identity — encrypted, valid chain, not expired or self-signed; (2) domain age via RDAP — freshly-registered hosts are a scam tell; (3) a TOOL-POISONING scan of the tool definitions for the hidden directives that hijack agents — instruction overrides, 'don't tell the user', data exfiltration, secret harvesting, tool-shadowing, and invisible-unicode / homoglyph steganography that a human reviewer can't see. Nobody else screens tool descriptions for injection. Verdict: trusted | caution | untrusted | unknown, with per-finding evidence. Price: $0.008 USDC. Missing something? Call `submit_feedback` (free) to request it. Pass `attest=true` to also get an Ed25519-SIGNED attestation of this verdict — portable proof you can log, hand to a counterparty, or verify later with `verify_attestation` (free) or the published key.
    ConnectorNo auth
  • Ten-card Celtic Cross spread — traditional ten-position tarot layout. Draws 10 unique cards using cryptographic randomness and assigns each to one of the 10 classical Celtic Cross positions. WORKFLOW: BEFORE: None — standalone reading, or follow asterwise_get_tarot_three_card_spread when a more detailed examination of the same question is needed. AFTER: None. INPUT CONTRACT: allow_reversed (bool, default false) — Each card independently has 50% reversal chance. question (optional string, max 500 chars) — The question or situation being examined. Example: 'Should I accept the job offer in London?' DO NOT CONFUSE WITH: asterwise_get_tarot_three_card_spread — 3 positions only; use for simpler questions. asterwise_draw_tarot_cards — free draw with no positional meaning. asterwise_get_tarot_yes_no — binary answer, not positional analysis. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-celtic-cross/
    ConnectorOAuth
  • Propose creating a new budget or updating an existing one. For create: provide name, allocated, currency. For update: provide envelopeId, allocated; the name and currency are kept from the existing budget. A budget resets weekly or monthly (period, default monthly) and tracks spending one of two ways: trackingMode 'category' counts the linked categories, and ONE budget can cover MANY: pass every category in categoryIds (e.g. rent + groceries + transport + utilities for a single 'Needs' budget); trackingMode 'manual' links no categories and the user tracks it by hand. On update, categoryIds replaces the current list, so pass the whole list. Look category ids up first and never invent them. Returns a proposal id; to record it, call the confirm_proposal tool with the returned proposalId after the user approves (there is no UI button or proposal card to click in this context). MCP note: this tool only CREATES a pending proposal; nothing is recorded until confirm_proposal is called.
    ConnectorOAuth
  • List every station and stop in Switzerland reachable from one place within a number of minutes by public transport, nearest first, with the earliest arrival at each. Use it for "where can I get to from Bern in 45 minutes", "which towns are within an hour's commute of Zug", catchment areas and isochrones. For the travel time between specific places, use travel_time_matrix; for how to make a particular journey, plan_journey. The answer's open_url opens the area as a map on spickme.ch, with every place reached and a picture of it to share. Inputs: from is A station or stop name ("Zürich HB", "Bern", "Lausanne, Flon"), an address ("Bahnhofstrasse 1, Winterthur"), a named place ("ETH Zürich", "Kunsthaus"), a coordinate as "geo:47.3769,8.5417", or a place_id returned by find_place ("stop:8503000"). Names are read the way a rider types them; an ambiguous name returns candidates instead of a guess. (an address or coordinate is snapped to its nearest stop, which the answer names). departure is when to leave: Swiss local time in ISO 8601, e.g. "2026-09-26T08:00"; an explicit offset or Z is converted. A bare "08:00" means today (tomorrow if it has long passed). Omit for now. max_minutes is the time budget (default 60), waiting for the first vehicle included. limit is how many places to list (default 50). max_transfers caps changes. Minutes are timetable minutes from the departure time given, on that day's planned timetable; live delays are not included. Example: {"from": "Bern", "departure": "2026-09-28T07:30", "max_minutes": 45}
    ConnectorNo auth
  • Compute the public-transport travel time in minutes from each of several origins to each of several destinations in Switzerland, for one departure time. For comparing locations: which office site is best reached from where staff live, which flat has the shortest commutes, how well a venue is connected. Use it when there are several places on either side. For one pair with the actual connection, use plan_journey; for everywhere reachable, reachable_area. Each origin in the answer carries a reach_url: the places reachable from it, as a map on spickme.ch. Inputs: origins and destinations are lists of places, each A station or stop name ("Zürich HB", "Bern", "Lausanne, Flon"), an address ("Bahnhofstrasse 1, Winterthur"), a named place ("ETH Zürich", "Kunsthaus"), a coordinate as "geo:47.3769,8.5417", or a place_id returned by find_place ("stop:8503000"). Names are read the way a rider types them; an ambiguous name returns candidates instead of a guess. (addresses and coordinates are snapped to their nearest stop, named in the answer). departure: Swiss local time in ISO 8601, e.g. "2026-09-26T08:00"; an explicit offset or Z is converted. A bare "08:00" means today (tomorrow if it has long passed). Omit for now. max_transfers caps changes. The answer is minutes[i][j] from origins[i] to destinations[j], waiting for the first vehicle included, or null where no connection exists that day. Planned timetable; live delays are not included. Example: {"origins": ["Winterthur", "Baden", "Zug"], "destinations": ["Zürich HB", "Zürich Oerlikon"], "departure": "2026-09-28T07:30"}
    ConnectorNo auth
  • Find which UN-approved packagings may carry a dangerous liquid under ADR 2025 Table A and its packing instructions. Use when: the user has a UN number from section 14 of a safety data sheet, or a substance name, and asks what it can travel in and how large. Instead: decode_un_packaging_mark to read a mark already on a container; adr_1000_points to test a vehicle load. Inputs: send un or name. If both arrive, un wins and name is not read. name is a case-insensitive substring search over proper shipping names and common names and needs at least 3 characters, so a broad word such as "acid" returns up to 20 candidates to choose from. Where one candidate is the everyday meaning (petrol: UN 1203, paint: UN 1263), that entry is answered and the other matches are listed in assumed. Behaviour: covers 157 liquids for road transport under ADR; sea (IMDG Code) and air (IATA) rules can differ. An uncovered number returns ok:false with covered_un_numbers, and a name with no match returns ok:false asking for the number. A number with several Table A rows (packing groups or variants) returns each as its own entry, so choose by the packing group on the safety data sheet. Unknown arguments are ignored and named in assumed. Constraints: no authentication, key or headers. At most 10 requests per 10 seconds per IP address; above that HTTP 429, so space out repeated calls.
    ConnectorNo auth
  • Work out how much water or fuel to hold, with a margin, and how many jerry cans and 20 ft containers that takes. Use when: planning an emergency water store, or fuel for a trip, boat, generator or machinery. Instead: un_number_packaging for transport rules. Water (the default): people times days times the scenario's litres a person a day. Rates: relief 15 (Sphere minimum, the default); acute 7.5; protracted 50; survival 3; national advice nl, se and dk 3, no 2.86, fi and de 2; custom takes rate. National scenarios also supply a household of 4 and their own days when those are left out. Fuel (mode=fuel, or set by any fuel input): road and overland work from distance and consumption, and returnTrip=1 adds the way back on overland. marine, agri and generator work from hours and consumption; generator also takes kva and load instead of consumption. Hours or kva with no scenario selects generator. units=us switches to miles, mpg and US gallons. Either mode: volume with no scenario is the amount to hold. reserve sets the margin; by default 10% for water and 0 to 50% by fuel scenario. Behaviour: a missing people, days, distance or hours returns ok:false with needs naming it; no demo figure is substituted. A defaulted consumption, household or period is noted in assumed, and so are unknown arguments. Constraints: no authentication, key or headers. At most 10 requests per 10 seconds per IP address; above that HTTP 429, so space out repeated calls.
    ConnectorNo auth
  • Claygent-style per-row research: answer ONE question about ONE company and return a JSON object matching your output_schema, with every field wrapped in its own evidence — {value, evidence_url, quote, status}. status is NEVER self-reported by the model: "found" means this code independently verified the model's quote is a VERBATIM substring of text actually fetched; "inferred" means a value was given but the quote could not be verified; "not_established" means no source answered the field, and its value is always null — never guessed, never a blended score. Sources: "web" fetches the company's own site (entity.domain required — homepage, /about, /leadership) via fetch_url; "catalog" checks entity_profile (SEC EDGAR; resolved:false for a private company is expected, not a failure); "both" (default) tries both. max_cost (USD, default 0.02, max 0.50) scales how many pages are fetched and refuses up front if it is too small to pay for even one extraction call (floor $0.002) — never silently overspends. A row where every source comes back empty costs nothing: every field is mechanically not_established with NO model call made. For a boolean/derived field (e.g. "does this company sell to healthcare"), the quote only has to SUPPORT the value — a descriptive sentence about customers/products counts, the source need not state the answer verbatim. leadership_page_status ("fetched"|"not_found"|"not_attempted", plus leadership_note) says plainly whether a leadership/team page was actually read, so a named-person field (head_of_sales) coming back not_established is distinguishable from "this company just doesn't publish one" vs. "we never checked". model_output_empty:true means the model returned nothing usable (a transport/budget problem) — every field is not_established for THAT reason, never read as 20 individual "no" judgments. Use with a fixed question + schema across many rows for "Claygent over N companies with a hard cost cap" (composes with batch callers). For picking from a fixed label list instead of extracting open fields, use classify_row (cheaper, one model call).
    ConnectorNo auth
  • Claygent-style per-row research: answer ONE question about ONE company and return a JSON object matching your output_schema, with every field wrapped in its own evidence — {value, evidence_url, quote, status}. status is NEVER self-reported by the model: "found" means this code independently verified the model's quote is a VERBATIM substring of text actually fetched; "inferred" means a value was given but the quote could not be verified; "not_established" means no source answered the field, and its value is always null — never guessed, never a blended score. Sources: "web" fetches the company's own site (entity.domain required — homepage, /about, /leadership) via fetch_url; "catalog" checks entity_profile (SEC EDGAR; resolved:false for a private company is expected, not a failure); "both" (default) tries both. max_cost (USD, default 0.02, max 0.50) scales how many pages are fetched and refuses up front if it is too small to pay for even one extraction call (floor $0.002) — never silently overspends. A row where every source comes back empty costs nothing: every field is mechanically not_established with NO model call made. For a boolean/derived field (e.g. "does this company sell to healthcare"), the quote only has to SUPPORT the value — a descriptive sentence about customers/products counts, the source need not state the answer verbatim. leadership_page_status ("fetched"|"not_found"|"not_attempted", plus leadership_note) says plainly whether a leadership/team page was actually read, so a named-person field (head_of_sales) coming back not_established is distinguishable from "this company just doesn't publish one" vs. "we never checked". model_output_empty:true means the model returned nothing usable (a transport/budget problem) — every field is not_established for THAT reason, never read as 20 individual "no" judgments. Use with a fixed question + schema across many rows for "Claygent over N companies with a hard cost cap" (composes with batch callers). For picking from a fixed label list instead of extracting open fields, use classify_row (cheaper, one model call).
    ConnectorNo auth