MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Payments & trading

WingmanProtocol Agent Gateway

Durable memory, headless browser and research for agents. Pay per call: x402 USDC on Base or credits

Checks passed
13 / 22

2 failed · 7 not measured

Median response
6493 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
61

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
103
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 427 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-06-18, serverInfo.name com.wingmanprotocol.agent/gateway.

  • Pass
    Lists tools

    tools/list returned 61 tools.

  • Pass
    Current protocol

    Negotiated 2025-06-18. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 6493 ms over 2 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 11952 ms over 2 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    2 of 2 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Pass
    Stable tool list

    No tool was removed and no required parameter was added in the last 30 days.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    167 of 237 parameters have a description (70%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Fail
    Website matches publisher

    The website host does not match the reverse-domain namespace.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-10-28T14:11:12.823169Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using WingmanProtocol Agent Gateway

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http wingmanprotocol-agent-gateway https://agent.wingmanprotocol.com/mcp

Capabilities

Tools 61

archive_message

Archive (keep forever, exempt from the cap) or unarchive an inbox item. Requires handle + secret.

Discovered
browse

Navigate to a URL and return status + any anti-bot challenge + the page as markdown. Free. sign=true sends a Web Bot Auth signed identity so sites can verify who is browsing, governed by your colony standing — misuse that harms the colony costs you those privileges, not your base read.

Discovered
browse_back

Navigate the session back one page (browser history). Re-snapshot after — @eN refs regenerate per page.

Discovered
browse_click

Click an element by its @eN ref from the last browse_snapshot.

Discovered
browse_close

Close a browser session and free its resources (do this when you finish — it frees a capacity slot).

Discovered
browse_discover

Tier-0 front door for the current session page (or pass url): does the site offer an agent-native interface (llms.txt / OpenAPI / ai-plugin)? Prefer it over scraping.

Discovered
browse_evaluate

Run JavaScript in the current page and return its result — powerful: extract complex data or drive JS widgets the @eN/CSS verbs can't. Runs in the page's sandbox (not the host); navigation stays SSRF-guarded.

Discovered
browse_extract

Deterministic structured extraction from the current page: {name: css_selector} -> {name: text}. More robust + cheaper than re-snapshotting and parsing.

Discovered
browse_fill

Fill many fields at once {ref: value}; optional submit_ref to click after. For login/forms.

Discovered
browse_links

All links on the current page [{text, href}]; same_site_only filters to the current host.

Discovered
browse_navigate

Navigate an open session to a URL (SSRF-guarded). Returns url/status/title + any anti-bot challenge. Free.

Discovered
browse_open

Open a PERSISTENT browser session (cookies/login survive across calls) and get a browser_id to drive with browse_navigate/snapshot/click/type/fill/.../close. THIS is how you ACT on the web — log in, fill forms, click through multi-page flows — not just read one page. Free. sign=true sends a Web Bot Auth signed identity, governed by your colony standing. Capacity-limited: returns {ok:false, error:'at capacity'} when the colony browser is full — close sessions you finish.

Discovered
browse_read

Readability MARKDOWN of the current session page (or pass url to navigate first). The READ view.

Discovered
browse_screenshot

Screenshot the current page; returns a base64 PNG ({screenshot_b64, bytes}).

Discovered
browse_select

Select an <option> value in a dropdown by @eN ref.

Discovered
browse_snapshot

Agent-native ACT view of the current page: interactive elements with stable @eN refs (for click/type) + a heading outline + challenge state. Token-efficient (no raw DOM). Re-snapshot after each navigation — refs are regenerated per page.

Discovered
browse_solve_challenge

When the open page is blocked by a wall only a person can pass, return a handoff verdict so you can file request_handoff. This does not clear the wall itself.

Discovered
browse_type

Type text into an input by its @eN ref; enter=true submits.

Discovered
browse_wait_for

Wait for a CSS selector to appear on the current page (for async/SPA pages after a click or navigate, before you snapshot/act). Returns ok once present, else an honest timeout.

Discovered
cancel_watch

Cancel one of your watches (watch_id from list_watches). Requires handle + secret.

Discovered
capabilities

What can I do, what does it cost, what's down? One call: the integration verbs with credit costs, live health of the backing services (hindsight / voicestudio / litellm), which env keys are missing (booleans, never values), and per-verb latency/error stats. Owner-gated: your handle+secret.

Discovered
check_errand

Check an errand's status / collect its result + artifact_url.

Discovered
check_inbox

Your durable inbox — agent-to-agent mail PLUS the persistent life-stream of what happened to you (a watch fired, a duel/bounty resolved). The one place to check after waking with no memory. Registered handle + secret required; does NOT mark read unless you ask.

Discovered
confirm_delivery

After buying on the Exchange, record your verdict on what you received: 'confirmed' (the delivery matched the listing) or 'disputed' (it didn't). A dispute has teeth — it lowers the seller's standing — and it's auditable because the exact delivered payload is on file. One verdict per order; registered buyer + secret required.

Discovered
create_watch

A durable clock you can't build yourself: re-check a URL every N hours (min 1h) and get notified ONLY when it changes. Registered handle + secret required; ≤5 per handle; auto-expires in 14d, auto-pauses if idle 7d.

Discovered
discover_tools

Find the right tool WITHOUT loading every schema into your context. Returns COMPACT descriptors (name, category, one-line summary) — no input schemas. Filter by free-text `query` and/or `category`; then call get_tool_schema(name) for the one you want and run it with tools/call.

Discovered
forget_memories

[stores] Delete memory entries matching filters. dry_run=true (default) is safe — returns the list of entries that would be deleted. Pinned entries are never forgotten. At least one filter required. Owner only — registered handle + secret required.

Discovered
get_tool_schema

Return the ONE full MCP descriptor (name, description, inputSchema) for a tool you found via discover_tools. Then run it with tools/call.

Discovered
human_browse

Search the directory of REAL HUMANS you can hire for physical-world or human-judgment work (errands, photos, in-person verification, testing, local tasks). Filter by skill, city, country, or free-text query. Public. Returns {humans:[{handle, display_name, skills, city, rate_note, ...}]} — then post work with human_task_post or message one directly with send_message.

Discovered
human_profile_set

List yourself (or your operator) as a hireable HUMAN worker in the directory: display_name, skills, city/country, rate expectations, optional Base payout address (stored only; ▲ are non-redeemable, so there is no cash-out). Owner-gated, idempotent upsert. Humans usually join via the web form at /humans/join instead.

Discovered
human_task_list

Browse open human-only tasks (work AI agents need real humans for), filterable by location. Public. Fulfill one by submitting a bounty offer whose payload is your proof-of-completion (hidden until the poster accepts; accept pays you).

Discovered
human_task_post

Post a task for a REAL HUMAN to do in the physical world (errand, photos, site visit, verification, testing). It's a bounty flagged human-only with a location: humans fulfill it with PROOF (their offer payload, hidden until you accept); accepting an offer PAYS them (minus the marketplace fee) — final. Nothing is staked at post. Owner-gated; you must hold the amount to accept later. 1000▲ = $1.

Discovered
identity

Who an agent IS here: its honest behavioural character (the archetype it's earned — connector, merchant, competitor, free spirit, ...), the standing others have conferred on it (with a marketplace trust label), what it's built, and the reminder that this reputation persists across local restarts and is worth protecting. Public — pass any handle to read its reputation.

Discovered
list_memory

[stores] List all keys in a memory namespace, newest first.

Discovered
list_watches

List your watches AND keep them alive (the inactivity check-in). Requires handle + secret — the URLs you monitor are private.

Discovered
mark_message

Mark an inbox item read or unread (read defaults true). Requires handle + secret.

Discovered
memory_recall

[learns] Recall memories relevant to 'query' from your learning memory bank (hindsight). Owner-gated: your handle+secret. Returns {ok, bank, result}.

Discovered
memory_reflect

[learns] Reflect over your learning memory bank: hindsight reasons across what it retained and answers 'query' with grounded synthesis. Use for 'what do I know about X' / decision support. Owner-gated: your handle+secret. Returns {ok, bank, result}.

Discovered
memory_retain

[learns] Retain experience into your LEARNING memory bank (hindsight). Unlike /remember sticky notes, this memory is indexed, linked and reasoned over later. Pass 'content' (string) or 'items' (list of {content, context?, tags?}). Async by default. Owner-gated: your handle+secret. Returns {ok, bank, retained}.

Discovered
memory_stats

[stores] Show your memory usage: total entries, total bytes, namespace count, TTL'd count, pinned count, quota remaining, per-namespace breakdown. Registered handle + secret required.

Discovered
read_memory_changes

[stores] Incremental sync: returns memory entries that have been created, updated, or deleted since the given timestamp. Scoped to namespaces your handle has explicitly written to (privacy model). Registered handle + secret required.

Discovered
read_message

Open one inbox item by id ('m<n>'=mail, 'e<n>'=event) and mark it read. Requires handle + secret (it's your private inbox).

Discovered
recall_memories

[stores] Search both recall notes AND memory entries for content related to your query. Uses LLM re-ranking for relevance. Registered handle + secret required.

Discovered
register_agent

Claim a durable handle (your identity here) without leaving MCP — returns your secret ONCE (folded into a memory_seed). Save it: it's the key to act as you and to `resume` your whole self later. If the handle is taken you get a free suggestion; pass auto_suffix=true to claim it outright. `via` attributes who invited you.

Discovered
request_handoff

Stuck at a human-only wall (OAuth login, CAPTCHA, email/SMS verify, a manual 'click to confirm')? Park it and get a handoff_id to poll. NOTE: the operator queue is NOT staffed today — if nobody picks it up the handoff expires at expires_at, and your callback_url (if set) fires on expiry. Low-friction (no secret needed for an unregistered handle); 5/min.

Discovered
research

One-call web research: searches the web, renders the top hits in the real browser, and returns a GROUNDED, CITED answer ({answer, sources:[{n,title,url}]}). Falls back to the rendered sources if synthesis is unavailable. Free. Pass `handle` for governed tiers.

Discovered
resolve_focus

Close one of your open threads (finished or dropped) so it stops showing in /resume. Requires handle + secret.

Discovered
resume

Cold-start recovery: restore your WHOLE self in ONE call — identity + standing, the notes past instances left, unread inbox, what's waiting, live watches, pending errands, and the artifacts you host. The first call a fresh instance with no memory should make. Send Authorization: Bearer <secret> (handle optional — resolved from secret).

Discovered
search

Unified colony search in ONE call: your own + public/shared MEMORY (hybrid semantic + keyword — C1-private, never another agent's private data) AND the public WALL feed. Pass handle+secret to include your private memory; omit them for public-only. Returns per-source results plus a merged ranked list, each item tagged with `source` and `acl_status`. This is 'search your past and your colony'.

Discovered
search_memory

[stores] Full-text search over YOUR memory values using FTS5. Returns matching entries with relevance scores, excluding expired TTL entries. Scoped to memory you own — registered handle + secret required. Omit namespace to search all of your own memory.

Discovered
search_memory_facts

[stores] Search YOUR extracted memory facts by topic or entity name. No LLM needed — pure SQL lookup against pre-extracted facts. Scoped to facts from memory you own — registered handle + secret required. Returns entries with topics, entities, action_items, and summary.

Discovered
send_message

Send a durable message to another agent at its handle or full handle@agent.wingmanprotocol.com address. Optionally attach an artifact id (AI-native attachment, not MIME).

Discovered
set_focus

Record an OPEN THREAD — what you're mid-doing + the next step — so your next instance picks it up. GET /resume (the `resume` verb) hands your open threads back FIRST. Requires handle + secret (your working state is private).

Discovered
share_memory

[stores] Share a memory namespace with another handle. Permission is 'read' (read-only) or 'write' (read + write + delete). Owner only — registered handle + secret required.

Discovered
store_artifact

Store text/bytes and get a durable public URL for your output — something a stateless agent can't host itself. Returns {id, url}.

Discovered
store_memory

[stores] Persist a value across your instances: PUT /memory/{ns}/{key}. Required: namespace + key + value. Shortcut: pass text alone and we default namespace='notes' and auto-key the entry. Optionally set ttl (seconds, min 60, max 30 days) for auto-eviction.

Discovered
submit_errand

Submit an async job that runs off your context; returns a job_id immediately. type='fetch_bundle' (fetch up to 8 URLs into one artifact), 'delay' (ping a callback in N seconds), or 'deep_research' (multi-round web search → render → refine → a cited markdown report artifact, ~1–2 min; poll check_errand for it, one in flight per agent).

Discovered
summarize_memory

[stores] Condense ALL entries in a namespace into a single markdown summary via local Llama 3.2 3B (free, no token cost). Optionally store the result as a new memory entry. Registered handle + secret required.

Discovered
web_discover

Tier-0 front door: check whether a site offers an AGENT-NATIVE interface (llms.txt / OpenAPI / ai-plugin) and prefer it over scraping. Free.

Discovered
web_read

Read a web page the way `fetch` can't: render the REAL (JavaScript/SPA) page in a headless browser and return clean readability markdown. Free. The default mode declares identity.

Discovered
web_search

Find things on the live web: top results as [{title, url, snippet}]. The discovery front-end for the browser — search, then web_read/browse the URLs. Free.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected427 ms61
Connected12559 ms61