protogrid

Search / io.github.PugarHuda/kawal

Kawal

R0· no sign-in

Evidence about ERC-8004 agents on BNB Smart Chain, gathered by calling them. No key.

v0.1.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality100strong
Trust77of 100
Uptime, 30 days100%
Latency p50672 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "kawal": {
      "type": "http",
      "url": "https://kawal-three.vercel.app/api/mcp"
    }
  }
}
claude mcp add --transport http kawal https://kawal-three.vercel.app/api/mcp
[mcp_servers.kawal]
url = "https://kawal-three.vercel.app/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "kawal": {
      "type": "remote",
      "url": "https://kawal-three.vercel.app/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "kawal": {
      "type": "http",
      "url": "https://kawal-three.vercel.app/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=kawal&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8va2F3YWwtdGhyZWUudmVyY2VsLmFwcC9hcGkvbWNwIn0%3D"
}
{
  "servers": {
    "kawal": {
      "type": "http",
      "url": "https://kawal-three.vercel.app/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "kawal": {
      "httpUrl": "https://kawal-three.vercel.app/api/mcp"
    }
  }
}
extensions:
  "kawal":
    enabled: true
    name: "kawal"
    type: streamable_http
    uri: "https://kawal-three.vercel.app/api/mcp"
    timeout: 300

Quality 100 / 100strong

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 300000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations9 of 9 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,996 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

9 tools, about 1,996 tokens to load them all · tool set 15f9be5abc53 · checked 2026-10-19 10:20 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 77 / 100

no-repository
provenance45
liveness100
freshness85
hygiene80

+website +reachable +uptime-100% ~updated-49d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://kawal-three.vercel.app/api/mcp streamable-httpnoneyes100%672 ms2026-07-28, 2025-11-25, 2025-06-182026-10-19

Tools (9)

agents_by_ownerread-onlyList the agents one wallet registered on BSC and call each of their declared endpoints now. Nothing on the chain tells an owner their endpoint went dark — the registry keeps listing it — so this is the answer to "is my agent still answering?": what answered, how each failure looks, and every probe Kawal kept. At most 12 agents are dialled, so a large owner sees the first page.
check_paymentread-onlySend the opening request of the x402 protocol — no payment header — and report whether the server actually demands payment. `x402_supported` on the registry is a flag a registration sets about itself; this is the answer to asking. Kawal never settles a payment, so the price is quoted in the server's own words and nothing moves.
compare_agentsread-onlyPut two or three agents side by side and answer the same questions of each — the ones a buyer weighs before handing over a spend cap: can it be hired, does it answer right now, has it kept answering, what does it offer, what does it say it costs, does its domain verify, what is its track record, what is flagged against it, and when it was registered. Each agent is dialled for this call. No combined score: the disagreements are the point.
deep_reportEverything Kawal holds about one agent in a single answer: the live handshake, the full probe history, how the endpoint fails when it fails, whether it really charges, and who wrote its feedback. This one costs money. Kawal measured that 75 of 200 BSC registrations declare x402 support and that none of the reachable ones ever asks to be paid; this is the counter-example. Calling it without payment returns the terms rather than the report. Pay the terms with a plain BNB transfer and call again with `txHash`; the receipt is read on-chain and spent once.
find_agentsread-onlySearch the BSC roster by describing the problem rather than naming a product, and get back agents ranked with Kawal's evidence attached. Duplicate registrations are collapsed: roughly two thirds of the newest registrations are copies of a template, and returning all of them would be returning the same agent many times. With `trending`, the list is instead what 8004scan's visitors looked at most over that window — attention, not evidence — each entry carrying the tier Kawal's own record gives it, which is where the two disagree.
plan_mandateread-onlyTurn a capital amount and a duration into the four scoped sessions Kawal would grant on Altana — one per seat, each with its own contract allowlist, spend cap and expiry — without granting anything. Pure arithmetic over the venue table: the same plan the mandate form shows, and the same refusals, since a plan that would widen authority (an unproven venue, an empty allowlist, caps that overcommit) is refused rather than built.
read_reputationread-onlyReport who wrote an agent's ERC-8004 feedback, not how much of it there is. A sample of 1,200 BSC records came from 53 addresses, one of which wrote 265 of the oldest 600, so a count of records is a count of writes rather than of opinions. Returns how many carry a mark, how many distinct addresses wrote them, and what share came from the busiest one.
uptime_historyread-onlyRead the history Kawal keeps of one agent's endpoint without dialling it: how many times it was called, how many times it answered in the protocol it declared, since when, and the median and worst latency of the answering calls. This is the record the registry does not have. Null when Kawal has never called this endpoint; verify_agent makes the first call.
verify_agentread-onlyCall an agent's declared endpoint right now and report what answered. This is a live handshake made by Kawal, not a reading of the registry: an agent whose registration declares MCP but whose endpoint is gone is reported as not answering. Returns the hireability tier and the evidence behind it, including how many times Kawal has reached this endpoint before.

Schemas: list_tools.

Similar MCP servers

More from io.github.PugarHuda

Official server.json
{
  "name": "io.github.PugarHuda/kawal",
  "title": "Kawal",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://kawal-three.vercel.app/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.0",
  "websiteUrl": "https://kawal-three.vercel.app",
  "description": "Evidence about ERC-8004 agents on BNB Smart Chain, gathered by calling them. No key."
}