_ registry / mcp streamable-http · checked 6h ago

SiteSpeak Management

https://api.sitespeak.ai

Registry code: e59e6b6b29d205e3

api record

Manage your SiteSpeak chatbots: read and update settings, triage the inbox, manage knowledge sources, and read analytics and question insights. Every tool acts only on chatbots your token can access.

endpoint
https://api.sitespeak.ai/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is SiteSpeak Management live?
Yes — it answered the hub's last check (checked 6h ago). It answered 98% of checks over the last 30 days.
Is SiteSpeak Management free to use?
Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
What tools does SiteSpeak Management have?
15 tools: list_inbox_threads, list_sources, add_source, get_chatbot_insights, get_chatbot_analytics, update_chatbot_settings, update_thread_status, add_suggested_message, ….
Is SiteSpeak Management safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
97.5%

90 days 98.4%· all time 98.4%

latency
863ms

last good check

priced tools
0

of 15 tools

_ answered our checks, 90 days 372 checks · signed record
  • down → live
  • degraded → down· timeout after 20000ms
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • manage website chatbot settings
  • reply to chatbot inbox threads
  • add knowledge sources to a chatbot
  • get chatbot analytics and leads
takes → gives
text, web pages → data
tools
9 reads5 changes data1 sends messages
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 15 tools
15 auth-required 15 of 15 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • list_inbox_threads reads auth-required 3d ago

    List inbox conversation threads for a chatbot. Filter by status (open/closed/all) and feedback (positive/negative), and search message text.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id"
      ],
      "properties": {
        "page": {
          "type": "integer",
          "description": "Page number (15 per page)."
        },
        "search": {
          "type": "string",
          "description": "Search message text."
        },
        "status": {
          "type": "string",
          "description": "open (default), closed, or all."
        },
        "feedback": {
          "type": "string",
          "description": "Filter threads by message feedback: positive or negative."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        }
      }
    }
    arguments 28 lines
  • list_sources reads auth-required 3d ago

    List a chatbot's knowledge sources and their training status. Paginated at 50 per page.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id"
      ],
      "properties": {
        "page": {
          "type": "integer",
          "description": "Page number (50 per page)."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        }
      }
    }
    arguments 16 lines
  • add_source changes data auth-required never probed

    Add a website knowledge source by URL and start indexing it. Provide a single page or site URL.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "description": "The website URL to index."
        },
        "title": {
          "type": "string",
          "description": "Optional label; defaults to the URL."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        }
      }
    }
    arguments 21 lines
  • get_chatbot_insights reads auth-required 6h ago

    Get AI-clustered question themes for a chatbot: top unanswered questions (knowledge/source gaps) and top answered questions. Use unanswered themes to suggest new content and messages.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id"
      ],
      "properties": {
        "to": {
          "type": "string",
          "description": "ISO date (default today)."
        },
        "from": {
          "type": "string",
          "description": "ISO date (default 30 days ago)."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        }
      }
    }
    arguments 20 lines
  • get_chatbot_analytics reads auth-required 15h ago

    Get a chatbot's analytics for a period: conversation volume, feedback, answered-question %, negative-sentiment %, popular sources/categories, top countries.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id"
      ],
      "properties": {
        "to": {
          "type": "string",
          "description": "ISO date; used when period=custom."
        },
        "from": {
          "type": "string",
          "description": "ISO date; used when period=custom."
        },
        "period": {
          "type": "string",
          "description": "last_7_days, last_30_days (default), or custom."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        }
      }
    }
    arguments 24 lines
  • update_chatbot_settings changes data auth-required never probed

    Update a chatbot's settings. Only the fields you pass are changed. Call get_chatbot first to see allowed_models before changing gpt_model.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id"
      ],
      "properties": {
        "topK": {
          "type": "integer",
          "description": "Retrieved-chunk count 1-3."
        },
        "gpt_model": {
          "type": "string",
          "description": "LLM model id. Must be one of the chatbot's allowed_models."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        },
        "temperature": {
          "type": "number",
          "description": "Sampling temperature 0-2."
        },
        "history_count": {
          "type": "integer",
          "description": "Conversation history turns 0-10."
        },
        "default_answer": {
          "type": "string",
          "description": "Fallback answer when the bot cannot answer."
        },
        "welcome_message": {
          "type": "string",
          "description": "Welcome message (max 500 chars). Separate multiple bubbles with a blank line."
        },
        "escalations_email": {
          "type": "string",
          "description": "Semicolon-separated email addresses notified on escalation."
        },
        "enable_escalations": {
          "type": "boolean",
          "description": "Turn human-handoff escalations on/off."
        },
        "enable_lead_capture": {
          "type": "boolean",
          "description": "Turn the lead-capture form on/off."
        },
        "instructions_prompt": {
          "type": "string",
          "description": "System/instructions prompt (max 20000 chars)."
        },
        "lead_capture_fields": {
          "type": "array",
          "description": "Lead-capture field definitions {type,name,required,enabled,order}. Required when enabling lead capture."
        },
        "escalate_message_threshold": {
          "type": "integer",
          "description": "Messages before a human handoff is offered (1-10)."
        },
        "enable_escalations_round_robin": {
          "type": "boolean",
          "description": "Rotate escalation emails round-robin across the addresses."
        },
        "enable_escalations_notification": {
          "type": "boolean",
          "description": "Email a notification when a conversation escalates."
        }
      }
    }
    arguments 68 lines
  • update_thread_status changes data auth-required never probed

    Set an inbox thread status. Use "archived" to mark a thread as done. Allowed: read, unread, archived, priority, snooze.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id",
        "visitor_id",
        "status"
      ],
      "properties": {
        "status": {
          "type": "string",
          "description": "read | unread | archived | priority | snooze. \"archived\" = done."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        },
        "visitor_id": {
          "type": "string",
          "description": "The thread/visitor id."
        }
      }
    }
    arguments 22 lines
  • add_suggested_message changes data auth-required never probed

    Add a suggested message (a clickable prompt shown to visitors). For type "ai" (default) provide a prompt - the message sent when clicked. For redirect/email types provide an action (a URL or email address).

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The button label shown to visitors (max 100), e.g. \"Pricing Plans\"."
        },
        "type": {
          "type": "string",
          "description": "ai (default), redirect, email, intercom, follow_up, follow_up_link, follow_up_email, escalate."
        },
        "action": {
          "type": "string",
          "description": "A URL or email (max 200). Required for type redirect, email, follow_up_link, follow_up_email."
        },
        "prompt": {
          "type": "string",
          "description": "The message sent when clicked (max 200). Required for type ai and follow_up."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        }
      }
    }
    arguments 29 lines
  • list_leads reads auth-required 3d ago

    List a chatbot's captured leads (visitors who submitted an email or phone via the lead-capture form). Newest first, paginated 50 per page.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id"
      ],
      "properties": {
        "page": {
          "type": "integer",
          "description": "Page number (50 per page)."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        }
      }
    }
    arguments 16 lines
  • get_chatbot reads auth-required 15h ago

    Get a chatbot's current settings plus the models allowed on its plan and the credit cost per model. Read this before changing settings.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id"
      ],
      "properties": {
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id (from list_chatbots)."
        }
      }
    }
    arguments 12 lines
  • reply_to_thread sends messages auth-required never probed

    Send a human agent reply to the visitor in an inbox thread. The visitor sees it in the chat widget (and on WhatsApp or Google Chat for those channels), and it starts a 30-minute live chat. Only send text the user has approved.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id",
        "visitor_id",
        "message"
      ],
      "properties": {
        "message": {
          "type": "string",
          "description": "The reply text to send to the visitor."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        },
        "visitor_id": {
          "type": "string",
          "description": "The thread/visitor id (from list_inbox_threads)."
        }
      }
    }
    arguments 22 lines
  • recrawl_source changes data auth-required never probed

    Re-index an existing knowledge source to pick up its latest content.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id",
        "source_id"
      ],
      "properties": {
        "source_id": {
          "type": "string",
          "description": "The source id (from list_sources)."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        }
      }
    }
    arguments 17 lines
  • get_thread_messages reads auth-required 6h ago

    Get the messages in one inbox thread (visitor), oldest first. Returns the most recent messages by default; use offset with has_older to page back through long threads.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id",
        "visitor_id"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "description": "Max messages per page (default 100, max 200)."
        },
        "offset": {
          "type": "integer",
          "description": "Skip this many of the most recent messages to page further back (default 0)."
        },
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        },
        "visitor_id": {
          "type": "string",
          "description": "The thread/visitor id (from list_inbox_threads)."
        }
      }
    }
    arguments 25 lines
  • list_suggested_messages reads auth-required 6h ago

    List a chatbot's suggested messages (the clickable prompts shown to visitors). Use the returned id with update_suggested_message or remove_suggested_message.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chatbot_id"
      ],
      "properties": {
        "chatbot_id": {
          "type": "string",
          "description": "The chatbot id."
        }
      }
    }
    arguments 12 lines
  • list_chatbots reads auth-required 15h ago

    List the chatbots your account can manage (your current team's chatbots). Returns each chatbot id, name and type. Use the id with the other tools.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id e59e6b6b29d205e3.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/e59e6b6b29d205e3/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/e59e6b6b29d205e3/badge.svg)](https://brick.blue/agent/e59e6b6b29d205e3?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.