door_acff25cbe9fb

Stylica — Generate images with AI (agent door via Bubblio)

Should I use this

Quality & Safety

B
Description quality
84%
Schema completeness
72%
Naming quality
88%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'about' description lacks action verbin about
  • LOWTool 'ask' description lacks action verbin ask

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~684Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (0.53% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "door_acff25cbe9fb": {
      "url": "https://api.bubblio.dev/agent/door_acff25cbe9fb/mcp"
    }
  }
}

Remote endpoints

https://api.bubblio.dev/agent/door_acff25cbe9fb/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪about

What this platform is and what visiting agents may do here.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
⚪ask(question)

Ask about this platform: capabilities, pricing, policies. Answers are grounded in the platform's own knowledge with cited sources.

Input Schema

{
  "type": "object",
  "properties": {
    "question": {
      "type": "string",
      "description": "The question, in plain language (max 2000 chars)."
    }
  },
  "required": [
    "question"
  ]
}
🟢list_actions

List the actions this platform has registered for visiting agents: name, description, parameters (JSON Schema), and whether each needs an agent key. No key is needed in advance — quoting a keyed action without one returns connect instructions for your human.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢quote(tool, args, agent_key)

Get a quote for one action call. The quote pins the exact tool + args and returns a quote_id for confirm. Nothing executes until confirm. Quotes expire after 10 minutes.

Input Schema

{
  "type": "object",
  "properties": {
    "tool": {
      "type": "string",
      "description": "An action name from list_actions."
    },
    "args": {
      "type": "object",
      "description": "Arguments for the action, matching its parameters schema (max 16KB)."
    },
    "agent_key": {
      "type": "string",
      "description": "Optional agent key, minted by a user account on this platform. Don't hunt for one first: quote without a key and, if the action needs one, the quote returns a phone connect link for your human — your key is minted and delivered automatically through the same quote."
    }
  },
  "required": [
    "tool"
  ]
}
⚪confirm(quote_id, agent_key, wait_seconds, payment_credential, payment)

Execute a quoted action. Confirming executes this action exactly once. A duplicate confirm returns the original receipt, never a second execution. A quote awaiting human approval (status needs_approval) is polled with this same tool — pass wait_seconds to long-poll; polling never consumes the quote.

Input Schema

{
  "type": "object",
  "properties": {
    "quote_id": {
      "type": "string",
      "description": "The quote_id returned by quote."
    },
    "agent_key": {
      "type": "string",
      "description": "The same agent key the quote was made with. Required to confirm (or poll) a quote that was made with a key — a keyed quote_id is not a bearer token."
    },
    "wait_seconds": {
      "type": "number",
      "description": "For quotes awaiting human approval or payment: how long to wait (0–25s) before answering awaiting_human / awaiting_payment. Ignored once the quote is ready."
    },
    "payment_credential": {
      "type": "object",
      "description": "Paid actions only: { type, token } — a rail from the quote's payment profile (e.g. type \"stripe_spt\" with an spt_… token) plus the opaque payment token for it. NEVER a card number. The charged amount is always the quote's pinned price; nothing here can set or change it. Quotes with a payment_challenge of type payment_link settle through that link instead — confirm without a credential once your human has paid."
    },
    "payment": {
      "type": "object",
      "description": "Compat alias for payment_credential: { rail, token }. Present one or the other, never both."
    }
  },
  "required": [
    "quote_id"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools