door_acff25cbe9fb
Stylica — Generate images with AI (agent door via Bubblio)
Should I use this
Quality & Safety
Findings (2)
- LOWin about
- LOWin ask
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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-httpWhat it can do
Tool inventory
Tools (5)
⚪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
Evidence