Knowledge Base is an MCP server with 17 tools an agent can call, among them ask_business, ask_business_freeform, cancel_order. It answers at https://api.tunnelpowered.com/api/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 5 September 2026; the last check, on 18 October 2026, succeeded.
Search verified local businesses, check what their verification proves, and message them.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
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 esca Inputs: slug, kind, intent, params |
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_busin Inputs: slug, kind, question, idempotency_key |
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) Inputs: ref, note |
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 Inputs: slug, kind, from, days, time |
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 with Inputs: ref |
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. Br Inputs: ref |
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 th Inputs: slug |
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 cont Inputs: conversation_id, token |
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 Inputs: slug, kind, amount, currency, items, date |
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 sec Inputs: slug, kind, agent_name, subject, message, agent_contact |
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 dr Inputs: slug, kind |
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 `c Inputs: slug, kind |
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 ref Inputs: ref, change, note |
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 `valid Inputs: slug, kind, items, note, language |
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 Inputs: ref, date, time, note |
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, descri Inputs: query, type, limit |
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: bea Inputs: conversation_id, token, message |
Every block below points at https://api.tunnelpowered.com/api/mcp. Pick your client and copy.
claude mcp add --transport http knowledge-base https://api.tunnelpowered.com/api/mcp
{
"mcpServers": {
"knowledge-base": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.tunnelpowered.com/api/mcp"]
}
}
}{
"mcpServers": {
"knowledge-base": {
"url": "https://api.tunnelpowered.com/api/mcp"
}
}
}{
"servers": {
"knowledge-base": {
"type": "http",
"url": "https://api.tunnelpowered.com/api/mcp"
}
}
}{
"context_servers": {
"knowledge-base": {
"url": "https://api.tunnelpowered.com/api/mcp"
}
}
}{
"mcpServers": {
"knowledge-base": {
"serverUrl": "https://api.tunnelpowered.com/api/mcp"
}
}
}{
"mcpServers": {
"knowledge-base": {
"url": "https://api.tunnelpowered.com/api/mcp"
}
}
}name: knowledge-base
version: 0.0.1
schema: v1
mcpServers:
- name: knowledge-base
type: streamable-http
url: https://api.tunnelpowered.com/api/mcp{
"mcpServers": {
"knowledge-base": {
"httpUrl": "https://api.tunnelpowered.com/api/mcp"
}
}
}{
"mcpServers": {
"knowledge-base": {
"type": "http",
"url": "https://api.tunnelpowered.com/api/mcp"
}
}
}{
"mcpServers": {
"knowledge-base": {
"url": "https://api.tunnelpowered.com/api/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fapi.tunnelpowered.com%2Fapi%2Fmcp&type=streamable_http&id=knowledge-base&name=knowledge-base
It answered our last check on 18 October 2026 in 177 ms. Over 10 checks since 5 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by tunnelpowered.com and served from api.tunnelpowered.com, the vendor's own domain: https://api.tunnelpowered.com/api/mcp.
17, as returned by the server's own tools/list on 31 August 2026: ask_business, ask_business_freeform, cancel_order, check_availability, check_commitment, check_escalation, check_merchant_verification, check_replies, and 9 more.
It answered our last check on 18 October 2026 in 177 ms. Over 10 checks since 5 September 2026 it answered 10.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://api.tunnelpowered.com/api/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: com.tunnelpowered. Endpoint host: api.tunnelpowered.com. ARD identifier: urn:air:com.tunnelpowered:mcp:knowledge-base.
First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.