{"apiVersion":"v1","directorySlug":"contentoai-mcp-fafe4a8c87","title":"Contento","description":"Распознавание рилсов, каруселей и видео в текст, посты конкурентов с цифрами, статистика ваших соцсетей и Контент-завод для вашей нейросети.","pageUrl":"https://www.mcpbundles.com/skills/contentoai-mcp-fafe4a8c87","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.contentoai.app/api/mcp","hostedMcpUrl":null,"toolCount":31,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"app.contentoai/contentoai-mcp-fafe4a8c87","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"search_archive","description":"Поиск по базе распознанного контента (рилзы/карусели/сторис/посты конкурентов).\nquery — слова (любое совпадение); author — фильтр по автору; only_outliers — только\n«залетевшее» (ERV ≥ 2× медианы своей сети+типа). Ранг по ratio (относит. виральность).\nПАГИНАЦИЯ: за вызов максимум 50 строк; чтобы выгрузить ВСЁ — повторяй вызовы с\noffset += limit, пока не придёт пусто (offset=0,50,100,…). Для полного дампа\nодним файлом посоветуй юзеру бот: «Моя база → Скачать по аккаунту» (Excel/MD).\nclient (агентс","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20},"query":{"type":"string","default":""},"author":{"type":"string","default":""},"client":{"type":"string","default":""},"newest":{"type":"boolean","default":false},"offset":{"type":"integer","default":0},"saved_only":{"type":"boolean","default":false},"only_outliers":{"type":"boolean","default":false}}},"logicalName":"search_archive","displayName":"search_archive","title":"search_archive","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"balance","description":"Остаток токенов пользователя (по кошелькам).","inputSchema":{"type":"object","properties":{}},"logicalName":"balance","displayName":"balance","title":"balance","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"search","description":"Поиск по базе (формат для ChatGPT). Возвращает {results:[{id,title,url}]}.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"}}},"logicalName":"search","displayName":"search","title":"search","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"fetch","description":"Получить распознанный текст элемента по id/url (формат для ChatGPT).\nИщет в ОБЕИХ таблицах (saved_items + monitored_posts) через mybase.collect.\nДлинный текст (часовое видео) отдаётся кусками: если в ответе truncated=true —\nвызови снова с offset=next_offset и дочитай до конца. Сохранять в файл/vault —\nтолько все части целиком (сверь с total_chars).","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"offset":{"type":"integer","default":0}}},"logicalName":"fetch","displayName":"fetch","title":"fetch","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"save_analysis","description":"Сохранить разбор конкурента в Contento (новой версией). competitor — id, имя папки или ник;\ntext — разбор в Markdown. Вызывай после того, как сделал разбор по промпту «Разбор конкурента».","inputSchema":{"type":"object","required":["competitor","text"],"properties":{"text":{"type":"string"},"competitor":{"type":"string"}}},"logicalName":"save_analysis","displayName":"save_analysis","title":"save_analysis","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_analysis","description":"Прочитать сохранённый разбор конкурента (version=0 — последний) и список всех версий —\nчтобы сравнить с прошлым разбором или дополнить его.","inputSchema":{"type":"object","required":["competitor"],"properties":{"version":{"type":"integer","default":0},"competitor":{"type":"string"}}},"logicalName":"get_analysis","displayName":"get_analysis","title":"get_analysis","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spending","description":"ЖУРНАЛ СПИСАНИЙ: на что ушли токены (последние операции с суммами) + баланс.\nЭто то, чем закрывается вопрос «за что списалось». Бесплатно, токены не тратит.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20}}},"logicalName":"spending","displayName":"spending","title":"spending","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"my_posts","description":"СВОИ посты пользователя (не конкурентов) за последние days дней с цифрами и заметками-гипотезами.\nИсточники: Instagram и Threads через API Meta (точные цифры: охват, сохранения, досмотр рилзов), свои\nTelegram / YouTube / TikTok — из Парсера. network — instagram | threads | telegram | youtube | tiktok (пусто — все).\nПоля: erv — вовлечённость от просмотров, %; err — от охвата, % (только Instagram); depth — досмотр рилза, %\n(среднее время ÷ длительность); trial — пробный рилз (показан только не под","inputSchema":{"type":"object","properties":{"days":{"type":"integer","default":30},"client":{"type":"string","default":""},"network":{"type":"string","default":""}}},"logicalName":"my_posts","displayName":"my_posts","title":"my_posts","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_post_note","description":"Записать заметку-гипотезу к СВОЕМУ посту (url — ссылка на пост из my_posts). Одна заметка на пост:\nновая заменяет старую, пустой text — стереть. Пиши коротко и проверяемо: что тестируем и по какой цифре\nпоймём («хук-вопрос в первые 2 с — ждём досмотр выше 40%»). Пользователь видит заметку в кабинете.","inputSchema":{"type":"object","required":["url","text"],"properties":{"url":{"type":"string"},"text":{"type":"string"}}},"logicalName":"set_post_note","displayName":"set_post_note","title":"set_post_note","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_competitors","description":"Список конкурентов пользователя: id, имя, папка клиента, соцсети и что из них на\nмониторинге (posts/reels/stories). Зови, чтобы понять состояние перед изменениями.","inputSchema":{"type":"object","properties":{"client":{"type":"string","default":""}}},"logicalName":"list_competitors","displayName":"list_competitors","title":"list_competitors","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_clients","description":"Папки клиентов пользователя (агентства, Про): [{name, competitors}].\nПустой список = папок нет (обычный юзер) → работай со всей базой как обычно.\nЕсли папки ЕСТЬ — уточняй у пользователя, о каком клиенте речь, и передавай\nclient= в list_competitors / search_archive: данные разных клиентов смешивать\nв одном ответе нельзя.","inputSchema":{"type":"object","properties":{}},"logicalName":"list_clients","displayName":"list_clients","title":"list_clients","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_competitors","description":"Добавить конкурентов по ссылкам на профили (Instagram/Telegram/Threads и др.).\nСоздаёт папки БЕЗ сбора данных — это БЕСПЛАТНО. Сбор НЕ запускается: после этого\nуточни у пользователя период и типы контента, затем вызови collect_and_monitor.\nfolder_name: задан — все ссылки в одну папку; пусто — папка на ссылку (имя=ник).","inputSchema":{"type":"object","required":["links"],"properties":{"links":{"type":"array","items":{"type":"string"}},"folder_name":{"type":"string","default":""}}},"logicalName":"add_competitors","displayName":"add_competitors","title":"add_competitors","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"collect","description":"СКАЧАТЬ (собрать + распознать) контент конкурента за `days` дней. ⚠️ ПЛАТНО —\nсписывает токены за сбор и распознавание; ОБЯЗАТЕЛЬНО сначала подтверди стоимость\nс пользователем (см. estimate из add_competitors).","inputSchema":{"type":"object","required":["competitor"],"properties":{"days":{"type":"integer","default":60},"types":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"monitor":{"type":"boolean","default":false},"competitor":{"type":"string"}}},"logicalName":"collect","displayName":"collect","title":"collect","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"recognize","description":"ДОРАСПОЗНАТЬ уже собранные посты конкурента БЕЗ нового скрапа — экономный путь\nдобить тексты. mode='best' — ТОЛЬКО залетевшее (outliers: виральные посты, самое\nценное); mode='all' — всё нераспознанное подряд. limit — потолок постов за вызов\n(умолч. 20, макс 100); повторный вызов продолжает СЛЕДУЮЩУЮ пачку — распознанное\nпропускается автоматически. ⚠️ПЛАТНО по факту распознанного (рилз 8 ток, карусель\n2+1/слайд, пост 3; Telegram/Threads-текст бесплатно). Баланс — см. balance.","inputSchema":{"type":"object","required":["competitor"],"properties":{"mode":{"type":"string","default":"best"},"limit":{"type":"integer","default":20},"competitor":{"type":"string"}}},"logicalName":"recognize","displayName":"recognize","title":"recognize","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"recognize_url","description":"РАСПОЗНАТЬ ПОСТ/ВИДЕО/АУДИО ПО ПРЯМОЙ ССЫЛКЕ — не нужно, чтобы он был в базе.\nInstagram (рилз/карусель/пост) — речь + текст с экрана; YouTube — субтитры/\nтранскрипт; TikTok — мультимодально; Telegram и Threads — текст поста (+ речь,\nесли в посте видео). ТАКЖЕ принимает ссылку\nна ЛЮБОЙ файл видео/аудио (mp4, mov, mp3, m4a, wav) и HLS-плейлист: скринкаст,\nвебинар, запись эфира на своём хостинге — расшифровка речи, цена по минутам. Результат сохраняется в базу пользователя\n(потом доступен через sea","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}},"logicalName":"recognize_url","displayName":"recognize_url","title":"recognize_url","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"remove_competitor","description":"УДАЛИТЬ конкурента НАВСЕГДА: все его профили, весь собранный контент, мониторинг\nи его папку в Obsidian-vault пользователя. ❗️НЕОБРАТИМО — восстановить нельзя, только\nсобрать заново (платно). ОБЯЗАТЕЛЬНО: сначала покажи пользователю, ЧТО именно удалится\n(имя конкурента, его профили), дождись явного «да» и только тогда вызывай с confirm=true.\nБез confirm=true удаление не выполняется.","inputSchema":{"type":"object","required":["competitor"],"properties":{"confirm":{"type":"boolean","default":false},"competitor":{"type":"string"}}},"logicalName":"remove_competitor","displayName":"remove_competitor","title":"remove_competitor","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_monitoring","description":"Изменить, что мониторить у ОДНОГО конкурента (posts/reels/stories/voice), БЕЗ нового\nсбора. voice — Telegram: расшифровывать голосовые/аудио в постах (1 токен/мин записи).\nПустой список types = снять с мониторинга. Бесплатно. Уважает лимит тарифа.\nДля нескольких сразу («поставь всех/10») используй monitor_competitors.","inputSchema":{"type":"object","required":["competitor"],"properties":{"types":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"competitor":{"type":"string"}}},"logicalName":"set_monitoring","displayName":"set_monitoring","title":"set_monitoring","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"monitor_competitors","description":"Поставить НЕСКОЛЬКО конкурентов на регулярный мониторинг разом (только отслеживание\nновых постов, БЕЗ сбора истории — бесплатно). competitors: список id/имён/ников; пусто\nили [\"all\"] = все конкуренты. types из posts/reels/stories/voice (по умолч. posts+reels+\nvoice; voice — расшифровка голосовых в Telegram, 1 ток/мин записи).\nУважает лимит тарифа: включает до лимита, остальных возвращает как пропущенных.","inputSchema":{"type":"object","properties":{"types":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"competitors":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null}}},"logicalName":"monitor_competitors","displayName":"monitor_competitors","title":"monitor_competitors","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_start","description":"КОНТЕНТ-ЗАВОД: старт работы. Вызови в начале любой работы над контентом человека. Отдаёт Генеральную\nинструкцию эксперта (instruction — следуй ей), Карту (навигатор дерева), последние 10 строк Логов,\nдерево документов (пути, статусы) и навыки клуба.\nfactory — название контент-завода, если их у человека несколько (список вернётся, если не передать).","inputSchema":{"type":"object","properties":{"factory":{"type":"string","default":""}}},"logicalName":"kz_start","displayName":"kz_start","title":"kz_start","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_inbox","description":"КОНТЕНТ-ЗАВОД: ответ человека на дело из «Входящих» (inbox из kz_start). kind и id — из inbox.\nref: answer yes — добавить пост в референсы, no — не предлагать больше.\npravki: answer yes — правило верно, no — убрать его из «Моих правок» (note — текст правила).\nlink: answer yes — это та публикация документа; no — вернёт похожие документы (docs); затем answer=pick и\nto=путь выбранного документа, или answer=new — сохранить пост отдельным документом, или answer=skip.\nplan: answer skip — не напоминать","inputSchema":{"type":"object","required":["kind","id","answer"],"properties":{"id":{"type":"string"},"to":{"type":"string","default":""},"kind":{"type":"string"},"note":{"type":"string","default":""},"answer":{"type":"string"},"factory":{"type":"string","default":""}}},"logicalName":"kz_inbox","displayName":"kz_inbox","title":"kz_inbox","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_topics","description":"КОНТЕНТ-ЗАВОД: темы Темника («4. Производство/Темник») — номер строки i, строка line, тема, теги, раздел,\nиспользована ли и куда ушла. review=True — это плановая проверка Темника (отметит дату проверки).\nfactory — название контент-завода, если их несколько (как в kz_start).","inputSchema":{"type":"object","properties":{"review":{"type":"boolean","default":false},"factory":{"type":"string","default":""}}},"logicalName":"kz_topics","displayName":"kz_topics","title":"kz_topics","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_topic_add","description":"КОНТЕНТ-ЗАВОД: добавить тему в Темник строкой «- [ ] [Instagram: карусель, рилс][Telegram: пост] тема».\ntags — по одному на соцсеть: «Соцсеть: формат, формат» (соцсети и форматы — как в «Моём контенте» человека).\nnote — описание и пометки: что показать и рассказать (строки под темой). source — откуда идея, если важно.\nfactory — название контент-завода, если их несколько (как в kz_start).","inputSchema":{"type":"object","required":["text"],"properties":{"note":{"type":"string","default":""},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"text":{"type":"string"},"source":{"type":"string","default":""},"factory":{"type":"string","default":""}}},"logicalName":"kz_topic_add","displayName":"kz_topic_add","title":"kz_topic_add","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_topic_done","description":"КОНТЕНТ-ЗАВОД: отметить тему Темника использованной (i и line — из kz_topics). used — путь поста, в который\nона ушла. done=False — снять отметку.\nfactory — название контент-завода, если их несколько (как в kz_start).","inputSchema":{"type":"object","required":["i","line"],"properties":{"i":{"type":"integer"},"done":{"type":"boolean","default":true},"line":{"type":"string"},"used":{"type":"string","default":""},"factory":{"type":"string","default":""}}},"logicalName":"kz_topic_done","displayName":"kz_topic_done","title":"kz_topic_done","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_read","description":"КОНТЕНТ-ЗАВОД: прочитать документ дерева по пути («1. Контекст эксперта/Профиль ЦА») или по имени,\nкак упоминание («Профиль ЦА»). Длинный текст — частями (truncated + next_offset).\npart — layout (HTML вёрстки) или montage (проект монтажа) вместо текста; какие части есть — в parts ответа.\nversion — номер прошлой версии из kz_history: прочитать её целиком (чтобы вернуть — kz_write этим текстом).\nfactory — название контент-завода, если их несколько (как в kz_start).","inputSchema":{"type":"object","required":["path"],"properties":{"part":{"type":"string","default":"text"},"path":{"type":"string"},"offset":{"type":"integer","default":0},"factory":{"type":"string","default":""},"version":{"type":"integer","default":0}}},"logicalName":"kz_read","displayName":"kz_read","title":"kz_read","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_refs","description":"КОНТЕНТ-ЗАВОД: подбор референсов под пост — вместо чтения всей папки «Референсы». Перед текстом определи\nситуацию поста — какой это ход (кейс клиента, личная история, ошибка и разбор, отработка возражения, инструкция,\nсписок/подборка, сравнение, мнение, новость, раздача лид-магнита, анонс/продажа, вовлечение) + тип первой строки\nи вид (польза, личное, продажа), например «личная история — как застрял на выборе ниши; хук: история с середины».\nformat — формат: «карусель», «рилс», «TG-пост», «Thread","inputSchema":{"type":"object","required":["format"],"properties":{"format":{"type":"string"},"factory":{"type":"string","default":""},"situation":{"type":"string","default":""}}},"logicalName":"kz_refs","displayName":"kz_refs","title":"kz_refs","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_write","description":"КОНТЕНТ-ЗАВОД: создать или изменить документ. path — путь без .md, папки создаются сами\n(«4. Производство/Готовый контент/Карусели/6 ролей вместо SMM»). mode: replace — заменить целиком,\nappend — дописать в конец (для Логов: строка «- дата — что сделано — [[путь]]»). text — markdown с\nYAML-шапкой, если навык её требует. Упоминания [[…]] и свойства шапки (основано_на, гипотеза,\nсделано_из, опубликовано) становятся связями; «использовано» Contento добавит сам из прочитанного в чате.\nПиши в дерево","inputSchema":{"type":"object","required":["path","text"],"properties":{"mode":{"type":"string","default":"replace"},"part":{"type":"string","default":"text"},"path":{"type":"string"},"text":{"type":"string"},"factory":{"type":"string","default":""},"message":{"type":"string","default":""}}},"logicalName":"kz_write","displayName":"kz_write","title":"kz_write","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_history","description":"КОНТЕНТ-ЗАВОД: история правок единицы контента — версии новые сверху: номер, кто (нейросеть / человек в\nкабинете / опубликовано), когда, подпись и что поменялось к предыдущей («было» → «стало»). part — text, layout или\nmontage. Вернуть прошлую версию: kz_read(path, version=номер) → kz_write этим текстом.\nСмотри перед новой работой того же формата: что человек исправлял — не повторяй.","inputSchema":{"type":"object","required":["path"],"properties":{"part":{"type":"string","default":"text"},"path":{"type":"string"},"limit":{"type":"integer","default":5},"factory":{"type":"string","default":""}}},"logicalName":"kz_history","displayName":"kz_history","title":"kz_history","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_skills","description":"КОНТЕНТ-ЗАВОД: список навыков клуба (имя, что делает). Навык берётся через kz_skill(имя).","inputSchema":{"type":"object","properties":{}},"logicalName":"kz_skills","displayName":"kz_skills","title":"kz_skills","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_skill","description":"КОНТЕНТ-ЗАВОД: инструкция навыка клуба целиком (как в плагине Контент-завод Pro) с пояснением, как он\nработает в Contento. Следуй ей по шагам. files — дополнительные файлы навыка: kz_skill_file(имя, файл).","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"offset":{"type":"integer","default":0}}},"logicalName":"kz_skill","displayName":"kz_skill","title":"kz_skill","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_skill_file","description":"КОНТЕНТ-ЗАВОД: дополнительный файл навыка (например references/file-format.md).","inputSchema":{"type":"object","required":["name","file"],"properties":{"file":{"type":"string"},"name":{"type":"string"}}},"logicalName":"kz_skill_file","displayName":"kz_skill_file","title":"kz_skill_file","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"kz_link_published","description":"КОНТЕНТ-ЗАВОД: привязать готовый документ к опубликованному посту. Зови, когда эксперт сказал, что\nопубликовал. url можно не передавать — Contento сам найдёт пост в его аккаунтах за последние 3 дня по\nсовпадению текста. Если подходящих несколько — вернёт кандидатов: уточни у эксперта и вызови снова с url.\nrating, note — оценка поста: перед вызовом один раз спроси «Оцени пост от 1 до 5 — что было не так?» и\nпередай цифру и его слова (не ответил — 0). Это единственный раз, когда просим оценку; в о","inputSchema":{"type":"object","required":["path"],"properties":{"url":{"type":"string","default":""},"note":{"type":"string","default":""},"path":{"type":"string"},"rating":{"type":"integer","default":0},"factory":{"type":"string","default":""}}},"logicalName":"kz_link_published","displayName":"kz_link_published","title":"kz_link_published","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Contento&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuY29udGVudG9haS5hcHAvYXBpL21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Contento%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.contentoai.app%2Fapi%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Contento%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.contentoai.app%2Fapi%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Contento&connectorUrl=https%3A%2F%2Fmcp.contentoai.app%2Fapi%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Contento\" --url \"https://mcp.contentoai.app/api/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/contentoai-mcp-fafe4a8c87","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/contentoai-mcp-fafe4a8c87/tools/{tool}","mcpServerUrl":"https://mcp.contentoai.app/api/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/contentoai-mcp-fafe4a8c87?live=1"}