# io.github.agentwares/agent-access-index

> Whether an AI agent may fetch a URL, on what terms, and at what price. Free, no key, no signup.

- name: io.github.agentwares/agent-access-index
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 90/100 flags: duplicate-repo
- quality: 95/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.agentwares%2Fagent-access-index
- tools: https://api.protogrid.dev/v1/servers/io.github.agentwares%2Fagent-access-index/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "agent-access-index": {
      "type": "http",
      "url": "https://agentwares-access-index.vercel.app/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-39d-ago -duplicate-repo(7 names)
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 95/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 300000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 3 of 3 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 676 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 6 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 3, about 676 tokens to load them all
- tool set hash: 1049086efef24cd5d76318f21ee924b6
- tools last changed: 2026-10-09T10:34:17.166Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.agentwares/agent-access-index.svg)](https://protogrid.dev/servers/io.github.agentwares/agent-access-index)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-09 `access_list_agents` changed (annotations)
- 2026-10-09 `access_explain_verdicts` changed (annotations)
- 2026-10-09 `access_check_url` changed (annotations)
- 2026-10-07 `access_list_agents` changed (description, annotations)
  - before: Return the AI crawler tokens this index reads robots.txt rules for — only tokens their operators document — plus the widely-written tokens that no operator sends, which make a robots rule unenforceable. Useful when writing or auditing a robots.txt.
  - after: Returns the AI crawler tokens this index reads robots.txt rules for — only tokens their operators document — plus the widely-written tokens that no operator sends, which make a robots rule unenforceable, and the list of verdict names. Useful when writing or auditing a robots.txt.
- 2026-10-07 `access_explain_verdicts` changed (description, annotations)
  - before: Return the five verdicts this index can return, what each one means for an agent that has just been refused, and what the agent's next move is for each. Costs nothing and makes no request; call it once to interpret access_check_url results.
  - after: Returns the five verdicts access_check_url can give, what each one means for an agent that has just been refused, and the next move for each, plus what each confidence level rests on. Free, makes no network request, and returns the same answer every time: it is the key to reading access_check_url results.
- 2026-10-07 `access_check_url` changed (description, inputSchema, annotations)
  - before: Given a URL, say whether an AI agent may fetch it, on what terms, and at what price. Reads robots.txt for a generic agent and for every AI user-agent the operators document, the Content-signal and Content-Usage directives, any RSL licence the origin links, and the live response to an honestly-identified request. Verdicts: `allowed` (it served us), `allowed_if_identified` (the written policy permits this but bot management refused an anonymous request — signing as a named crawler is the documented route), `charged` (there is a price, quoted where the rail will show one), `blocked` (the site disallows the agents that would want this, with nothing to buy), and `unknown` (the origin did not answer, or the URL is not there). Never evades: no CAPTCHA solving, no proxies, no spoofed user-agents. Refusals come back as findings with the evidence attached.
  - after: Says whether an AI agent may fetch a URL, on what terms, and at what price. Reads robots.txt for a generic agent and for every AI user-agent the operators document, the Content-signal and Content-Usage directives, any RSL licence the origin links, and the live response to an honestly-identified request. Verdicts: `allowed` (it served us), `allowed_if_identified` (the written policy permits this but bot management refused an anonymous request — signing as a named crawler is the documented route), `charged` (there is a price, quoted where the rail will show one), `blocked` (the site disallows the agents that would want this, with nothing to buy), and `unknown` (the origin did not answer, or the URL is not there). Never evades: no CAPTCHA solving, no proxies, no spoofed user-agents. Refusals come back as findings with the evidence attached.

Full history: https://api.protogrid.dev/v1/servers/io.github.agentwares%2Fagent-access-index/changes

## Remotes

- https://agentwares-access-index.vercel.app/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (3)

- `access_check_url`: Says whether an AI agent may fetch a URL, on what terms, and at what price.
Reads robots.txt for a generic agent and for every AI user-agent the operators document,
the Content-signal and Content-Usage directives, any RSL licence the origin links, and
the live response to an honestly-identified request.

Verdicts: `allowed` (it served us), `allowed_if_identified` (the written policy permits
this but bot management refused an anonymous request — signing as a named crawler is the
documented route), `charged` (there is a price, quoted where the rail will show one),
`blocked` (the site disallows the agents that would want this, with nothing to buy), and
`unknown` (the origin did not answer, or the URL is not there).

Never evades: no CAPTCHA solving, no proxies, no spoofed user-agents. Refusals come back
as findings with the evidence attached.
- `access_explain_verdicts`: Returns the five verdicts access_check_url can give, what each one means for an agent that has just been refused, and the next move for each, plus what each confidence level rests on. Free, makes no network request, and returns the same answer every time: it is the key to reading access_check_url results.
- `access_list_agents`: Returns the AI crawler tokens this index reads robots.txt rules for — only tokens their operators document — plus the widely-written tokens that no operator sends, which make a robots rule unenforceable, and the list of verdict names. Useful when writing or auditing a robots.txt.
