App-Kit MCP

Remote MCP server for SEO audits, text readability and grammar checks, image conversion
(PNG/JPEG/WebP) and PDF to images - for Claude, Cursor, VS Code, Windsurf and any other MCP client.
Free tier with daily limits, no sign-up.
https://mcp.app-kit.dev/mcp
Русская версия | Tools reference | app-kit.dev
This repository holds the public documentation, client configs and registry metadata. The server
itself is a hosted service operated by App-Kit; there is nothing to install.
What it does
- SEO audit of a website - score 0-100 by group, failed checks and the five biggest losses.
The engine runs 400 checks (technical SEO, performance, structured data, AI-readiness and more);
the fast mode covers up to 10 pages in about a minute.
- Text check - readability, "water" and keyword stuffing metrics, stop phrases and grammar
(LanguageTool) for Russian and English, up to 20 000 characters. Returns positions of issues,
not copies of your text.
- PDF and images - PDF pages to PNG/JPEG/WebP, images to PDF, format conversion
(WebP/AVIF compression is coming soon). Files are passed by URL or via a one-time upload link, never as huge
base64 strings in the chat.
Quick start
Works anonymously out of the box. For higher limits, get a free token on
app-kit.dev/mcp (one click, no email) and pass it either as a header
Authorization: Bearer mcpf_... or in the URL: https://mcp.app-kit.dev/mcp/t/mcpf_....
Claude Code
claude mcp add --transport http app-kit https://mcp.app-kit.dev/mcp
claude mcp add --transport http app-kit https://mcp.app-kit.dev/mcp \
--header "Authorization: Bearer mcpf_your_token"
Add --scope user to make it available in every project. See examples/claude-code.sh.
Claude.ai and Claude Desktop
Customize > Connectors > + > Add custom connector. Name: App-Kit, Remote MCP server URL:
https://mcp.app-kit.dev/mcp/t/mcpf_your_token (the token in the URL is recommended: requests from
claude.ai share Anthropic's IP addresses, so anonymous limits there are a small shared pool).
Authentication: no sign-in. Free Claude plans allow one custom connector. Details:
examples/claude-desktop/claude.ai.md.
Cursor
.cursor/mcp.json in the project or ~/.cursor/mcp.json globally (example):
{
"mcpServers": {
"app-kit": {
"url": "https://mcp.app-kit.dev/mcp",
"headers": { "Authorization": "Bearer mcpf_your_token" }
}
}
}
VS Code (GitHub Copilot agent mode)
.vscode/mcp.json (example); VS Code asks for the token once and stores it securely:
{
"inputs": [
{ "type": "promptString", "id": "app-kit-token", "description": "App-Kit MCP free token (mcpf_...)", "password": true }
],
"servers": {
"app-kit": {
"type": "http",
"url": "https://mcp.app-kit.dev/mcp",
"headers": { "Authorization": "Bearer ${input:app-kit-token}" }
}
}
}
Windsurf (Devin Desktop)
Open the MCP config from the Cascade MCP settings (mcp_config.json) and add a server with
serverUrl. ${env:VAR} is expanded in headers:
{
"mcpServers": {
"app-kit": {
"serverUrl": "https://mcp.app-kit.dev/mcp",
"headers": { "Authorization": "Bearer ${env:APPKIT_MCP_TOKEN}" }
}
}
}
Other clients
Any client that supports remote MCP over Streamable HTTP: URL https://mcp.app-kit.dev/mcp,
optional header Authorization: Bearer mcpf_.... Clients that cannot set headers can use
https://mcp.app-kit.dev/mcp/t/mcpf_....
Full descriptions and JSON Schemas: docs/tools.md (generated from the live tools/list).
| Tool | What it does | Example prompt |
|---|
seo_audit_fast | Fast SEO audit of a site root (up to 10 pages): score, failed checks, top-5 losses. Waits up to 60 s, then returns a handle | "Run an SEO audit of example.com and tell me what to fix first" |
seo_audit_status | Status and result of an audit by handle | (called by the model automatically) |
text_check | Readability, water/spam metrics, stop phrases, grammar; lang ru/en, up to 20 000 chars | "Check this landing page copy for readability and grammar: ..." |
quota_status | Your access level and remaining free calls per tool | "How many free App-Kit checks do I have left today?" |
image_convert | Convert between PNG, JPEG, WebP, BMP, TIFF, GIF | "Convert this logo to PNG: https://example.com/logo.webp" |
pdf_to_images | Render PDF pages (up to 20) to PNG/JPEG/WebP | "Turn pages 1-3 of https://example.com/deck.pdf into PNG at 150 dpi" |
images_to_pdf | Merge up to 20 images into one PDF | "Make a PDF from these 3 screenshots: ..." |
conversion_status | Status and result of a long conversion by handle | (called by the model automatically) |
create_upload | One-time upload URL for a local file (agents with a shell) | "Convert ./scan.pdf to PNG pages" |
image_compress (coming soon) | Compress to WebP/AVIF with quality and resize options | "Compress https://example.com/hero.png to AVIF" |
All tools are read-only: nothing is published or changed on your side. Results that are files come
back as short-lived download links (10 minutes) plus a small preview.
Limits
| Tool | Anonymous | Free token | Notes |
|---|
text_check | 10 / hour | 20 / hour | |
seo_audit_fast | 5 / hour | 10 / hour | one domain: up to 20 audits per day from all users |
seo_audit_status, conversion_status, quota_status | free | free | do not spend quota |
image_convert | 5 / hour | 20 / hour | |
pdf_to_images, images_to_pdf | 3 / hour | 10 / hour | up to 20 pages / files, 20 MB |
create_upload | 10 / hour | 30 / hour | up to 20 MB, link valid 10 min |
Every response includes quota (remaining, reset_at, tier, upgrade_url). The free tier
also has a shared daily budget per tool; when it runs out, the tool says so and resets at 00:00 UTC.
Limits may be tuned without notice; the current values are always in the tool descriptions and
quota_status.
Pricing
The free tier above stays free. Higher limits, full multi-page SEO audits with PDF reports and
larger files are part of the paid App-Kit API and are billed in App-Kit credits - see
app-kit.dev.
Privacy
- Processing happens in Germany (EU).
- Text you send to
text_check is not stored; only metrics are returned.
- Files are kept only while being processed and deleted within 15 minutes; download links expire in 10 minutes.
- IP addresses are used only for anonymous rate limits, as a salted hash kept for at most 24 hours.
- Usage logs contain the tool name, timing and status - no IP addresses, texts, file contents or full URLs.
- Page content from audited sites is never returned verbatim: only scores, check codes and short,
clipped fields marked as page data.
Full policy: app-kit.dev/mcp.
FAQ
Do I need an account? No. Anonymous use works; a free token (no email) raises the limits.
Why do anonymous calls from claude.ai run out quickly? claude.ai connects from Anthropic's
shared IP range, so all anonymous claude.ai users share one small pool. Use a token in the URL.
Can it audit my staging site? Only publicly reachable sites. Private networks, localhost and
non-standard ports are blocked.
Which MCP protocol versions are supported? Streamable HTTP, stateless: current MCP revisions and
clients on 2025-11-25. No stdio package is needed.
A long audit returned status: running. What now? The model calls seo_audit_status with the
handle after poll_after_s seconds. The handle works only for the caller and expires in 60 minutes.
Is the server open source? The server is a hosted service. This repository (docs, examples,
registry metadata) is MIT-licensed.
Where do I report a bug or a security issue? Bugs and ideas: issues.
Security: see SECURITY.md.
Links