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

scopeweb

https://mcp.scopeweb.io

Registry code: 8721656e77ea0af3

api record

Scopeweb: domain intelligence, name selection, and drafts that persist across conversations.

Which tool fits which job:

endpoint
https://mcp.scopeweb.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 scopeweb live?
Yes — it answered the hub's last check (checked 3m ago). It answered 99% of checks over the last 30 days.
Is scopeweb free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does scopeweb have?
21 tools: create_draft, update_draft, verify_ownership, recommend_name, check_live, set_budget, create_project, quote_domain, ….
Is scopeweb 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
98.5%

90 days 99.1%· all time 99.1%

latency
696ms

last good check

priced tools
0

of 21 tools

_ answered our checks, 90 days 335 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • suggest domain names for a concept
  • check domain availability
  • score candidate domain names
  • get domain price quote
  • create a landing page draft
takes → gives
text → text, data
tools
14 reads4 changes data
_ 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 21 tools
1 open9 auth-required 11 never probed 10 of 21 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.

  • fetch reads open 3m ago

    Everything we hold about one domain: whether it is registered, what it costs to claim AND what it renews at, and where each number came from. Pass a domain name as the id, for example "atlas.io".

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "A domain name."
        }
      }
    }
    arguments 12 lines
  • get_finance reads auth-required 3d ago

    The financial readout for one project: the budget, per-domain renewal costs, total known carry, how many domains have unknown renewal costs, and remaining headroom. For questions about what a project costs to hold or how much budget is left. Domains held at another registrar renew at that registrar's prices, which are not visible here, so their cost is reported as unknown with reason foreign_registrar_pricing, never guessed and never zero. A transfer-in price, when shown, is not their renewal price. When partial is true, headroom is an upper bound. Read-only. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "required": [
        "project_id"
      ],
      "properties": {
        "project_id": {
          "type": "string"
        }
      }
    }
    arguments 11 lines
  • kb_search reads auth-required 3d ago

    Semantic search over a small curated corpus: Scopeweb's own documentation and methodology, ICANN policy, and per-registry policy documents. Returns passages with the source, its URL, and what that source may be cited for. For explaining how something works. It is retrieval, not authority: a vector search always returns its nearest neighbour, so a returned passage is not evidence that it answers the question. Per-registry policy fields and current registration status have their own sources, which take precedence over a passage here. Read-only. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "query": {
          "type": "string"
        },
        "top_k": {
          "type": "integer"
        }
      }
    }
    arguments 14 lines
  • show_plans reads auth-required 3d ago

    Shows the available plans with what each includes, plus the caller's current tier and any allowance used. For when the user asks what a tier costs or has reached a limit. Read-only: it displays pricing and cannot start, change or cancel a subscription. Plans change depth, never truth: the registration verdict, its rdap_source and a domain's price are identical on every tier, and the response lists exactly what does not vary.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_draft reads auth-required 3d ago

    Returns a draft's metadata and file list, or a single file's content when path is given. For reading the current text of a draft, including one made in an earlier conversation. Read-only. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "required": [
        "draft_id"
      ],
      "properties": {
        "path": {
          "type": "string",
          "description": "Optional: return this file's content"
        },
        "draft_id": {
          "type": "string"
        }
      }
    }
    arguments 15 lines
  • list_drafts reads auth-required 8h ago

    Lists every draft in the user's Scopeweb portfolio with status, preview URL and timestamps. For when the user asks about existing pages or wants to resume earlier work. Read-only. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • list_projects auth-required 16h ago

    Lists the projects this account owns or operates through an entity, with each project_id and how many domains and drafts each holds, plus a count of verified domains not filed in any project. For when the user refers to a project, or wants a budget or finance readout, and its project_id is not known yet. Read-only. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • list_domains reads auth-required 16h ago

    Lists the user's domain inventory: every domain with a verification challenge issued or completed, with cached liveness, classification, title and expiry. For portfolio, renewal and 'what do I own' questions. Each entry carries scan_age_ms, so a stale verdict reads as stale. Read-only. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • scan_namespace reads auth-required 3d ago

    Classifies an explicit list of up to 25 domains: registered, resolves, serves, parked, classification and liveness for each. For when the user already has specific names rather than a concept. Read-only. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "required": [
        "candidates"
      ],
      "properties": {
        "candidates": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Full domain names, max 25."
        }
      }
    }
    arguments 15 lines
  • audit_domain reads auth-required 3d ago

    Fetches a live domain's observable surface: HTTP status, redirect target, title, meta description, h1 headings and tech hints. For when the user asks what is wrong with a site they own, what is deployed at a domain, or whether it serves anything at all. Read-only. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string"
        }
      }
    }
    arguments 11 lines
  • create_draft changes data unknown never probed

    Stores a draft website in the user's Scopeweb portfolio and returns a persistent draft_id and a live preview_url. For when the user wants a page, site or landing draft for a name and none exists yet. Drafts persist across conversations. Content is screened on every version; a flagged draft is still stored, but its preview serves HTTP 451. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "required": [
        "files"
      ],
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "path",
              "content"
            ],
            "properties": {
              "path": {
                "type": "string"
              },
              "content": {
                "type": "string"
              }
            }
          },
          "description": "Site files. index.html required for a browsable preview."
        },
        "name_hint": {
          "type": "string",
          "description": "Working name for the project"
        },
        "description": {
          "type": "string",
          "description": "One paragraph on what this is"
        }
      }
    }
    arguments 35 lines
  • update_draft changes data unknown never probed

    Writes a new version of an existing draft. Acts as a patch: files you send are written as a new version, files you omit carry forward unchanged, and earlier versions are kept. For when the user wants to change the copy, sections or layout of a draft that already exists. Returns the new version and preview_url. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "required": [
        "draft_id",
        "files"
      ],
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "path",
              "content"
            ],
            "properties": {
              "path": {
                "type": "string"
              },
              "content": {
                "type": "string"
              }
            }
          }
        },
        "draft_id": {
          "type": "string"
        }
      }
    }
    arguments 30 lines
  • verify_ownership changes data unknown never probed

    Proves the user controls a domain with a DNS TXT challenge. action 'start' returns the TXT record to publish; action 'check' looks for it. For when the user says a domain is theirs and the claim matters. A verified domain joins the user's inventory. A failed DNS lookup returns an error, never 'not owned'. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "action": {
          "enum": [
            "start",
            "check"
          ],
          "type": "string",
          "description": "Defaults to 'start'."
        },
        "domain": {
          "type": "string"
        }
      }
    }
    arguments 19 lines
  • recommend_name unknown 8h ago

    Runs the whole naming job on the server and returns one recommended domain with its real price and a confirm_url, plus runners-up. From a concept it generates candidates, grades the unregistered ones on measurable properties with a trademark signal, re-checks the best against the registry live, and prices them in order until one quotes. For when the user wants a name picked rather than a list, for example 'what should we call this?'. The answer shows the count at every step, why the pick won, its trademark signal with the caveat, and any name refused along the way with the reason. The confirm_url is not a purchase: a person opens it and pays on scopeweb.io. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "required": [
        "concept"
      ],
      "properties": {
        "tlds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Endings to search. Defaults to com/io/ai/app/dev/co."
        },
        "concept": {
          "type": "string",
          "description": "What is being named, as a word or short phrase, e.g. 'calm inbox'."
        },
        "project_id": {
          "type": "string",
          "description": "Optional project for budget context on the quote."
        },
        "budget_cents": {
          "type": "number",
          "description": "Optional ceiling that reorders candidates; it never changes a price."
        }
      }
    }
    arguments 27 lines
  • check_live reads unknown 3m ago

    Checks up to 10 domains against the registry in real time (RDAP) and reports whether each is registered right now. For confirming availability just before a recommendation or purchase decision, and for any name an earlier answer marked 'unknown', 'pending' or 'unprobed', which are never registration claims. It answers whether a registration exists, not whether the name can be bought or at what price: reserved and premium names also read as unregistered here. It does not judge whether a name is good, and it does not fetch the site, so it reports 'registered' rather than 'active' or 'dormant'. Read-only. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domains"
      ],
      "properties": {
        "domains": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
    arguments 14 lines
  • set_budget changes data unknown never probed

    Records a monthly or yearly spending ceiling, in cents, for one of the user's projects by project_id. For when the user states a spending limit. It never authorises a purchase and cannot spend money. The response includes the project's current carry and headroom. Headroom is flagged partial when a domain's renewal price is unknown: an unknown renewal is counted as unknown, never as zero, so headroom is then an upper bound. PRICES ARE IDENTICAL FOR ALL BUYERS REGARDLESS OF BUDGET. A budget changes what is recommended and how results are ordered; it never changes what anything costs.

    mcp-tool

    {
      "type": "object",
      "required": [
        "project_id",
        "period",
        "amount_cents"
      ],
      "properties": {
        "period": {
          "enum": [
            "monthly",
            "yearly"
          ],
          "type": "string"
        },
        "project_id": {
          "type": "string"
        },
        "amount_cents": {
          "type": "integer"
        }
      }
    }
    arguments 23 lines
  • create_project unknown never probed

    Creates a named project owned by this account and returns its project_id. For when the user starts something new and wants a budget or its costs tracked. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "What the project is called, e.g. 'Calm inbox app'"
        }
      }
    }
    arguments 12 lines
  • quote_domain reads unknown 3d ago

    Prices a name believed to be unregistered and returns total_cents, renewal_cents, an expiry and a confirm_url. For when the user has chosen a name and wants the real price. It re-runs the registry check first: a registered name, or one whose status cannot be confirmed, is not quoted. Premium names are quoted at their real price or refused, never at the base rate. An expired quote is re-quoted, never honoured. The confirm_url is not a purchase: it opens a page where a person types the domain to authorise the charge, and no tool in this server completes an order. Cannot spend money. PRICES ARE IDENTICAL FOR ALL BUYERS REGARDLESS OF BUDGET: passing a project_id adds budget context (does it fit, what is left after) and never changes the number.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "The name to price, e.g. 'stoff.fit'."
        },
        "project_id": {
          "type": "string",
          "description": "Optional. Adds budget CONTEXT to the answer (does it fit, what is left after). It never changes the price."
        }
      }
    }
    arguments 16 lines
  • suggest_names reads unknown 16h ago

    Generates candidate names across a namespace from a concept (a word or short phrase) and classifies each by what the registry says: unregistered, registered, pending or unprobed. For when the user is choosing or inventing a name and wants options to look at. Pending and unprobed are never registration claims. Returns a scan_id; passing it back walks deeper into the same namespace, converging over about 3 calls. Read-only. Cannot spend money. Unregistered does not mean purchasable: reserved and premium names answer the registry the same way. Only a registrar quote settles a price. PRICES ARE IDENTICAL FOR ALL BUYERS REGARDLESS OF BUDGET. A budget changes which candidates are recommended and how they are ordered; it never changes what anything costs.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "tlds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Defaults to com/io/ai/app/dev/co."
        },
        "limit": {
          "type": "number",
          "description": "Candidates per page, max 50 (default 25)"
        },
        "query": {
          "type": "string",
          "description": "A word, name or idea, e.g. 'stowed'"
        },
        "offset": {
          "type": "number",
          "description": "Walk deeper into the expansion"
        },
        "scan_id": {
          "type": "string",
          "description": "Resume a previous browse; replaces query/tlds"
        }
      }
    }
    arguments 28 lines
  • score_name reads unknown 8h ago

    Grades candidate names on measurable properties of the string: length, syllables, pronounceability (the radio test), presence in a published English word list, edit distance to major brands, hyphens and digits, and TLD perception. For when the user is choosing between names or asks whether one is any good. It does not check availability. Every component returns its score, weight and basis so the number can be audited; severe properties cap the total instead of being averaged away. Not a search-ranking prediction, and brand_collision is string similarity, not legal clearance. Each of the top 5 results carries a trademark field: close live US and EU registrations and applications, with office, classes, owner and a required caveat. It is a signal, never a clearance, and measured: false means nothing was searched. Components that cannot be measured are returned as unavailable with reasons, never estimated. Read-only. Cannot spend money.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "domain": {
          "type": "string",
          "description": "A single domain, e.g. 'forge.com'"
        },
        "domains": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Up to 10 domains; returned ranked best-first"
        }
      }
    }
    arguments 16 lines
  • search reads unknown 3m ago

    Find domain names for an idea. Returns candidate names across every ending, each with the state we can defend: sellable, restricted, not ours to sell, taken, or not checked. Pass the concept, not a domain.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "query": {
          "type": "string",
          "description": "A word or an idea, for example \"calm inbox\"."
        }
      }
    }
    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 8721656e77ea0af3.

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