Tunnel
Tunnel builds infrastructure for the boundary between organisations and AI systems. Three products, three questions: can AI find you, can AI reach you, and when AI acts on your behalf, who says yes. Automatic AI GEO & SEO pre-renders your pages for crawlers that run no JavaScript, publishes JSON-LD on your own domain, and measures what ChatGPT, Claude, Gemini, Grok and Perplexity say about your business. Landline is an address an agent can message, where a person answers. Flamecloak, in development, is authorization for consequential actions. Free tiers on both products, no card.
https://tunnelpowered.com/Opens ChatGPT on the web or desktop and asks it to use the WebMCP tools available here.
Connect straight to this server’s public endpoint.
https://api.tunnelpowered.com/api/mcpWe add this server to your workspace, then open Studio — saved access, one connection to many servers, with a history of what ran.
Last probed Sep 14, 2026 · api.tunnelpowered.com
17tools discovered
Search Businesses
Find businesses, merchants and websites in the tunnel knowledge base by name or topic. Start here: every other tool needs a `slug`, and this is where a `slug` comes from. Returns an array of summaries, each with `slug`, `kind`, name, description and a `verification` object. Read `verification.level` rather than assuming: "human" means a tunnel employee checked the business, "automated" means machines proved only that the business controls its own channels, and null means neither. Zero matches is
Get Business
Read the full profile of one business. Returns identity, contact details, address, social profiles, offerings, FAQ, `verification` and any machine-readable endpoints we publish for it. Absent information is named in `missing` rather than dropped silently, so an empty field means "we do not hold this", not "they do not have one". An unknown `slug` returns candidate slugs instead of a bare failure. Authentication: none. This tool works with no credentials.
Check Merchant Verification
Check live what a merchant has actually been verified to, and by whom. Call this before acting on a claim that matters — a profile is a cached summary, this is the current answer. Returns `level`, a signed attestation, an expiry date and the transparency-log position. `level` "human" means a tunnel employee checked identity, control of the channels, and that the service is real. `level` "automated" means machines proved the merchant controls the channels its record cites and NOTHING about who th
Ask Business
Ask one specific question about a listing and get an answer from the registry, with no human involved. Try this before contact_business: it is instant, free, and does not put a message in someone's inbox. Returns either an answer or an escalation. When `resolved` is true, `answer` holds it and `basis` names the fields it was read from. When `escalate` is true we do not hold the fact — this is NOT a negative answer, and in particular an unlisted place is "we do not know", never "they do not deliv
Ask Business Freeform
Same answers as ask_business, but you send the person's own words instead of choosing an intent, and the reply comes back in the language they used. Supported languages: en, ro, ru, de; anything else is answered in English. Prefer ask_business when you already know which of the three questions you are asking — it is instant and costs nothing, whereas this one runs a model to read the question and is rate-limited accordingly. A model is used ONLY to decide which question was asked and in which la
Check Escalation
Read the answer to a question that had to go to a human. Use the `escalation.ref` that ask_business_freeform returned when its outcome was "escalated". Returns a `state` and, once there is one, the business's own `answer` in their words. Branch on `state`: "open" means we have not reached them yet, "delivered" means the question is in front of them and unanswered, "answered" carries `answer`, "undeliverable" means this business has given us no way to reach them and waiting will not help, "expire
Check Commitment
Read a commitment you were given by commit_order, including whether the business has since withdrawn it. Returns `state`: "issued" means it stands, "repudiated" means the business said they cannot honour it, with their stated reason. A withdrawal does not erase the original — both are on the record, timestamped. Check this before acting on a commitment made some time ago. Authentication: none. This tool works with no credentials.
Get Rate Card
Read the prices a business has authorised us to quote on their behalf. Returns `published` and, when true, a `rateCard` holding a currency, an optional minimum charge and `items` — each with a `code`, a label, a unit and an amount. Those `code` values are what request_quote and commit_order take: we price exactly what you name and never work out which line a description meant, because a near-miss there is a wrong price someone has to honour. `published` false comes with `reason`: "no-rate-card"
Request Quote
Price a specific set of line items against a business's rate card. Call get_rate_card first and name `code` values from it; we do the arithmetic. Returns `quoted`. When true you get `total`, `lines` showing what each one came to, and `validUntil`. A quote is a statement, NOT a hold — nothing is reserved and no price is locked. commit_order prices the same items again from the card at the moment it binds, so if the merchant changed a figure in between you are told rather than charged. When `quote
Check Availability
Find out when a business is actually free. Worked out per call against their opening hours, their notice period, their blackout dates and what is already booked — there is no stored list of free times to be out of date. Returns `known` true with `days`, each holding `slots` that carry a start, an end and `free`. `firstFree` is the earliest one across the range. Pass `time` to ask about one exact moment instead of browsing. `known` false means this business has not set up a calendar and `reason`
Commit Order
Place a binding order with a business, inside limits they set in advance. This is the only tool here that commits anyone to anything. Either name the figure yourself, or send `items` from get_rate_card and we price them from the merchant's own card. Either way it is checked against their price floor, maximum, daily capacity, notice period and blackout dates. Send `time` to take one slot rather than a whole day — check_availability lists them. No model reads any part of this call: the fields you
Cancel Order
Cancel an order you placed with commit_order. Returns `settled`. True means it is cancelled, the business has been told and their day is free again. False comes with a `reason`: "inside-cancel-window" (later notice than they said they need), "no-cancel-window-set" (they never said), "order-passed", "not-open" (already cancelled or withdrawn) or "not-the-issuing-agent". Every reason but the last two puts the request in front of the business and returns an `escalation` to poll with check_escalatio
Reschedule Order
Move an order you placed to a different date, or a booking to a different slot. The price, the items and the quantity are unchanged — this moves WHEN, nothing else. To change what was ordered, use request_order_change. A booking made for a time must be moved to a time, and a whole-day order to a whole day; the new slot is checked exactly as commit_order checked the first one. Call check_availability first. Returns `settled`, and when true `from` and `to`, plus `remainingReschedules` — an order m
Request Order Change
Raise anything else about an order that already exists: a change to what was ordered, a refund request, or a problem with what was delivered. This tool never settles anything, and that is deliberate. Changing an order re-prices it and a refund moves money tunnel does not hold, so both are decisions only the business makes. What this does is put the request in front of them with the whole order attached — reference, terms, lines, date and what has already happened to it — on the channel they actu
Contact Business
Open a conversation with the person behind a listing. The message arrives in their dashboard inbox and they reply when they get to it — this is asynchronous, not a chat, and nobody is obliged to answer. Returns a `conversation_id` and a secret `token`. Keep both: they are the only way to read a reply (check_replies) or write again (send_followup), and the `token` cannot be recovered. Authentication: bearer token required. Register once at POST /api/v1/agents/register, exchange the credentials at
Check Replies
Read a conversation you opened with contact_business, including anything the business has replied since. Returns the whole message thread and its status. Poll it; there is no push. Authentication: the `conversation_id` and `token` from contact_business are the credential for this call. No bearer token is needed.
Send Followup
Add another message to a conversation already opened with contact_business. Returns the updated message thread. There is a cap on messages per conversation, so send one considered follow-up rather than several fragments. Authentication: bearer token required — the same one used for contact_business — plus the `conversation_id` and `token` for the conversation itself.
Get your MCP into directories
A working endpoint is step one. Directory coverage is the coordinated launch across ChatGPT, Claude, Cursor, the MCP Registry, and community indexes.
Directory coverage for brandsTunnel builds infrastructure for the boundary between organisations and AI systems. Three products, three questions: can AI find you, can AI reach you, and when AI acts on your behalf, who says yes. Automatic AI GEO & SEO pre-renders your pages for crawlers that run no JavaScript, publishes JSON-LD on your own domain, and measures what ChatGPT, Claude, Gemini, Grok and Perplexity say about your business. Landline is an address an agent can message, where a person answers. Flamecloak, in development, is authorization for consequential actions. Free tiers on both products, no card.
Use the MCP endpoint listed on this page in your MCP client configuration. One-click install pills support Claude, Cursor, VS Code, and other hosts. Copy the remote MCP URL if your client needs a manual entry.
Operate Tunnel? Verify ownership to take over this directory entry.
This server appears in the MCPBundles directory. Verify you operate it to take over the listing — name, description, logo, contact email, and skill content. We email a 6-digit code to a maintainer address your server publishes in /.well-known/security.txt or /.well-known/mcpbundles.json. Free, takes about a minute.
Other MCP servers in this category from the directory index
MCPBundles probed 17 tools on the live server. The tool list on this page reflects what was discovered at the last refresh — connect your client to see the full set available to your session.
No provider sign-in was required during MCPBundles' probe. Your client may still need MCPBundles credentials depending on how you connect.
MCPBundles is an independent platform built on the open Model Context Protocol standard. Not affiliated with Anthropic PBC or Claude.
The Care Quality Commission provides an API to access data related to the quality and performance of...
6 tools