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

overwing

https://overwing.ai

Registry code: 0bbf52ea204d8e20

api record

Overwing checks text before an agent sends or acts on it (evaluate), identifies AI crawlers and agents from a User-Agent string (atlas_lookup; atlas_register_agent adds an agent you operate to that registry), says whether a site is reachable by agents (beacon_ tools: a free check; a key gives the full report), checks a Solana transaction before an agent signs it (preflight_ tools), and clears agent actions on legacy systems (tower_ tools). No key is needed for evaluate, create_account, list_plans, atlas_lookup, atlas_summary, beacon_start, beacon_report, feedback, beacon_sample,…

endpoint
https://overwing.ai/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
10 · newcomer
_ is it live, free and safe measured by this hub
Is overwing live?
Yes — it answered the hub's last check (checked 2h ago). It answered 98% of checks over the last 30 days.
Is overwing free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does overwing have?
41 tools: tower_decide, tower_get_receipt, preflight_payment, get_evaluation, beacon_report, list_rule_sets, create_account, evaluate_batch, ….
Is overwing 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
97.6%

90 days 98.4%· all time 98.4%

latency
208ms

last good check

priced tools
1

of 41 tools

_ answered our checks, 90 days 364 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· HTTP 402: vercel DEPLOYMENT_DISABLED
  • degraded → live
_ what it is for
used for
  • check text before an agent sends it
  • identify an ai crawler from a user agent
  • check if a site is reachable by agents
  • clear an agent action on a legacy system
  • register an agent in a crawler registry
takes → gives
text → data
tools
16 reads9 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts, and USDC settlements on base into the address this listing's priced doors name, read off the chain. Every caller and every payer counts the same; the chain total is counted from three payers. The address stands behind 8 doors on this origin, so the chain figures are the operator's. How it is counted.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

payers on base
2

distinct

settlements
3

last 2026-11-15

received on chain
0.504 USDC

counted from three payers (thin, concentrated)

_ what it can do 41 tools
1 paid5 open8 auth-required 27 never probed 14 of 41 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.

  • evaluate reads 0.002 USDC paid never probed

    Works with no API key: 10 evaluations a day, inputs up to 2,000 characters, and the text is not stored. With a key: 250 a day and up, inputs up to 100,000 characters, and your own rule sets. Score any text (typically an LLM's output) against an Overwing rule set. The text can be in any language; tested in Spanish, Portuguese, French, German, Japanese, Chinese, Korean, Arabic and Hindi. Results come back in English. Returns an aggregate verdict of pass, fail, or review, a recommended_action (block, redact, review, or allow), and per-rule answers with probability, confidence, and the rule's action. Act on recommended_action: block means do not send, redact means remove the flagged content and resend, review means ask a human or a slower model, allow means proceed. Prebuilt sets: 'content-safety' (toxicity, PII, self-harm, sexual content, severity) and 'outbound-message', which also takes a context object (recipient, channel, owns_contact_info) so PII that the recipient already owns is not flagged.

    mcp-tool

    {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "string",
          "maxLength": 100000,
          "minLength": 1,
          "description": "The text to evaluate, in any language"
        },
        "store": {
          "type": "boolean",
          "description": "With a key: false runs the check without keeping the input text or the context (the verdict and metadata are still recorded). Without a key the text is never stored."
        },
        "context": {
          "type": "object",
          "description": "Facts the rules may reference: recipient, channel, whether you own the data, sender, purpose. Sent to the model alongside the text (max 8 KB). Use the 'outbound-message' rule set to have it honoured.",
          "additionalProperties": {}
        },
        "metadata": {
          "type": "object",
          "description": "Opaque data stored with the evaluation and echoed in webhooks (max 8 KB)",
          "additionalProperties": {}
        },
        "rule_set": {
          "type": "string",
          "default": "content-safety",
          "description": "Rule set slug"
        }
      }
    }
    arguments 33 lines
  • list_plans open 15h ago

    Public plan catalog: prices, daily limits, and per-minute burst limits. No API key needed.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • atlas_summary reads open 24h ago

    Public numbers from Overwing Atlas: registry counts by purpose and verification, published browser-agent traffic shares, sector field-scan headlines (e.g. how many OSINT sites carry AI-crawler rules or any agent-payable surface), and the summary of the Agent Consumers report on what agents actually spend. No key needed.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • beacon_sample reads open 24h ago

    A real Overwing Beacon report, free: the check of overwing.ai itself, refreshed daily. Read it to see exactly what a full report holds before starting a check. No key needed.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • preflight_overview open 5h ago

    The reference for Overwing Preflight: every policy field, every reason code a refusal can carry, what a verdict does and does not promise, the price, and the terms of the guarantee. Read it once before the first preflight_check. No key needed.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • preflight_record open 5h ago

    Everything Preflight has said and how it held up: counts of verdicts and misses, every miss with what the chain showed, the latest verdicts, and what the guarantee's reserve holds. Read it before deciding whether to rely on Preflight. No key needed.

    mcp-tool

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

    Recompute every hash and check every signature over a range of this organization's receipts. Reports the first break, if any. Defaults to the whole chain (up to 5,000 links per call). Needs an agent key.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "to": {
          "type": "integer",
          "minimum": 1
        },
        "from": {
          "type": "integer",
          "minimum": 1
        }
      }
    }
    arguments 13 lines
  • get_usage reads auth-required 20h ago

    Daily usage, remaining quota for today, and plan limits. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 90,
          "minimum": 1
        }
      }
    }
    arguments 10 lines
  • atlas_agents reads auth-required 2h ago

    Browse or search Overwing Atlas, the registry of AI crawlers, fetchers and browser agents: name, operator, user-agent tokens, Web Bot Auth key directory, robots.txt behaviour, and (with Atlas Pro or Team) purpose class, verification, evasion flags and traffic shares. Filter by free text, purpose (training, search, browser, coding), operator, or verification. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "description": "Free text over name, operator, user agents, description"
        },
        "limit": {
          "type": "integer",
          "default": 20,
          "maximum": 100,
          "minimum": 1
        },
        "purpose": {
          "type": "string",
          "maxLength": 60,
          "description": "Purpose substring, e.g. training, search, browser, fetcher, coding"
        },
        "operator": {
          "type": "string",
          "maxLength": 100
        },
        "verification": {
          "type": "string",
          "maxLength": 60,
          "description": "e.g. 'Web Bot Auth', 'spoofable', 'Unattributable'"
        }
      }
    }
    arguments 30 lines
  • whoami auth-required 18h ago

    Identify the organization and plan behind the API key on this request, the key's scope, the organization's data settings (store_inputs, retention_days), and whether billing is set up. Needs an organization key.

    mcp-tool

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

    List this organization's Tower agents with scopes, status and last use. Keys are never returned. Needs an organization key.

    mcp-tool

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

    List recent evaluations, newest first, with optional verdict and rule set filters. Use next_cursor to page. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1
        },
        "cursor": {
          "type": "string"
        },
        "verdict": {
          "enum": [
            "pass",
            "fail",
            "review"
          ],
          "type": "string"
        },
        "rule_set": {
          "type": "string"
        }
      }
    }
    arguments 24 lines
  • tower_capabilities reads auth-required 2h ago

    List the operations this agent is allowed to call, each with the JSON Schema its input must match and its compensating operation. Call this first; build inputs from the schema rather than guessing. Needs an agent key.

    mcp-tool

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

    The agents this organization has registered in Overwing Atlas, newest first, each with its status (pending_verification, pending_review, published, rejected) and, while unverified, the value to publish at the domain. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • tower_decide reads unknown 26h ago

    Ask Tower how it would rule on an operation without doing anything: auto (would execute), review (a person must approve), or reject. Returns the score, the reason, and each policy question's answer. No side effects. Needs an agent key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "operation",
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "The operation's input, matching its input_schema from tower_capabilities",
          "additionalProperties": {}
        },
        "operation": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1
        }
      }
    }
    arguments 19 lines
  • tower_get_receipt unknown 26h ago

    Fetch one signed receipt by id or by sequence number: the payload, its hash, the previous link's hash, and the Ed25519 signature. Needs an agent key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "description": "Receipt id or sequence number"
        }
      }
    }
    arguments 14 lines
  • preflight_payment unknown never probed

    Call this with the 402 you were given, before signing an x402 payment. It reads the terms (network, asset, amount, payee, timeout, resource) and answers allow, review or refuse with reasons: the terms against your policy, the payee against x402-list's directory (verified delivery, recorded settlements, buyers, shared payout addresses) and the server's own /.well-known/x402 manifest, and the price against what is recorded for that endpoint. Not a simulation and not a guarantee. Sign only on allow; on review, ask the person you work for. No key needed for a few checks a day.

    mcp-tool

    {
      "type": "object",
      "required": [
        "payment_required"
      ],
      "properties": {
        "policy": {
          "type": "object",
          "description": "Optional: max_per_call_usd (default 0.05), new_payee_max_usd (0.01), allowed_networks, allowed_payees, blocked_payees, allow_testnets, max_price_drift (0.25)."
        },
        "network": {
          "type": "string",
          "maxLength": 80,
          "description": "The CAIP-2 network you would pay on, e.g. eip155:8453. Optional."
        },
        "requested_url": {
          "type": "string",
          "maxLength": 2000,
          "description": "The URL you asked for and got the 402 from."
        },
        "payment_required": {
          "type": "string",
          "maxLength": 20000,
          "minLength": 2,
          "description": "The PAYMENT-REQUIRED header value of the 402 (base64), or its decoded JSON as a string."
        }
      }
    }
    arguments 28 lines
  • get_evaluation reads unknown 5h ago

    Fetch a stored evaluation by id, including the original input and per-rule results. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    }
    arguments 13 lines
  • beacon_report unknown 18h ago

    The report for a check started with beacon_start. The first call runs the check. With an Overwing key on the connection: score (0 to 100), verdict (yes, partly, no), the find / read / use answers, every check with what was found and a fix when it did not pass, and top_fixes ranked by value. With no key, the summary of the same report: score, verdict, the three answers and the first fix (access=summary). Answers 202 while the check is running (ask again in a few seconds). No key needed for the summary.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^bcn_[A-Za-z0-9_-]{16}$",
          "description": "The check id from beacon_start"
        }
      }
    }
    arguments 13 lines
  • list_rule_sets reads unknown never probed

    List the prebuilt and custom rule sets available to this organization. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "include_inactive": {
          "type": "boolean"
        }
      }
    }
    arguments 8 lines
  • create_account changes data unknown never probed

    Create an Overwing account for yourself, with no email: an organization and an API key, returned once. Nothing is sent to anyone. Use it when you have no key and nobody has given you one; do not create a second account if you already have a key (whoami says which account a key belongs to). The key is the account, so store it at once: with no email there is no reset link. It starts at 50 evaluations a day with Beacon summaries; proving a domain (prove_domain, verify_domain) raises that to the normal free limits and full Beacon reports, and makes a lost key recoverable. This server does not keep the key: send it as Authorization: Bearer on the MCP connection for the tools that need one. Tell the person you work for that you made the account and where the key is kept. No key needed.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "org_name": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "A name for the account, e.g. the agent's name"
        },
        "use_for_session": {
          "type": "boolean",
          "description": "Ignored here. The hosted server has no session and never holds a key; it exists so calls written for the npm package still validate."
        }
      }
    }
    arguments 15 lines
  • evaluate_batch reads unknown never probed

    Score up to 50 texts against one rule set in a single call. Each item counts as one evaluation. Returns a summary plus per-item verdicts; items can fail independently. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "items"
      ],
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "input"
            ],
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 128
              },
              "input": {
                "type": "string",
                "maxLength": 100000,
                "minLength": 1
              },
              "context": {
                "type": "object",
                "description": "Per-item context; overrides the batch-level context",
                "additionalProperties": {}
              },
              "metadata": {
                "type": "object",
                "additionalProperties": {}
              }
            }
          },
          "maxItems": 50,
          "minItems": 1
        },
        "store": {
          "type": "boolean",
          "description": "False runs every item without keeping its input text or context"
        },
        "context": {
          "type": "object",
          "description": "Facts the rules may reference: recipient, channel, whether you own the data, sender, purpose. Sent to the model alongside the text (max 8 KB). Use the 'outbound-message' rule set to have it honoured.",
          "additionalProperties": {}
        },
        "rule_set": {
          "type": "string",
          "default": "content-safety"
        }
      }
    }
    arguments 52 lines
  • prove_domain changes data unknown never probed

    Begin proving that your account controls a domain. For an account with no email the domain stands in for one: it raises the limits to the normal free tier, opens full Beacon reports, and lets a lost key be replaced. Returns one value to publish at the domain, as a DNS TXT record or as a file under /.well-known; then call verify_domain. One domain belongs to one account. Calling again for the same domain returns the same value. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "maxLength": 255,
          "minLength": 4,
          "description": "A domain you or your operator controls, e.g. acme.com"
        }
      }
    }
    arguments 14 lines
  • beacon_start changes data unknown never probed

    Overwing Beacon answers one question about a site: is this product reachable by agents? It checks robots.txt rules for AI agents, llms.txt, the sitemap, the MCP server card, hosted MCP endpoint and MCP Registry listing, the A2A agent card, OpenAPI discovery, and how the home page reads to a model, then returns three answers (find, read, use), a score and the fixes worth making. This tool starts a check and returns its id; it is free. Then call beacon_report with the id, which runs the check (about twenty seconds). With an Overwing key on the connection beacon_report returns the full report and the check is saved to that dashboard; with no key it returns the summary: the score, the three answers and the first fix. A key is free (POST /api/v1/signup). An agent with a wallet and no account can instead pay $1 in USDC over x402 and get the full report in one call: GET /api/x402/beacon?url=<site>. Call beacon_sample to see a real report in full. No key needed.

    mcp-tool

    {
      "type": "object",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 500,
          "minLength": 3,
          "description": "The site to check: a domain (example.com) or an https URL. Public sites only."
        }
      }
    }
    arguments 14 lines
  • feedback unknown never probed

    Send one message to the people who run Overwing: a verdict you think was wrong, an error you could not act on, a payment you could not make, a tool that did not do what its description says. Read by a person, not answered automatically; give a contact if you want an answer. No key needed.

    mcp-tool

    {
      "type": "object",
      "required": [
        "message"
      ],
      "properties": {
        "about": {
          "type": "string",
          "maxLength": 300,
          "description": "What it concerns: a tool name, a path, a product. Optional."
        },
        "contact": {
          "type": "string",
          "maxLength": 200,
          "description": "Where an answer can reach you or the person you work for: an email, a URL, an agent name. Optional."
        },
        "message": {
          "type": "string",
          "maxLength": 2000,
          "minLength": 1,
          "description": "What happened and what you expected."
        },
        "evaluation_id": {
          "type": "string",
          "maxLength": 64,
          "description": "The id of the evaluation in question, if any."
        }
      }
    }
    arguments 29 lines
  • tower_submit_action unknown never probed

    Ask Tower to perform an operation on the legacy system. Tower decides: executed (done), pending (a person must approve; poll tower_get_action, do not resubmit), or rejected (do not retry unchanged). Always send an idempotency_key that is stable for this business request, such as the source message id: repeating a key returns the original outcome instead of acting twice. Set dry_run to see the decision without executing. Needs an agent key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "operation",
        "input",
        "idempotency_key"
      ],
      "properties": {
        "input": {
          "type": "object",
          "description": "The operation's input, matching its input_schema from tower_capabilities",
          "additionalProperties": {}
        },
        "dry_run": {
          "type": "boolean"
        },
        "operation": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1
        },
        "idempotency_key": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1,
          "description": "Stable per business request; reuse it on retries"
        }
      }
    }
    arguments 29 lines
  • get_rule_set unknown never probed

    Fetch a rule set with its full rule definitions. Use 'content-safety' as a worked example when writing your own. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1
        }
      }
    }
    arguments 13 lines
  • create_rule_set unknown never probed

    Create a custom rule set with 1 to 25 rules. Each rule is a choice (pick one option), score (position on an ordered scale), or noul (yes/no) question with a fail condition, optional review threshold, weight, and action (block, redact, or review) that callers should take when it fails. Rule instructions may reference `context.*` fields that callers pass with each evaluation. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "name",
        "slug",
        "rules"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 100
        },
        "slug": {
          "type": "string",
          "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
          "maxLength": 100
        },
        "rules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "name",
              "question_type",
              "question_config",
              "fail_condition"
            ],
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 100
              },
              "action": {
                "enum": [
                  "block",
                  "redact",
                  "review"
                ],
                "type": "string",
                "description": "What a caller should do when this rule fails: block (default), redact, or review"
              },
              "weight": {
                "type": "number",
                "maximum": 100,
                "exclusiveMinimum": 0
              },
              "description": {
                "type": "string"
              },
              "question_type": {
                "enum": [
                  "choice",
                  "score",
                  "noul"
                ],
                "type": "string"
              },
              "fail_condition": {
                "type": "object",
                "description": "choice: {failOn: [options]}; noul: {failOn: boolean}; score: {failAbove: levelIndex}",
                "additionalProperties": {}
              },
              "question_config": {
                "type": "object",
                "description": "choice: {options[], instructions}; score: {levels[], instructions}; noul: {question}",
                "additionalProperties": {}
              },
              "review_condition": {
                "type": "object",
                "required": [
                  "confidenceBelow"
                ],
                "properties": {
                  "confidenceBelow": {
                    "type": "number",
                    "maximum": 1,
                    "exclusiveMinimum": 0
                  }
                }
              }
            }
          },
          "maxItems": 25,
          "minItems": 1
        },
        "description": {
          "type": "string"
        }
      }
    }
    arguments 90 lines
  • verify_domain changes data unknown never probed

    Look for the value prove_domain asked for, at the domain. Found: the domain is the account's. Not found: an error saying what was looked for; DNS changes can take a few minutes, and calling again is safe. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • atlas_register_agent unknown never probed

    Add an agent or crawler you operate to the Overwing Atlas registry, free, so a site that looks up its User-Agent learns who runs it. Give the agent's name, the operator (the company or person running it), the operator's domain, and the token the User-Agent carries (the product name, such as AcmeBot). The answer carries one value to publish at that domain, as a DNS TXT record or as a file under /.well-known, to prove control of it; then call atlas_verify_registration. A token may not match, contain, or sit inside one already in the registry. This proves control of the domain, not that any given request is yours: the entry is listed as user-agent only unless key_directory_url is a Web Bot Auth key directory on that domain. Only register agents you or your operator actually run. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "name",
        "operator",
        "domain",
        "tokens"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 80,
          "minLength": 3,
          "description": "The agent's name, e.g. AcmeBot"
        },
        "domain": {
          "type": "string",
          "maxLength": 255,
          "minLength": 4,
          "description": "The operator's domain, e.g. acme.com. Control of it must be proved"
        },
        "tokens": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 60,
            "minLength": 5
          },
          "maxItems": 3,
          "minItems": 1,
          "description": "The product name the User-Agent carries, e.g. [\"AcmeBot\"]"
        },
        "purpose": {
          "enum": [
            "training_crawl",
            "search_index",
            "user_fetch",
            "browser_agent",
            "coding_agent",
            "api_agent",
            "other"
          ],
          "type": "string",
          "default": "other"
        },
        "operator": {
          "type": "string",
          "maxLength": 120,
          "minLength": 2,
          "description": "The company or person that runs the agent"
        },
        "policy_url": {
          "type": "string",
          "maxLength": 500,
          "description": "An https page describing the agent"
        },
        "user_agent": {
          "type": "string",
          "maxLength": 500,
          "description": "The full User-Agent string the agent sends; it must contain a token"
        },
        "description": {
          "type": "string",
          "maxLength": 600
        },
        "key_directory_url": {
          "type": "string",
          "maxLength": 500,
          "description": "A Web Bot Auth key directory on the operator's domain"
        },
        "follows_robots_txt": {
          "type": "boolean"
        }
      }
    }
    arguments 75 lines
  • atlas_verify_registration changes data unknown never probed

    Look for the proof at the operator's domain: the DNS TXT record or the file that atlas_register_agent asked for. Found: the entry is published in the registry, or held for a person when the operator name already belongs to someone. Not found: an error saying what was looked for; DNS changes can take a few minutes, and calling again is safe. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^areg_[A-Za-z0-9_-]{16}$",
          "description": "The registration id from atlas_register_agent"
        }
      }
    }
    arguments 13 lines
  • atlas_withdraw_registration changes data unknown never probed

    Withdraw a registration. A published entry leaves the registry, so lookups stop naming the agent; an unfinished request is abandoned. This cannot be undone: register again to put it back. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^areg_[A-Za-z0-9_-]{16}$",
          "description": "The registration id from atlas_register_agent"
        }
      }
    }
    arguments 13 lines
  • preflight_check unknown never probed

    Call this before signing any Solana transaction. Overwing Preflight simulates the unsigned transaction against the chain as it is now, works out what it would take from the wallet you name (SOL, tokens, and control of its token accounts) and answers allow or refuse against your policy, with every reason. Sign only if decision is "allow". Treat a refusal, an error, or anything else as do not sign. A verdict describes one moment and covers a transaction that lands within about two minutes, so sign and send at once or check again. This tool takes the serialized transaction and a policy; it never needs a private key and must never be given one. One check counts as one evaluation. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "transaction",
        "policy"
      ],
      "properties": {
        "policy": {
          "type": "object",
          "required": [
            "wallet"
          ],
          "properties": {
            "wallet": {
              "type": "string",
              "maxLength": 44,
              "minLength": 32,
              "description": "The public address to protect, in base58. It must sign the transaction. Never a private key."
            },
            "max_sol_out": {
              "type": "number",
              "minimum": 0,
              "description": "The most SOL the transaction may take from the wallet, fees included. 0 allows none."
            },
            "min_token_in": {
              "type": "object",
              "description": "Atomic units that must arrive, by mint address. Use it for a swap's minimum output.",
              "additionalProperties": {
                "type": [
                  "integer",
                  "string"
                ]
              }
            },
            "max_token_out": {
              "type": "object",
              "description": "Atomic units that may leave, by mint address. A mint not listed may not leave at all.",
              "additionalProperties": {
                "type": [
                  "integer",
                  "string"
                ]
              }
            },
            "allow_delegation": {
              "type": "boolean",
              "description": "Whether a spending approval on one of the wallet's token accounts is acceptable. Default false."
            },
            "allowed_programs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 64,
              "minItems": 1,
              "description": "When given, every program the transaction runs, top-level or inner, must be listed."
            },
            "max_sol_out_lamports": {
              "type": [
                "integer",
                "string"
              ],
              "description": "The same limit as a whole number of lamports, as an integer or a string of digits."
            }
          },
          "description": "What the transaction may take from the wallet. Anything the policy does not allow is refused. Give max_sol_out or max_sol_out_lamports, never both.",
          "additionalProperties": false
        },
        "transaction": {
          "type": "string",
          "maxLength": 2000,
          "minLength": 1,
          "description": "The serialized Solana transaction in base64, legacy or v0, signed or unsigned. Signatures are ignored."
        }
      }
    }
    arguments 76 lines
  • preflight_report unknown never probed

    After a transaction that Preflight allowed has landed, report its signature. Preflight reads the landed transaction from the chain and says whether the allow held: not_a_miss, or miss when it took more from the wallet than the policy permitted. The outcome is published. A covered miss is paid to the wallet in the verdict, never to whoever reported it. No key needed.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id",
        "signature"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^pfc_[A-Za-z0-9_-]{16}$",
          "description": "The verdict id from preflight_check"
        },
        "signature": {
          "type": "string",
          "pattern": "^[1-9A-HJ-NP-Za-km-z]{80,90}$",
          "description": "The landed transaction's signature in base58"
        }
      }
    }
    arguments 19 lines
  • tower_load_template changes data unknown never probed

    Set up Overwing Tower for this organization by loading the starter workflow: email purchase order to order entry, with create_order, update_order and cancel_order against a mock IBM i system, and a starter policy. Idempotent. Needs an organization key. Returns a sample input you can submit. Next: tower_create_agent.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • tower_create_agent changes data unknown never probed

    Create a scoped agent identity and its key. Needs an organization key. Scope it to the operations the agent needs (for example create_order) rather than * where you can. The key (ow_agent_...) is returned once, in this result, and this server does not keep it: store it, and send it as the Authorization bearer on a connection used for the agent tools (tower_capabilities, tower_decide, tower_submit_action, tower_get_action, tower_compensate, tower_get_receipt, tower_verify_receipts). Revoke with tower_revoke_agent.

    mcp-tool

    {
      "type": "object",
      "required": [
        "name",
        "scopes"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "A name a person will recognise in the review queue, e.g. order-intake-bot"
        },
        "scopes": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^(\\*|[a-z][a-z0-9_]{0,63})$"
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Operation names this agent may call, or [\"*\"] for all"
        },
        "use_for_session": {
          "type": "boolean",
          "description": "Ignored here. The hosted server has no session and never holds a key; it exists so calls written for the npm package still validate."
        }
      }
    }
    arguments 29 lines
  • tower_revoke_agent changes data unknown never probed

    Revoke an agent. Its key stops working at once and cannot be restored. Needs an organization key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "agent_id"
      ],
      "properties": {
        "agent_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
          "description": "The agent's id (a UUID), from tower_list_agents"
        }
      }
    }
    arguments 13 lines
  • tower_get_action reads unknown 15h ago

    Status and result of an action: pending, approved, executed, failed, compensated, or rejected. Use it to poll an action that is waiting on human review. Needs an agent key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "action_id"
      ],
      "properties": {
        "action_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
          "description": "The action's id (a UUID), from tower_submit_action"
        }
      }
    }
    arguments 13 lines
  • tower_compensate unknown never probed

    Run the compensating operation for an executed action, for example cancel the order that create_order made. Runs once; repeating it returns the first outcome. Needs an agent key.

    mcp-tool

    {
      "type": "object",
      "required": [
        "action_id"
      ],
      "properties": {
        "action_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
          "description": "The executed action's id (a UUID)"
        }
      }
    }
    arguments 13 lines
  • preflight_verdict unknown 29h ago

    The public record of one Preflight verdict: its decision, reason codes, the programs the transaction would run, the transaction's digest, our signature, and every landed transaction reported against it. Never the wallet, the amounts or the transaction. No key needed.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^pfc_[A-Za-z0-9_-]{16}$",
          "description": "The verdict id from preflight_check"
        }
      }
    }
    arguments 13 lines
  • atlas_lookup reads unknown 20h ago

    Say what a User-Agent string claims to be and whether the claim can be trusted, from the Overwing Atlas registry of AI crawlers, fetchers and browser agents. Returns the claimed agent, operator, purpose class, verification method (Web Bot Auth signature, user-agent string only, or unattributable) and a trust note. Works with no API key: 10 lookups a day. With a key, metered per day by Atlas tier: free 100, Pro 10,000, Team 100,000. Use it when deciding whether to serve, block, or pay-gate a request, or to understand who is hitting a site.

    mcp-tool

    {
      "type": "object",
      "required": [
        "user_agent"
      ],
      "properties": {
        "user_agent": {
          "type": "string",
          "maxLength": 2000,
          "minLength": 1,
          "description": "The User-Agent header value to identify"
        }
      }
    }
    arguments 14 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 0bbf52ea204d8e20.

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