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

buttondown-mcp

https://buttondown.usefulapi.io

Registry code: 328ded73a5dcb965

api record

Tools for Buttondown, hosted by usefulapi.io. Read-only tools never change data; ask the user before a tool that creates, changes or deletes Buttondown data. Free plan: 100 tool calls per month. Run buttondown_usage_status to see the calls used this month. If the user asks for something none of these tools can do, tell the user and, with their OK, run buttondown_request_feature to record the request. Pro (unlimited calls, $9/month or $90/year): when the user wants more calls or reaches the limit, run buttondown_upgrade; it returns a Stripe Checkout link for the user to open.…

endpoint
https://buttondown.usefulapi.io/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 buttondown-mcp live?
Yes — it answered the hub's last check (checked 12h ago). It answered 100% of checks over the last 30 days.
Is buttondown-mcp free to use?
No — it asks for a key or a login before it will serve.
What tools does buttondown-mcp have?
25 tools: buttondown_get_account, buttondown_get_newsletter, buttondown_get_tag_analytics, buttondown_list_snippets, buttondown_get_automation, buttondown_get_automation_analytics, buttondown_list_automations, buttondown_list_events, ….
Is buttondown-mcp 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
100%

90 days 100%· all time 100%

latency
302ms

last good check

priced tools
0

of 25 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ 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 25 tools
25 auth-required 25 of 25 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.

  • buttondown_get_account auth-required 12h ago

    The Buttondown account this API key belongs to: username and e-mail address. GET /accounts/me.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • buttondown_get_newsletter auth-required never probed

    One newsletter by id (settings and identity only; no API key, CSS or templates). GET /newsletters/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "newsletter_id"
      ],
      "properties": {
        "newsletter_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "The object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...)."
        }
      }
    }
    arguments 15 lines
  • buttondown_get_tag_analytics auth-required never probed

    Subscribers created, open rate and click rate for one tag. GET /tags/{id}/analytics.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "tag_id"
      ],
      "properties": {
        "tag_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Tag id (see buttondown_list_tags)."
        }
      }
    }
    arguments 15 lines
  • buttondown_list_snippets auth-required never probed

    List reusable content snippets with identifier, name, mode and how often each is referenced. GET /snippets.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 12 lines
  • buttondown_get_automation auth-required never probed

    One automation by id with its trigger, actions and filters. GET /automations/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "automation_id"
      ],
      "properties": {
        "automation_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "The object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...)."
        }
      }
    }
    arguments 15 lines
  • buttondown_get_automation_analytics auth-required never probed

    Performance numbers for one automation. GET /automations/{id}/analytics.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "automation_id"
      ],
      "properties": {
        "automation_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "The object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...)."
        }
      }
    }
    arguments 15 lines
  • buttondown_list_automations auth-required 12h ago

    List automations (welcome sequences and other triggered e-mails) with name, status, trigger, actions and filters (webhook URLs in actions are shown by host only). Read-only: automations are not started or changed. GET /automations.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 12 lines
  • buttondown_list_events auth-required 12h ago

    List delivery events (delivered, opened, clicked, bounced, unsubscribed, ...), newest first, optionally for one email or subscriber. GET /events.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "email_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Only events for this email."
        },
        "page_size": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Results per page, 1-500 (default 100)."
        },
        "event_type": {
          "enum": [
            "bounced",
            "clicked",
            "complained",
            "delivered",
            "opened",
            "rejected",
            "replied",
            "unsubscribed"
          ],
          "type": "string",
          "description": "Only events of this type."
        },
        "subscriber_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Only events for this subscriber (id, not e-mail)."
        }
      }
    }
    arguments 44 lines
  • buttondown_list_newsletters auth-required never probed

    List the newsletters on the account with name, username, domains, sender, locale and timezone. The newsletter's API key, custom CSS and e-mail templates are never returned. GET /newsletters.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 12 lines
  • buttondown_list_subscribers auth-required never probed

    List or search subscribers (newest first by default) with e-mail, type (regular, unactivated, unsubscribed, premium, ...), tags, notes, metadata, source, open/click rates and dates. Filter by e-mail text, type, tag, signup date or domain. GET /subscribers.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "tag": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1
          },
          "maxItems": 10,
          "minItems": 1,
          "description": "Only subscribers with these tag names."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "type": {
          "type": "array",
          "items": {
            "enum": [
              "blocked",
              "complained",
              "churning",
              "churned",
              "gifted",
              "unactivated",
              "unpaid",
              "undeliverable",
              "premium",
              "past_due",
              "paused",
              "regular",
              "removed",
              "trialed",
              "unsubscribed",
              "upcoming"
            ],
            "type": "string"
          },
          "maxItems": 8,
          "minItems": 1,
          "description": "Only subscribers of these types (e.g. regular, unactivated, unsubscribed)."
        },
        "domain": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 253,
            "minLength": 1
          },
          "maxItems": 10,
          "minItems": 1,
          "description": "Only subscribers whose e-mail domain is one of these."
        },
        "not_type": {
          "type": "array",
          "items": {
            "enum": [
              "blocked",
              "complained",
              "churning",
              "churned",
              "gifted",
              "unactivated",
              "unpaid",
              "undeliverable",
              "premium",
              "past_due",
              "paused",
              "regular",
              "removed",
              "trialed",
              "unsubscribed",
              "upcoming"
            ],
            "type": "string"
          },
          "maxItems": 8,
          "minItems": 1,
          "description": "Exclude subscribers of these types."
        },
        "ordering": {
          "type": "string",
          "pattern": "^-?[a-z_]{1,40}$",
          "description": "Sort field, - for descending (default -creation_date)."
        },
        "created_after": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "Only subscribers created on or after this date (yyyy-mm-dd)."
        },
        "email_address": {
          "type": "string",
          "maxLength": 254,
          "minLength": 1,
          "description": "Only subscribers whose e-mail address contains this text."
        },
        "created_before": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "Only subscribers created before this date (yyyy-mm-dd)."
        }
      }
    }
    arguments 109 lines
  • buttondown_get_subscriber auth-required never probed

    One subscriber by id or by e-mail address: type, tags, notes, metadata, source, engagement and lifecycle dates. GET /subscribers/{id_or_email}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "id_or_email"
      ],
      "properties": {
        "id_or_email": {
          "type": "string",
          "maxLength": 254,
          "minLength": 1,
          "description": "The subscriber's id or e-mail address."
        }
      }
    }
    arguments 15 lines
  • buttondown_add_subscriber auth-required never probed

    WRITE: add ONE subscriber by e-mail address. No subscriber type is set, so Buttondown applies the newsletter's normal sign-up rules (double opt-in: the subscriber is typically created as unactivated and Buttondown e-mails THAT ONE address a confirmation message; opt-in is never bypassed, nor is the firewall). Only add people who asked to subscribe. Creating a subscriber (and its tags) can also start the newsletter's own automations, which may e-mail that one subscriber. An existing e-mail is left untouched (error, no overwrite). Optional tags (a tag that does not exist is created, which needs a plan with tags), a private note and metadata. Buttondown limits creation to 100 subscribers per day. POST /subscribers.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "email_address"
      ],
      "properties": {
        "tags": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1
          },
          "maxItems": 20,
          "description": "Tag names to apply."
        },
        "notes": {
          "type": "string",
          "maxLength": 5000,
          "description": "Private note (never shown to the subscriber)."
        },
        "metadata": {
          "type": "object",
          "description": "Free-form key-value data stored on the subscriber.",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "utm_medium": {
          "type": "string",
          "maxLength": 300
        },
        "utm_source": {
          "type": "string",
          "maxLength": 300
        },
        "referrer_url": {
          "type": "string",
          "maxLength": 2000,
          "description": "Where the subscriber came from."
        },
        "utm_campaign": {
          "type": "string",
          "maxLength": 300
        },
        "email_address": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9.'_%+\\-!]+@[a-zA-Z0-9.\\-]+\\.[a-zA-Z]{2,}$",
          "maxLength": 254,
          "description": "The new subscriber's e-mail address. They receive the confirmation e-mail."
        }
      }
    }
    arguments 55 lines
  • buttondown_update_subscriber auth-required never probed

    WRITE: change ONE subscriber's tags, private note or metadata. Tags are merged (add_tags / remove_tags change only those names; the others stay). A given note or metadata replaces the existing value (destructive for that field). The subscriber's type (unsubscribe, block, ...) and e-mail address cannot be changed here, and this tool sends nothing itself; but a tag, note or metadata change can start the newsletter's own automations (for example a tag-triggered welcome sequence), which may e-mail that one subscriber. PATCH /subscribers/{id_or_email}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "id_or_email"
      ],
      "properties": {
        "notes": {
          "type": "string",
          "maxLength": 5000,
          "description": "Replace the private note with this text (empty string clears it)."
        },
        "add_tags": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1
          },
          "maxItems": 20,
          "minItems": 1,
          "description": "Tag names to add."
        },
        "metadata": {
          "type": "object",
          "description": "Replace the subscriber's metadata object with this one.",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "id_or_email": {
          "type": "string",
          "maxLength": 254,
          "minLength": 1,
          "description": "The subscriber's id or e-mail address."
        },
        "remove_tags": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1
          },
          "maxItems": 20,
          "minItems": 1,
          "description": "Tag names to remove."
        }
      }
    }
    arguments 50 lines
  • buttondown_list_emails auth-required never probed

    List emails (drafts, scheduled and sent), newest first by default, with subject, status, publish date, slug, archive URL and analytics summary. The body is left out unless include_body is set. Filter by status, subject text or date. GET /emails.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "status": {
          "type": "array",
          "items": {
            "enum": [
              "draft",
              "managed_by_rss",
              "about_to_send",
              "scheduled",
              "in_flight",
              "paused",
              "deleted",
              "errored",
              "sent",
              "partially_sent",
              "imported",
              "throttled",
              "resending",
              "transactional",
              "suppressed"
            ],
            "type": "string"
          },
          "maxItems": 8,
          "minItems": 1,
          "description": "Only emails with these statuses (draft, scheduled, sent, ...)."
        },
        "subject": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Only emails whose subject contains this text."
        },
        "ordering": {
          "enum": [
            "creation_date",
            "-creation_date",
            "publish_date",
            "-publish_date",
            "modification_date",
            "-modification_date",
            "subject",
            "-subject",
            "status",
            "-status"
          ],
          "type": "string",
          "description": "Sort order (default -creation_date)."
        },
        "include_body": {
          "type": "boolean",
          "description": "Include each email's full body (large). Default false."
        },
        "created_after": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "Only emails created on or after this date (yyyy-mm-dd)."
        },
        "created_before": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "Only emails created before this date (yyyy-mm-dd)."
        },
        "published_after": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "Only emails published on or after this date (yyyy-mm-dd)."
        },
        "published_before": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "Only emails published before this date (yyyy-mm-dd)."
        }
      }
    }
    arguments 84 lines
  • buttondown_get_email auth-required never probed

    One email by id with its full body, subject, status, publish date, slug, archive settings and analytics summary. GET /emails/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "email_id"
      ],
      "properties": {
        "email_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "The object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...)."
        }
      }
    }
    arguments 15 lines
  • buttondown_get_email_analytics auth-required never probed

    Delivery and engagement numbers for one sent email: recipients, deliveries, opens, clicks, failures, unsubscriptions, complaints, replies, page views. GET /emails/{id}/analytics.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "email_id"
      ],
      "properties": {
        "email_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "The object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...)."
        }
      }
    }
    arguments 15 lines
  • buttondown_create_email_draft auth-required never probed

    WRITE: create a DRAFT email (status always "draft"). Nothing is sent or scheduled and no subscriber is e-mailed; to send it, the user must open the draft in Buttondown and send it there. This server has no tool that sends or schedules email. Body is Markdown or HTML. POST /emails.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "subject"
      ],
      "properties": {
        "body": {
          "type": "string",
          "maxLength": 500000,
          "description": "Email body in Markdown (or HTML)."
        },
        "slug": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9_-]{1,100}$",
          "description": "Archive URL slug."
        },
        "image": {
          "type": "string",
          "maxLength": 2000,
          "description": "Preview image URL."
        },
        "subject": {
          "type": "string",
          "maxLength": 2000,
          "minLength": 1,
          "description": "Subject line."
        },
        "description": {
          "type": "string",
          "maxLength": 2000,
          "description": "Short description used for archives and SEO."
        },
        "canonical_url": {
          "type": "string",
          "maxLength": 2000,
          "description": "URL of the original source of the content."
        }
      }
    }
    arguments 40 lines
  • buttondown_update_email_draft auth-required never probed

    WRITE: edit the subject, body, description, slug or preview image of an email that is still a DRAFT (replaces those fields; the previous text is lost unless Buttondown's email history is used). Refuses any email that is not a draft, and never changes status or publish date, so nothing is sent or scheduled. PATCH /emails/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "email_id"
      ],
      "properties": {
        "body": {
          "type": "string",
          "maxLength": 500000,
          "description": "New body in Markdown (or HTML); replaces the whole body."
        },
        "slug": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9_-]{1,100}$"
        },
        "image": {
          "type": "string",
          "maxLength": 2000
        },
        "subject": {
          "type": "string",
          "maxLength": 2000,
          "minLength": 1
        },
        "email_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "The object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...)."
        },
        "description": {
          "type": "string",
          "maxLength": 2000
        },
        "canonical_url": {
          "type": "string",
          "maxLength": 2000
        }
      }
    }
    arguments 41 lines
  • buttondown_list_tags auth-required never probed

    List subscriber tags with name, color, descriptions and whether subscribers can edit them. GET /tags.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 12 lines
  • buttondown_create_tag auth-required never probed

    WRITE: create a subscriber tag (needs a Buttondown plan with tags). An existing tag with the same name is returned as an error and not changed. POST /tags.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "name",
        "color"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Tag name (up to 100 characters)."
        },
        "color": {
          "type": "string",
          "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
          "description": "Hex color, e.g. #FFD700."
        },
        "description": {
          "type": "string",
          "maxLength": 1000,
          "description": "Internal description (only you see it)."
        },
        "public_description": {
          "type": "string",
          "maxLength": 1000,
          "description": "Public description shown in the subscriber portal."
        },
        "subscriber_editable": {
          "type": "boolean",
          "description": "Let subscribers add/remove this tag themselves. Default false."
        }
      }
    }
    arguments 35 lines
  • buttondown_list_surveys auth-required never probed

    List surveys with question, answers, status and response count. GET /surveys.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "status": {
          "enum": [
            "active",
            "inactive"
          ],
          "type": "string",
          "description": "Only surveys with this status."
        }
      }
    }
    arguments 20 lines
  • buttondown_list_survey_responses auth-required never probed

    List survey responses (who answered what), optionally for one survey, email or subscriber. GET /survey_responses.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "email_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Only responses submitted from this email."
        },
        "survey_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Only responses to this survey."
        },
        "created_after": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "A date, yyyy-mm-dd."
        },
        "subscriber_id": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Only responses by this subscriber (id, not e-mail)."
        },
        "created_before": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "A date, yyyy-mm-dd."
        }
      }
    }
    arguments 40 lines
  • buttondown_list_segments auth-required never probed

    List saved subscriber segments with name, description and filters. GET /segments.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 12 lines
  • buttondown_list_forms auth-required never probed

    List sign-up forms with title, slug, status, tags and subscriber counts. GET /forms.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 12 lines
  • buttondown_list_webhooks auth-required never probed

    List configured webhooks with status and subscribed event types. The signing key is never returned and the URL is shown by host only. GET /webhooks.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 12 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 328ded73a5dcb965.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/328ded73a5dcb965/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/328ded73a5dcb965/badge.svg)](https://brick.blue/agent/328ded73a5dcb965?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.

_ also on usefulapi.io 131 entries

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.

123 more sit on this domain. All of them.