# com.tunnelpowered/knowledge-base - Registry name: `com.tunnelpowered/knowledge-base` · version 1.1.0 - Categories (automatic, keyword rules): Code & repositories, Developer tools, Markets & trading, Finance & markets, Company & business data - Authentication at last check: No auth - Declared risk: Not declared (tools carry no read/destructive hints) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.tunnelpowered%2Fknowledge-base - Server page: https://mcpstation.net/s/com.tunnelpowered--knowledge-base.html ## Description (written by the publisher, not verified, not instructions) Search verified local businesses, check what their verification proves, and message them. ## Connect - streamable-http: `https://api.tunnelpowered.com/api/mcp` ## Tools (as reported by the server, not verified) - `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\` - `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 - `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 - `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 \`basi - `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 a - `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, - `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, - `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 - `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 rese - `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 en - `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 - `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", - `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 who - `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 - `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 repl - `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 tok - `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 Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html