seoCAUTION
Open registry and discovery API for AI products, agent tools, and MCP services.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
An open registry and discovery API for AI products, agent tools, and MCP services.
Live index · JSON registry · OpenAPI document · MCP server card
AI Product Index publishes each accepted listing as structured HTML and JSON, then makes the registry available through search, NLWeb, MCP, feeds, sitemaps, and llms.txt. Products can register through a validated GitHub issue workflow; accepted changes are rebuilt, committed, and deployed automatically.
Interpreting discovery and scores
The MCP browser exposes authentication and transport filters; the x402 browser filters published USD-equivalent prices. Result cards show dated failed probes, unknown health and connection guidance. No credentials does not mean free, and an HTTP response does not prove successful authentication or tool execution.
The score measures technical checklist coverage, not AI visibility or referrals. Results separate site information from optional service interfaces and link to the free remedies. Numeric scores, check weights and A–F thresholds are unchanged; only the coverage descriptions and applicability guidance have changed.
What it provides
- A public, machine-readable registry with one canonical page and JSON document per product.
- Ranked search over names, descriptions, tags, categories, and pricing models.
- Natural-language queries through an NLWeb-compatible endpoint.
- A remote MCP server for product discovery, URL scoring, catalog search, and registration guidance.
- A free agent-readability score covering
llms.txt, structured data, crawler policy, discovery manifests, content negotiation, canonical URLs, and HTTPS. - Searchable MCP-server and x402-endpoint catalog snapshots with sampled availability d
adeff66e8211OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add ai-product-index --env CF_ANALYTICS_TOKEN=${CF_ANALYTICS_TOKEN} --env CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN} --env CLUSTLY_API_KEY=${CLUSTLY_API_KEY} --env DASHBOARD_TOKEN=${DASHBOARD_TOKEN} -- npx -y ai-product-index{
"mcpServers": {
"ai-product-index": {
"command": "npx",
"args": [
"-y",
"ai-product-index"
],
"env": {
"CF_ANALYTICS_TOKEN": "${CF_ANALYTICS_TOKEN}",
"CLOUDFLARE_API_TOKEN": "${CLOUDFLARE_API_TOKEN}",
"CLUSTLY_API_KEY": "${CLUSTLY_API_KEY}",
"DASHBOARD_TOKEN": "${DASHBOARD_TOKEN}"
}
}
}
}Exposed tools (5)
5 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
agent_readability_score | read | Score how readable a website is to AI agents: A-F plus which of 13 checks |
get_product | read | Fetch one listing from the AI Product Index by slug, with every published field. |
how_to_register | read | Returns the exact steps and schema for registering a product in the index — autonomous, free, no human approval. |
search_ai_products | read | Search the AI Product Index — a directory of AI products, APIs, agents and |
search_products | read | Search ${base} — a directory of AI products, APIs, agents and MCP servers that register themselves. Returns matching listings with their URLs and machine-readable endpoints. |
Trust audit
CAUTIONgrade C · trust 75/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- found
Findings (25)
crewai_tool.cpython-311.pyc
langchain_tool.cpython-311.pyc
llamaindex_tool.cpython-311.pyc
pay_x402.cpython-311.pyc
console.log(`on chain: name=${JSON.stringify(token.name)} symbol=${JSON.stringify(token.symbol)} decimals=${token.decimals} version=${JSON.stringify(token.version)}`);const token = 'test-operations-token';
.assetsignore
.nojekyll
AGENTS.md
const r = await run(dir, issue(listing({ slug: '../../../etc/passwd' })));'http://169.254.169.254/latest',
assert.equal((await call('?url=http://169.254.169.254/')).status, 400); // cloud metadata'http://127.0.0.1/', 'http://10.0.0.5/', 'http://192.168.1.1/', 'http://169.254.169.254/',
const api = fakeApi({ awaiting_acceptance: [order({ inputs: { url: 'http://192.168.1.1/admin' } })] });method: 'POST', body: JSON.stringify({ url: 'http://127.0.0.1' }),for (const bad of ['http://localhost/x', 'https://192.168.1.1/x', 'file:///etc/passwd', 'not-a-url']) {assert.equal((await call(env, 'https://127.0.0.1/', auth)).status, 400);
'http://127.0.0.1/x',
assert.deepEqual(x402.b64decode(x402.b64encode(payload)), payload);
const required = x402.b64decode(res.response.headers.get('PAYMENT-REQUIRED'));const header = x402.b64decode(res.response.headers.get('PAYMENT-REQUIRED'));const bin = atob(norm.padEnd(Math.ceil(norm.length / 4) * 4, '='));
return JSON.parse(atob(String(value)));
7. **Submit `110kc3/seo` at https://glama.ai/mcp/servers/add** — browser + GitHub OAuth, ~2 minutes. This is now a **blocker on PR #11152**, not an optional channel: the `glama-check` bot requires the
Gates applied: no_behavioural_pass, no_license.
adeff66e8211full audit observations/trust-audit/mcp-server/110kc3__seo.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | adeff66e8211 | CAUTION | C | 75 | first audit |
Questions
What is the seo MCP server?
Open registry and discovery API for AI products, agent tools, and MCP services.
What tools does seo expose?
5 in total: 5 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is seo safe to connect to an agent?
With care. The audit graded it C (75/100) and found 25 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does seo need?
It reads CF_ANALYTICS_TOKEN, CLOUDFLARE_API_TOKEN, CLUSTLY_API_KEY, DASHBOARD_TOKEN, EVM_PRIVATE_KEY and GITHUB_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does seo run?
It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as ai-product-index.
How current is this page?
The grade is for one exact copy of the source (adeff66e8211), read on 2026-10-11. The repository is watched and re-audited when it changes.