SEO audit (400 checks), text readability and grammar check, PDF to images, image conversion.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. Free token from https://app-kit.dev/mcp for higher limits, as 'Bearer mcpf_...'.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Статус и результат конвертации по handle из pdf_to_images / images_to_pdf / image_convert. Бесплатно, квоту не тратит. Пока status=running — повторите через poll_after_s секунд. handle действует 1 час и только для того, кто запустил конвертацию.
handle из pdf_to_images / images_to_pdf / image_convert
Статус и результат конвертации по handle из pdf_to_images / images_to_pdf / image_convert. Бесплатно, квоту не тратит. Пока status=running — повторите через poll_after_s секунд. handle действует 1 час и только для того, кто запустил конвертацию.
| Argument | Type | Description |
|---|---|---|
| handle* | string | handle из pdf_to_images / images_to_pdf / image_convert |
{
"type": "object",
"title": "conversion_statusArguments",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"title": "Handle",
"description": "handle из pdf_to_images / images_to_pdf / image_convert"
}
}
}Создать одноразовую ссылку загрузки файла (для клиентов с доступом к локальным файлам: Claude Code, Cursor). Вернёт upload_id, put_url и команду curl: загрузите файл одним PUT (до 20 МБ, за 10 мин), затем передайте upload_id в файловый tool. Один upload_id — один вызов. Файл с публичного адреса передавайте сразу как source_url, без загрузки. Бесплатно: 10 в час анонимно, 30 в час с бесплатным токеном.
| Argument | Type | Description |
|---|---|---|
| size* | integer | Размер файла в байтах |
| filename* | string | Имя файла, например report.pdf |
| content_type | string | MIME-тип, например application/pdf или image/png |
{
"type": "object",
"title": "create_uploadArguments",
"required": [
"filename",
"size"
],
"properties": {
"size": {
"type": "integer",
"title": "Size",
"description": "Размер файла в байтах",
"exclusiveMinimum": 0
},
"filename": {
"type": "string",
"title": "Filename",
"maxLength": 200,
"description": "Имя файла, например report.pdf"
},
"content_type": {
"type": "string",
"title": "Content Type",
"default": "application/octet-stream",
"description": "MIME-тип, например application/pdf или image/png"
}
}
}Сменить формат картинки: target_format png/jpeg/webp/bmp/tiff/gif, quality 1–100, max_dim (уменьшить длинную сторону). Файл до 20 МБ. Для avif и максимального сжатия — image_compress. Вход — ровно один: source_url (публичный URL, шлюз скачает сам), upload_id (create_upload → PUT) или data_base64 (до 512 КБ). Результат — ссылки на скачивание (resource_link, действуют 10 мин; когда скачаны все файлы задания, они удаляются) и превью первой картинки. Если за 60 с не готово — status=running и handle: зовите conversion_status(handle). Бесплатно: 5 в час анонимно, 20 в час с бесплатным токеном (остаток — quota_status).
| Argument | Type | Description |
|---|---|---|
| max_dim | any | Уменьшить длинную сторону до N px |
| quality | integer | Качество 1–100 (jpeg/webp) |
| upload_id | any | upload_id из create_upload (после PUT файла) |
| source_url | any | Публичный URL файла (шлюз скачает сам). Основной путь для Claude.ai |
| data_base64 | any | Файл в base64 — только для маленьких файлов (до 512 КБ) |
| target_format* | string | Целевой формат |
{
"type": "object",
"title": "image_convertArguments",
"required": [
"target_format"
],
"properties": {
"max_dim": {
"anyOf": [
{
"type": "integer",
"maximum": 10000,
"minimum": 16
},
{
"type": "null"
}
],
"title": "Max Dim",
"default": null,
"description": "Уменьшить длинную сторону до N px"
},
"quality": {
"type": "integer",
"title": "Quality",
"default": 90,
"maximum": 100,
"minimum": 1,
"description": "Качество 1–100 (jpeg/webp)"
},
"upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Upload Id",
"default": null,
"description": "upload_id из create_upload (после PUT файла)"
},
"source_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Url",
"default": null,
"description": "Публичный URL файла (шлюз скачает сам). Основной путь для Claude.ai"
},
"data_base64": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Data Base64",
"default": null,
"description": "Файл в base64 — только для маленьких файлов (до 512 КБ)"
},
"target_format": {
"enum": [
"png",
"jpeg",
"webp",
"bmp",
"tiff",
"gif"
],
"type": "string",
"title": "Target Format",
"description": "Целевой формат"
}
}
}Собрать картинки в один PDF (по картинке на страницу), page_size A4/Letter или по размеру картинки. Вход: source_urls[] или upload_ids[] — до 20 файлов, каждый до 20 МБ. Результат — ссылки на скачивание (resource_link, действуют 10 мин; когда скачаны все файлы задания, они удаляются) и превью первой картинки. Если за 60 с не готово — status=running и handle: зовите conversion_status(handle). Бесплатно: 3 в час анонимно, 10 в час с бесплатным токеном (остаток — quota_status).
| Argument | Type | Description |
|---|---|---|
| page_size | any | Размер страницы; не задан — по размеру картинки |
| upload_ids | any | upload_id картинок из create_upload, по порядку |
| source_urls | any | Публичные URL картинок, по порядку страниц |
{
"type": "object",
"title": "images_to_pdfArguments",
"properties": {
"page_size": {
"anyOf": [
{
"enum": [
"A4",
"Letter"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Page Size",
"default": null,
"description": "Размер страницы; не задан — по размеру картинки"
},
"upload_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Upload Ids",
"default": null,
"description": "upload_id картинок из create_upload, по порядку"
},
"source_urls": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Source Urls",
"default": null,
"description": "Публичные URL картинок, по порядку страниц"
}
}
}Конвертировать PDF в картинки (по странице на файл): format png/jpeg/webp, dpi 72–300, first_page/last_page. PDF до 20 МБ и до 20 страниц. Вход — ровно один: source_url (публичный URL, шлюз скачает сам), upload_id (create_upload → PUT) или data_base64 (до 512 КБ). Результат — ссылки на скачивание (resource_link, действуют 10 мин; когда скачаны все файлы задания, они удаляются) и превью первой картинки. Если за 60 с не готово — status=running и handle: зовите conversion_status(handle). Бесплатно: 3 в час анонимно, 10 в час с бесплатным токеном (остаток — quota_status).
| Argument | Type | Description |
|---|---|---|
| dpi | integer | Разрешение 72–300 |
| format | string | Формат страниц |
| last_page | any | Последняя страница |
| upload_id | any | upload_id из create_upload (после PUT файла) |
| first_page | any | Первая страница (с 1) |
| source_url | any | Публичный URL файла (шлюз скачает сам). Основной путь для Claude.ai |
| data_base64 | any | Файл в base64 — только для маленьких файлов (до 512 КБ) |
Показать уровень доступа и остатки бесплатных лимитов по каждому tool. Уровни: L0 — аноним, L1 — бесплатный токен (app-kit.dev/mcp), L3 — ключ App-Kit API. Бесплатно, квоту не тратит.
No arguments.
{
"type": "object",
"title": "quota_statusArguments",
"properties": {}
}Быстрый SEO-аудит сайта (до 10 страниц): оценка 0–100 по группам канона, проваленные проверки, топ-5 потерь. Аудируется корень сайта: путь и параметры URL отбрасываются (https://site.ru/page?x=1 → https://site.ru/). Ждёт результат до 60 с, присылая progress. Если не успел — вернёт status=running и handle: тогда вызовите seo_audit_status(handle) через poll_after_s секунд, пока status=running. Бесплатно: 5 в час анонимно, 10 в час с бесплатным токеном; один домен — до 20 аудитов в сутки (остаток — quota_status).
| Argument | Type | Description |
|---|---|---|
| url* | string | Адрес публичного сайта, например https://example.com (аудируется корень) |
| lang | string | Язык названий проверок |
{
"type": "object",
"title": "seo_audit_fastArguments",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url",
"description": "Адрес публичного сайта, например https://example.com (аудируется корень)"
},
"lang": {
"enum": [
"ru",
"en"
],
"type": "string",
"title": "Lang",
"default": "ru",
"description": "Язык названий проверок"
}
}
}Статус и результат SEO-аудита по handle из seo_audit_fast / seo_audit_full_start. Бесплатно, квоту не тратит. Пока status=running — повторите через poll_after_s секунд. handle действует 60 мин и только для того, кто запустил аудит.
| Argument | Type | Description |
|---|---|---|
| handle* | string | handle из seo_audit_fast / seo_audit_full_start |
{
"type": "object",
"title": "seo_audit_statusArguments",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"title": "Handle",
"description": "handle из seo_audit_fast / seo_audit_full_start"
}
}
}Проверить текст: метрики (вода, спам, тошнота), читаемость, стоп-фразы, грамматика. Вход: text до 20000 символов, lang ru/en. Возвращает passed (обязательные пороги), метрики по слоям, вердикты (blocking=false — рекомендация), top_issues (до 5 главных проблем) и locations — координаты замечаний (offset/length) в присланном тексте. Текст не сохраняется. Бесплатно: 10 в час анонимно, 20 в час с бесплатным токеном (остаток — quota_status).
| Argument | Type | Description |
|---|---|---|
| lang | string | Язык текста |
| text* | string | Текст для проверки, до 20000 символов |
| layers | any | Слои: metrics, readability, phrases, grammar (по умолчанию все) |
{
"type": "object",
"title": "text_checkArguments",
"required": [
"text"
],
"properties": {
"lang": {
"enum": [
"ru",
"en"
],
"type": "string",
"title": "Lang",
"default": "ru",
"description": "Язык текста"
},
"text": {
"type": "string",
"title": "Text",
"description": "Текст для проверки, до 20000 символов"
},
"layers": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"metrics",
"readability",
"phrases",
"grammar"
],
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Layers",
"default": null,
"description": "Слои: metrics, readability, phrases, grammar (по умолчанию все)"
}
}
}{
"type": "object",
"title": "pdf_to_imagesArguments",
"properties": {
"dpi": {
"type": "integer",
"title": "Dpi",
"default": 150,
"maximum": 300,
"minimum": 72,
"description": "Разрешение 72–300"
},
"format": {
"enum": [
"png",
"jpeg",
"webp"
],
"type": "string",
"title": "Format",
"default": "png",
"description": "Формат страниц"
},
"last_page": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
],
"title": "Last Page",
"default": null,
"description": "Последняя страница"
},
"upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Upload Id",
"default": null,
"description": "upload_id из create_upload (после PUT файла)"
},
"first_page": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
],
"title": "First Page",
"default": null,
"description": "Первая страница (с 1)"
},
"source_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Url",
"default": null,
"description": "Публичный URL файла (шлюз скачает сам). Основной путь для Claude.ai"
},
"data_base64": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Data Base64",
"default": null,
"description": "Файл в base64 — только для маленьких файлов (до 512 КБ)"
}
}
}