Tool Listing Auditor: Apify Actor & MCP Server SEO Audit
Pricing
from $500.00 / 1,000 listing audits
Tool Listing Auditor: Apify Actor & MCP Server SEO Audit
Audit an Apify Actor or MCP server listing for agent and Store search: metadata lint, simulated search rank for 10 task phrasings (BM25 + local embeddings), concrete rewrite suggestions, and a live MCP health check (initialize, tools/list, auth type). $0.50 per audit.
Pricing
from $500.00 / 1,000 listing audits
Rating
0.0
(0)
Developer
Ventura WorkAlong
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Tool Listing Auditor checks how findable your Apify Actor or MCP server is, for people searching the Apify Store and for AI agents choosing tools. Give it an Actor (username/actor-name), an official MCP Registry name or a remote MCP URL. It returns:
- Metadata lint: title, description, SEO fields, categories, input-schema descriptions/prefills/secrets, dataset and output schemas, README sections, and pricing clarity. For MCP servers it lints the registry entry and every tool from
tools/list: names, descriptions,inputSchemaquality, annotations and context size. - Simulated search rank: for 10 task phrasings generated from your listing (plus your own), where your tool ranks among its real competitors. The ranker combines BM25 with a small local embedding model.
- Concrete rewrite suggestions: deterministic templates, built from your own listing's words.
- Live MCP health check:
initializeandtools/listlatency, protocol version, transport and auth type. No credentials are ever sent.
$0.50 per audit. Targets that can't be audited are free.
What does Tool Listing Auditor do?
Agents and Store users find tools by searching. Apify's Store search leans on the title and description. MCP clients and registries match task phrasings against tool and server descriptions. This Actor measures that:
- Builds a reference corpus. For an Actor, it takes the most popular Store Actors in each of its categories, plus the real Store search results for each phrasing (usually 600–1,300 listings). For an MCP server, it takes every active server in the official MCP Registry (40,000+).
- Generates task phrasings from your listing: half in your own words, half paraphrased with synonyms, because searchers rarely use your exact wording. You can add your own phrasings.
- Ranks your listing for each phrasing with BM25 (title boosted) and the local embedding model potion-base-8M, fused with reciprocal rank fusion. It reports the rank, the listings that beat you, and for Actors your real Apify Store search position.
- Lints the metadata and turns every finding into a concrete suggestion.
How to use Tool Listing Auditor
- Enter one or more targets:
username/actor-name,https://apify.com/username/actor-name, an MCP Registry name likeio.github.owner/server, or a remote MCP URL likehttps://example.com/mcp. - Optional: add the searches you expect your users to make under Your own task phrasings. They are applied to every target, so audit unrelated tools in separate runs.
- Click Start. An audit takes about 10–40 seconds per target.
- Read the Audits table, open the Readable report (Markdown), or download JSON, CSV or Excel. You can also call it from the Apify API or MCP.
Input example
{"targets": ["ventura_workalong/sitemap-url-extractor", "app.workalong/data-tools"],"taskQueries": ["extract all urls from a sitemap"],"numGeneratedQueries": 10,"checkStoreSearch": true,"healthCheck": true}
Output example
One item per target (trimmed; real run on our own MCP Registry entry):
{"type": "audit","target": "app.workalong/data-tools","targetType": "mcp-registry","title": "WorkAlong Data Tools (via Apify)","score": 96,"grade": "A","healthScore": 100,"healthGrade": "A","health": {"transport": "streamable-http","initializeMs": 321,"auth": { "type": "oauth", "discovery": "protected-resource-metadata", "httpStatus": 401 }},"retrieval": {"queries": 14, "medianRank": 118.0, "top10": 3, "corpusSize": 40102, "model": "minishlab/potion-base-8M","results": [{ "query": "convert pdf to markdown", "source": "user", "rank": 419, "bm25Rank": 1029, "embeddingRank": 295,"outrankedBy": [{ "title": "pdf to markdown", "registryName": "..." }] }]},"suggestions": [{ "field": "server.json description", "priority": "medium","why": "The description lists 9 different jobs in 100 characters and the median simulated rank is 127 ...","suggested": "Lead with the one job most users search for and its key nouns, or publish focused entries ..." }]}
After we applied that suggestion, "convert pdf to markdown" moved from rank 419 to 81 and the median rank from 118 to 61.5 (same phrasings, same corpus).
Each item also has issues (id, severity, area, message), keyphrases, scores per area, phraseDemand (how many demand-weighted competitor titles carry each of your phrases), onlyIfAccurate (search terms your listing never mentions) and, for MCP, a per-tool summary.
How is the score calculated?
- Listing score (0–100): each area starts at 100 and loses 25 / 10 / 4 points per high / medium / low issue.
- Actor areas: listing, input schema, README, output, pricing.
- MCP areas: registry entry, tools, schemas.
- Grades: A ≥ 85, B ≥ 70, C ≥ 55, D ≥ 40, F below.
- MCP health (0–100):
- Points for being reachable, a valid
initialize, a workingtools/list, and fast responses. - A server that requires auth is not penalized. If it answers 401 with discoverable OAuth metadata (RFC 9728), it can still get an A.
- Points for being reachable, a valid
- Search metrics: rank per phrasing (1 = best), mean reciprocal rank, median rank, and top-1/3/10 counts.
Pricing
- $0.50 per audit (pay per event
audit-completed). - Targets that can't be audited are not charged: not found, private, an unreachable MCP URL, invalid input, or an internal error.
- Set a maximum charge per run in the run options: allow $0.50 per target plus $0.01 (Apify's tiny Actor-start fee counts too). The run never computes an audit it can't charge; remaining targets are listed as free "not audited" rows.
FAQ
Does it use an LLM?
No. Phrasings, lint and suggestions are deterministic. The only model is a 30 MB static embedding model (potion-base-8M, MIT license) that runs inside the Actor. No paid API is called and your listing is not sent anywhere.
Is the simulated rank my real Apify Store rank?
No. It is a lexical plus semantic retrieval simulation, close to how many MCP clients and tool-search layers match descriptions. Apify's own ranking also uses a quality score: reliability, users, reviews and more. That's why we report the real Store search position next to it for Actors. Use the simulated rank to compare versions of your listing, not as a prediction of traffic.
Will it send my API keys or tokens to MCP servers?
Never. The health check sends only initialize, notifications/initialized and tools/list without credentials or cookies. For servers that need auth, it reports the auth method (OAuth discovery, bearer or API key) and lints the registry entry only.
Can I audit someone else's Actor or MCP server?
Yes, the audit only reads public data: the public Apify API, the official MCP Registry API, and the public MCP endpoint. Use it for competitor research and for your own listings.
Why are the generated phrasings biased toward my listing?
Half of them reuse your own words, so they show whether people who describe your tool the way you do can find it. The paraphrased half and your own phrasings test everything else. For a fair test, add 3–5 real searches.
Limitations
- Actors must be public. Private Actors and Console URLs can't be audited.
- MCP live checks support Streamable HTTP and the legacy HTTP+SSE transport. stdio-only (package) servers get registry and retrieval checks without a live check.
- Remote URLs with template variables (they need user configuration) are not called.
- Internal or private network addresses are refused.
- The MCP Registry corpus is a bundled snapshot plus live updates since the snapshot. Very new servers may be missing for a few minutes.
- Suggestions only reuse words from your own listing or phrasings. Terms that only competitors use are listed under
onlyIfAccurate: add them only if your tool really does that.
Related tools
- Sitemap URL Extractor: every URL from a site's sitemaps.
- Tech Stack Detector: what software a website runs.
- Bulk WHOIS Domain Lookup: RDAP, DNS, SSL and security headers.
- PageSpeed Insights Bulk Checker: Lighthouse and Core Web Vitals.
- PDF to Markdown & Text Extractor: documents to LLM-ready Markdown.
- Free MCP Registry Health Index: live checks of remote MCP servers.
Questions or a wrong result? Open an issue on this Actor or use workalong.app/support.