_ registry / mcp streamable-http · checked 57m ago

appy

https://mcp.appy.to

Registry code: 6c664bb1511df998

api record

Appy manages smart links: one short URL that opens the app when it is installed, sends people to the right app store when it is not, and falls back to a web page everywhere else.

- A link is identified by its slug (lowercase letters, digits and hyphens); its public address is the url field.

endpoint
https://mcp.appy.to
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 appy live?
Yes — it answered the hub's last check (checked 57m ago). It answered 100% of checks over the last 30 days.
Is appy 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 appy have?
11 tools: create_link, get_top_links, list_domains, get_account, get_account_stats, get_link_stats, delete_link, get_link, ….
Is appy 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
295ms

last good check

priced tools
0

of 11 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 11 tools
11 auth-required 11 of 11 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.

  • create_link auth-required never probed

    Create a smart link. Only fallbackUrl is required; add targets for app stores, countryRules for per-country Android stores, a deeplinkUrl to open the installed app, a socialPreview for how the link looks when shared, and a slug for a readable URL. Returns the new link with its public url.

    mcp-tool

    {
      "type": "object",
      "required": [
        "fallbackUrl"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "custom slug of 5 to 64 lowercase letters, digits or hyphens; omit for a random one"
        },
        "title": {
          "type": "string",
          "description": "name shown in the dashboard, up to 200 characters"
        },
        "targets": {
          "type": "object",
          "description": "store or app page URL per platform; allowed keys: iphone, ipad, android, huawei, samsung (Galaxy Store), xiaomi (GetApps), rustore (RuStore, used for Android visitors in Russia)",
          "additionalProperties": {
            "type": "string"
          }
        },
        "deeplinkUrl": {
          "type": "string",
          "description": "in-app URL that opens the installed app, for example acme://product/42"
        },
        "fallbackUrl": {
          "type": "string",
          "description": "http(s) page for desktop visitors and anyone without a matching target"
        },
        "countryRules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "country",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string",
                "description": "http(s) store or page URL for Android visitors from that country"
              },
              "country": {
                "type": "string",
                "description": "ISO 3166-1 alpha-2 country code of the visitor, for example RU; use GB for the United Kingdom"
              }
            },
            "additionalProperties": false
          },
          "description": "up to 50 rules, one per country, that send Android visitors from that country to their own URL; huawei, samsung and xiaomi targets still win, and a rule for RU wins over the rustore target"
        },
        "socialPreview": {
          "type": "object",
          "required": [
            "title"
          ],
          "properties": {
            "title": {
              "type": "string",
              "description": "headline of the preview card, up to 120 characters"
            },
            "imageUrl": {
              "type": "string",
              "description": "https URL of the preview image, ideally 1200 x 630 pixels"
            },
            "description": {
              "type": "string",
              "description": "line under the headline, up to 300 characters"
            }
          },
          "description": "title, description and image that WhatsApp, iMessage, Slack, X, LinkedIn and other apps show when the link is shared; leave it out to show the destination's own preview",
          "additionalProperties": false
        },
        "parameterForwarding": {
          "type": "boolean",
          "description": "pass the query string of each click on to the destination (Business and Enterprise)"
        }
      },
      "additionalProperties": false
    }
    arguments 80 lines
  • get_top_links auth-required 57m ago

    The account's links ranked by clicks over a date range, best first. Use it to answer which links or campaigns performed best.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "end": {
          "type": "string",
          "description": "last day, YYYY-MM-DD in UTC; default today"
        },
        "limit": {
          "type": "integer",
          "description": "how many links to return, 1 to 100, default 10"
        },
        "start": {
          "type": "string",
          "description": "first day, YYYY-MM-DD in UTC; default 29 days before end"
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
  • list_domains auth-required never probed

    The account's custom domains (for example go.acme.com) with their status (pending, verifying, active, error), the DNS record to add, which domain is the default for link URLs, and how many domains the plan allows (limits.used and limits.max). Business and Enterprise plans.

    mcp-tool

    {
      "type": "object",
      "additionalProperties": false
    }
    arguments 4 lines
  • get_account auth-required 57m ago

    Plan of the account behind the API key, the features it includes (api, mcp, sdk), its link limit (null means unlimited) and how many links it has.

    mcp-tool

    {
      "type": "object",
      "additionalProperties": false
    }
    arguments 4 lines
  • get_account_stats auth-required 57m ago

    Clicks across all of the account's links over a date range, with the same daily series and breakdowns as get_link_stats.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "end": {
          "type": "string",
          "description": "last day, YYYY-MM-DD in UTC; default today"
        },
        "start": {
          "type": "string",
          "description": "first day, YYYY-MM-DD in UTC; default 29 days before end"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • get_link_stats auth-required never probed

    Clicks for one link over a date range: total and unique clicks, clicks per day, and breakdowns by country, operating system, device, browser, referrer and outcome (app store, app opened, fallback page).

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "end": {
          "type": "string",
          "description": "last day, YYYY-MM-DD in UTC; default today"
        },
        "slug": {
          "type": "string",
          "description": "the link slug"
        },
        "start": {
          "type": "string",
          "description": "first day, YYYY-MM-DD in UTC; default 29 days before end"
        }
      },
      "additionalProperties": false
    }
    arguments 21 lines
  • delete_link auth-required never probed

    Delete a link. It stops redirecting immediately, so confirm with the user first.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "the link slug, the last part of the link URL"
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • get_link auth-required never probed

    Read one link by slug: its public url, fallbackUrl, deeplinkUrl, per-platform targets, country rules and settings.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "the link slug, the last part of the link URL"
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • get_link_timeseries auth-required never probed

    Clicks per day for one link over a date range, without the breakdowns. Use it for trends and charts.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "end": {
          "type": "string",
          "description": "last day, YYYY-MM-DD in UTC; default today"
        },
        "slug": {
          "type": "string",
          "description": "the link slug"
        },
        "start": {
          "type": "string",
          "description": "first day, YYYY-MM-DD in UTC; default 29 days before end"
        }
      },
      "additionalProperties": false
    }
    arguments 21 lines
  • list_links auth-required never probed

    List the account's links, newest first, with their destinations and targets. Use search to find a link by slug or title.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "description": "page size from 1 to 100, default 20"
        },
        "offset": {
          "type": "integer",
          "description": "number of links to skip when paging"
        },
        "search": {
          "type": "string",
          "description": "only links whose slug or title contains this text"
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
  • update_link auth-required never probed

    Change an existing link. Only the fields you send change; the slug itself cannot be changed. Returns the updated link.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "slug of the link to change"
        },
        "title": {
          "type": "string",
          "description": "new title; an empty string removes it"
        },
        "targets": {
          "type": "object",
          "description": "targets to change per platform (iphone, ipad, android, huawei, samsung, xiaomi, rustore); an empty string removes that platform, platforms not listed stay as they are",
          "additionalProperties": {
            "type": "string"
          }
        },
        "deeplinkUrl": {
          "type": "string",
          "description": "new in-app URL; an empty string removes it"
        },
        "fallbackUrl": {
          "type": "string",
          "description": "new fallback page"
        },
        "countryRules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "country",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string",
                "description": "http(s) store or page URL for Android visitors from that country"
              },
              "country": {
                "type": "string",
                "description": "ISO 3166-1 alpha-2 country code of the visitor, for example RU; use GB for the United Kingdom"
              }
            },
            "additionalProperties": false
          },
          "description": "the complete new list of country rules; it replaces the current list, an empty list removes every rule, leave it out to keep the rules as they are"
        },
        "socialPreview": {
          "type": "object",
          "required": [
            "title"
          ],
          "properties": {
            "title": {
              "type": "string",
              "description": "headline of the preview card, up to 120 characters"
            },
            "imageUrl": {
              "type": "string",
              "description": "https URL of the preview image, ideally 1200 x 630 pixels"
            },
            "description": {
              "type": "string",
              "description": "line under the headline, up to 300 characters"
            }
          },
          "description": "the complete new social preview; it replaces the current one, an empty title removes the preview, leave it out to keep it; send the current imageUrl back to keep an image uploaded in the dashboard",
          "additionalProperties": false
        },
        "parameterForwarding": {
          "type": "boolean",
          "description": "turn parameter forwarding on or off"
        }
      },
      "additionalProperties": false
    }
    arguments 80 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 6c664bb1511df998.

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