# BACKLNK

> Free technical SEO, AEO, LLMO and GEO checks for AI agents: check a page, fix it, verify the fix.

- name: com.backlnk/backlnk
- version: 1.0.3
- connection class: R1 (autonomous)
- trust: 100/100
- quality: 81/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.backlnk%2Fbacklnk
- tools: https://api.protogrid.dev/v1/servers/com.backlnk%2Fbacklnk/tools

**An agent can connect on its own if it already holds `backlnk_api_key`.** Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "backlnk": {
      "type": "http",
      "url": "https://backlnk.com/mcp",
      "headers": {
        "Authorization": "Bearer ${backlnk_api_key}"
      }
    }
  }
}
```

Placeholders to fill: `${backlnk_api_key}`.

## Trust

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

## Quality 81/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### 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: 86 (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`: 6 of 6 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: usage (destructiveHint, idempotentHint); run_checks (destructiveHint); get_report (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 1,161 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

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

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 1 of the 7 days needed

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

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

- tools: 6, about 1,161 tokens to load them all
- tool set hash: 6bd098ac81f3a2086f0236f95321989f
- tools last changed: 2026-11-06T14:38:54.480Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.backlnk/backlnk.svg)](https://protogrid.dev/servers/com.backlnk/backlnk)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-06 `ai_crawler_policy` changed (description)
  - before: Builds robots.txt lines that allow or block AI crawlers from Backlnk's reviewed crawler catalog, with what each line does and warnings. Use a preset (block-training: Block AI training, stay in AI search; block-ai: Block AI crawlers, keep search engines; allow-all: Allow every crawler) or decide per purpose and per crawler token.
  - after: Builds robots.txt lines that allow or block AI crawlers from BACKLNK's reviewed crawler catalog, with what each line does and warnings. Use a preset (block-training: Block AI training, stay in AI search; block-ai: Block AI crawlers, keep search engines; allow-all: Allow every crawler) or decide per purpose and per crawler token.
- 2026-11-06 `run_checks` changed (description, inputSchema)
  - before: Runs Backlnk checks on one public URL and waits up to about 40 seconds. Returns, per check, its state, summary, counts and the issues and warnings to fix (most important first, with evidence and a recommendation), plus the audit ids for get_report and verify_fixes. Default checks: meta-tags, page-structure, ai-crawler-access, redirects-headers, entity-schema.
  - after: Runs BACKLNK checks on one public URL and waits up to about 40 seconds. Returns, per check, its state, summary, counts and the issues and warnings to fix (most important first, with evidence and a recommendation), plus the audit ids for get_report and verify_fixes. Default checks: meta-tags, page-structure, ai-crawler-access, redirects-headers, entity-schema.
- 2026-11-06 `list_checks` changed (title, description, annotations)
  - before: Lists every check Backlnk can run (id, what it looks at, its scope and limits). Use the ids with run_checks.
  - after: Lists every check BACKLNK can run (id, what it looks at, its scope and limits). Use the ids with run_checks.

Full history: https://api.protogrid.dev/v1/servers/com.backlnk%2Fbacklnk/changes

## Remotes

- https://backlnk.com/mcp (streamable-http, auth api_key ${backlnk_api_key}, reachable true, uptime30d 1)

## Packages

_none_

## Tools (6)

- `ai_crawler_policy`: Builds robots.txt lines that allow or block AI crawlers from BACKLNK's reviewed crawler catalog, with what each line does and warnings. Use a preset (block-training: Block AI training, stay in AI search; block-ai: Block AI crawlers, keep search engines; allow-all: Allow every crawler) or decide per purpose and per crawler token.
- `get_report`: Returns the compact report of an earlier check: state, summary, counts and findings (detail "actions": issues and warnings only, the default; "all": every finding).
- `list_checks`: Lists every check BACKLNK can run (id, what it looks at, its scope and limits). Use the ids with run_checks.
- `run_checks`: Runs BACKLNK checks on one public URL and waits up to about 40 seconds. Returns, per check, its state, summary, counts and the issues and warnings to fix (most important first, with evidence and a recommendation), plus the audit ids for get_report and verify_fixes. Default checks: meta-tags, page-structure, ai-crawler-access, redirects-headers, entity-schema.
- `usage`: How many checks this API key has used and has left today and this hour.
- `verify_fixes`: After the fixes are deployed: re-runs the same check fresh on the same URL and options, waits up to about 40 seconds and returns the comparison with the original run: fixed, new, still open and not re-checked findings.
