API ВЕГА

Arcmira: поиск по расшифровкам YouTube

Дайте своему ИИ возможность находить, кто и что сказал, с указанием временных меток, выяснять, какие темы обсуждают в видео и трансляциях, а также отличать органические рекомендации от рекламных интеграций.

Arcmira · Документация API · Схема OpenAPI · Настройка MCP

Подключите свой ИИ

Скопируйте эту команду в своего агента для программирования:

Fetch and execute the appropriate instructions to set me up for Arcmira from https://arcmira.com/agent-setup/prompt.md

Для Claude, ChatGPT, Cursor и других MCP-клиентов используйте https://mcp.arcmira.com/mcp и войдите в Arcmira. Настройка для разных хостов · Документация · Сайт · Плагин и навыки

Попробуйте запросы: «Какие бренды спонсируют и TBPN, и All-In Podcast?» или «Найди, что Сэм Альтман говорил об ИИ-агентах, со ссылками на фрагменты с временными метками».

Результаты охватывают видео, добавленные в индекс. Определение говорящих и классификация упоминаний как спонсорских или органических могут быть неполными или ошибочными — проверяйте информацию по ссылкам на источники. Действуют ограничения тарифного плана.

Оставить отзыв о плагине · Обновить установленные навыки

Подключение

Есть два способа подключения. Хосты, поддерживающие спецификацию авторизации MCP, позволяют войти в систему; остальные передают ключ.

Войдите через хост. Добавьте https://mcp.arcmira.com/mcp, не указывая ключ. Сервер отвечает кодом 401 и запросом OAuth-авторизации. Хост регистрируется на api.arcmira.com, открывает arcmira.com для входа и предоставления согласия, а затем подключается с токеном, содержащим разрешённые вами права. Токены обновляются автоматически. Отозвать доступ хоста можно в разделе Settings, Connected apps.

claude mcp add --transport http --scope user arcmira https://mcp.arcmira.com/mcp
codex mcp add arcmira --url https://mcp.arcmira.com/mcp

В Claude Desktop, claude.ai, ChatGPT и Cursor добавьте URL как пользовательский коннектор или MCP-сервер без заголовков и следуйте инструкциям для входа. Инструкции для отдельных хостов доступны по адресу https://arcmira.com/agent-setup.

Передайте ключ. Клиенты, не поддерживающие вход через хост, вместо этого передают bearer-токен, и сервер пропускает OAuth.

Ключ аккаунта (arc_sk_...) можно получить на https://arcmira.com. Результаты каждого инструмента зависят от тарифа и разрешений. Если у вас нет аккаунта и доступа к браузеру, зарегистрируйтесь через API. Сначала отправьте адрес электронной почты, затем верните шестизначный код из письма.

curl -X POST "https://api.arcmira.com/v1/signups?src=mcp-tool" \
  -H 'Content-Type: application/json' \
  -d '{"email":"agent@example.com"}'

curl -X POST "https://api.arcmira.com/v1/signups/verify" \
  -H 'Content-Type: application/json' \
  -d '{"email":"agent@example.com","code":"482913"}'
claude mcp add --transport http --scope user arcmira https://mcp.arcmira.com/mcp --header "Authorization: Bearer $ARCMIRA_API_KEY"
{
  "mcpServers": {
    "arcmira": {
      "url": "https://mcp.arcmira.com/mcp",
      "headers": { "Authorization": "Bearer arc_sk_..." }
    }
  }
}

В теле ответа 401 вызов регистрации находится в error.data.unlock.action. Благодаря этому агент, который не может выполнить вход, сможет создать аккаунт и подключиться повторно. Для обнаружения параметров OAuth используйте https://mcp.arcmira.com/.well-known/oauth-protected-resource: этот адрес указывает сервер авторизации. Адрес https://api.arcmira.com/.well-known/oauth-authorization-server содержит список его конечных точек.

ИнструментВходные данныеЧто возвращает
arcmira_describetopic?Справочник по клиенту arcmira: правила для идентификаторов, ответы на вопросы с помощью каждого метода, аргументы и возвращаемые поля всех методов, девять разобранных примеров программ, особенности, из-за которых можно не получить ответ, правила расходования бюджета и работы мониторов, коды ошибок и ссылки на документацию. Объём — около 24 000 символов; параметр topic ограничивает справочник одним методом и примерами к нему. Не расходует средства.
arcmira_execute_readcodeВывод программы и возвращаемое значение. Код — тело асинхронной функции, в которой доступны arcmira и ArcmiraError. Инструмент выполняет чтение, в том числе транскриптов Premium, и обращается к мониторам пользователя. Ограничения: 30 секунд, 40 вызовов API и не более 12 000 символов вывода суммарно, 3 000 на строку и 100 элементов в массиве.
arcmira_execute_writecodeВозвращает то же, что и arcmira_execute_read, а также позволяет изменять данные аккаунта: arcmira.monitors.create, arcmira.monitors.update (включая paused), arcmira.monitors.addEntities, arcmira.monitors.addName и arcmira.monitors.attachTrackers. Ничего не удаляет.
arcmira_feedbackcategory, note, request_id?, call_id?Отправляет один запрос POST /v1/feedback типа experience. Для category допустимы значения wrong_entity, bad_data, missing, slow, confusing или other; в note укажите, что произошло. Возвращает идентификатор отзыва.

Для каждого инструмента также можно указать необязательный параметр intent длиной не более 300 символов — краткое описание запроса пользователя. Если хост его не передаёт, это ничего не меняет. См. раздел What we log.

Только arcmira_describe помечен как доступный только для чтения. Оба программных инструмента могут запускать транскрибирование Premium, которое расходует кредиты из плана, а затем бюджет по факту использования, поэтому ни один из них не является доступным только для чтения. Изменять данные может только arcmira_execute_write: он способен перезаписывать настройки мониторов и приостанавливать их. Чтение Premium только добавляет данные. Оба инструмента могут запрашивать любые общедоступные видео и имеют аннотации открытого мира. Отправка отзыва добавляет запись, не изменяя существующие данные. Эти метки описывают возможные эффекты; название execute_read указывает на уровень доступа клиента, а не гарантирует отсутствие побочных эффектов.

Платные чтения сначала расходуют кредиты из плана, а затем бюджет по факту использования, заданный на панели управления. Этот бюджет и является разрешением на расходование средств, поэтому агент никогда не запрашивает сумму в центах. Если план или бюджет блокирует чтение (spend_limit_exceeded, quota_exceeded или ограничение плана), агент сообщает пользователю, что нужно увеличить бюджет по факту использования на странице https://arcmira.com/dashboard/spending или перейти на другой план на странице https://arcmira.com/pricing, и добавляет ссылку unlock.url из ответа с отказом.

Транскрипт Premium — это одно чтение через arcmira_execute_read:

const t = await arcmira.transcript("cdLeJU_1UH8", { quality: "premium" });
return t.state === "ready" ? t.lines : { state: t.state, eta_seconds: t.eta_seconds, note: t.note };

Если для видео ещё нет транскрипта, запрос GET /v1/transcripts/{video_id}?quality=premium запускает его создание, расходуя кредиты из плана, а затем бюджет по факту использования. В ответ возвращается 202 с заданием и заголовком Retry-After. Клиент повторяет чтение по истечении Retry-After, пока не пройдут 22 секунды с начала программы; это общее время ожидания для всех чтений Premium в одной программе. Повторное чтение не расходует кредиты дважды. Если по истечении этого времени статус всё ещё pending, результат содержит eta_seconds, а повторное чтение в следующей программе вернёт строки транскрипта. Если транскрибирование завершилось ошибкой, возвращается state со значением failed или refunded и причиной. Новая попытка не запускается, если не передан параметр retry: true; агент отправляет его только по просьбе пользователя. Если план не поддерживает Premium, возникает ошибка paid_plan_required. Если чтение блокирует бюджет, возникает ошибка spend_limit_exceeded или quota_exceeded, а расчёт стоимости передаётся в поле quote ошибки. Транскрипт Premium использует кредиты для всего видео: 75 строк на каждые 15 минут и четыре кредита за строку. Параметры start и end не уменьшают стоимость. Метод arcmira.quote(video) бесплатно показывает количество кредитов.

Результаты, которые пусты, содержат ошибку или усечены, а также ответы resolve со значением ask завершаются отдельной строкой feedback с указанием вызова: If this was wrong, slow, or missing for the user, send one arcmira_feedback with call_id mcpc_....

Методы клиента соответствуют командам CLI arcmira: у них одинаковые названия, а флаги передаются как параметры. Так MCP, CLI и SDK используют единый набор терминов:

МетодВызываетИспользуйте для
arcmira.resolve(q, { type?, context?, limit? })GET /v1/entities/resolveПреобразования имени, @handle, URL или идентификатора UC в один из трёх ответов: best, suggested (с reason и evidence) или ask с вариантами
arcmira.search({ query, channelIds?, about?, speakerIds?, kind?, entityIds?, after?, before?, source?, limit? })GET /v1/searchПоиска фрагментов речи по теме, об объекте или произнесённых человеком, с датами и ссылками для просмотра
arcmira.mentions({ entityId, channelId?, after?, before?, limit?, cursor? })GET /v1/mentionsПроверки, упоминал ли X объект Y, а также определения первого и последнего упоминания
arcmira.momentum(entityId)GET /v1/entities/{id}/momentumСравнения последних 30 дней с предыдущими 30 днями и получения оценки
arcmira.sponsors(channelId, { minAdReads?, status?, limit? })GET /v1/channels/{id}/sponsorsПоиска постоянных спонсоров одного шоу
arcmira.recommendations(entityId, { kind?, channelId?, after?, before?, limit?, cursor? })GET /v1/recommendations?entity_id=Определения, кто рекомендует объект — в рекламном или обычном контексте, — с цитатой
arcmira.episodes(channelId, { limit?, after?, before? })GET /v1/channels/{id}/videosПолучения последних проиндексированных выпусков с video_id, который используется другими методами
arcmira.transcript(videoIdOrUrl, { quality?, language?, timestamps?, start?, end? })GET /v1/transcripts/{video_id}; пока транскрибирование Premium не завершено, чтение повторяется по Retry-AfterПолучения транскрипта видео: субтитров или транскрипта Premium, целиком или за указанный промежуток
arcmira.occurrences({ channelIds?, entityIds?, videoIds?, types?, mode?, after?, before?, limit? })GET /v1/mentions/countsПроверки, о чём говорят шоу, чем они делятся и какие объекты упоминаются в отдельном выпуске
arcmira.quote(videoIdOrUrl)GET /v1/transcripts/{video_id}/quoteБесплатного расчёта для транскрипта Premium всего видео: количества строк, кредитов и суммы в центах, если применяется бюджет по факту использования
arcmira.status({ channelId? })GET /v1/channels/{id}/coverage, GET /v1/meПроверки покрытия и даты индексации либо ключа, плана, кредитов и бюджета по факту использования
arcmira.monitors.list()GET /v1/monitorsПросмотра мониторов пользователя, настроек доставки и количества отслеживаемых объектов
arcmira.monitors.trackers(monitorId)GET /v1/monitors/{id}/trackersПроверки объектов, за которыми уже следит монитор
arcmira.monitors.create({ name, notify_frequency, notify_emails?, notify_slack?, ... })POST /v1/monitorsСоздания монитора. Только инструмент записи
arcmira.monitors.update(monitorId, { ..., paused? })PATCH /v1/monitors/{id}Изменения настроек доставки или приостановки монитора. Только инструмент записи
arcmira.monitors.addEntities(monitorId, entityIds, { personMatchMode? })POST /v1/monitors/{id}/entitiesДобавления в монитор до 90 идентификаторов объектов за один вызов: для каждого идентификатора повторно использует или создаёт отслеживаемый объект и добавляет его в монитор. Если идентификатор нельзя добавить, указывается причина (entity_not_found, entity_type_not_trackable, tracker_limit_reached, tracked_in_another_monitor). Только инструмент записи
arcmira.monitors.addName(monitorId, [{ name, type, personMatchMode? }])POST /v1/monitors/{id}/entities с namesДобавления в монитор до 90 точных названий до их индексации (шоу указывается по идентификатору UC); возвращает результат для каждого названия, как и addEntities. Только инструмент записи
arcmira.monitors.attachTrackers(monitorId, trackerIds)POST /v1/monitors/{id}/trackersПереноса отслеживаемых объектов из другого монитора после согласия пользователя. Только инструмент записи
arcmira.integrations.slack()GET /v1/integrations/slackПросмотра подключённых рабочих пространств Slack с идентификатором и каналом по умолчанию, в который монитор отправляет уведомления

Методы arcmira.today() и arcmira.daysAgo(n) возвращают даты ISO на основе серверного времени и используются для задания временных диапазонов. Диапазоны полуоткрытые, как и в API: after — первый учитываемый день, а before — первый неучитываемый день. Например, август задаётся так: { after: "2026-08-01", before: "2026-09-01" }. Каждый результат с датами содержит указанный диапазон в поле window: { after, before }. Названия параметров соответствуют клиенту, а поля запросов и ответов — API. Поэтому монитор использует notify_frequency: это поле возвращает monitors.list().

В фильтрах допустимы только идентификаторы в исходном виде. Если вместо идентификатора указано имя, возникает ошибка id_required ещё до сетевого вызова; в сообщении указано, как это исправить. Сначала выполните разрешение имени, затем запрос. Метод resolve возвращает best (название означает, что подходит одна запись), suggested (одна запись выделяется на фоне остальных; укажите, что вы выбрали её как наиболее вероятный вариант, и объясните почему) или ask (подходят несколько вариантов; предложите пользователю выбрать):

const r = await arcmira.resolve("Linear");
const e = r.best ?? r.suggested;
if (!e) return { ask: r.ask };
const m = await arcmira.momentum(e.id);
return { entity: e.name, id: e.id, assumed: Boolean(r.suggested), why: r.suggested?.evidence ?? null, verdict: m.verdict, last30: m.volume.mentions_30d, prior30: m.volume.mentions_prior_30d, as_of: m.as_of };

Примеры запросов после подключения сервера:

  • Какие бренды спонсируют и TBPN, и подкаст All-In Podcast?

  • Насколько сейчас популярен Linear, инструмент для управления проектами, в аудиоконтенте?

  • Найди фрагмент TBPN за последние 90 дней, где кто-нибудь говорит о стейблкоинах, и процитируй его.

  • Кто говорит в первую минуту последнего эпизода TBPN согласно расшифровке Premium?

  • Сколько эпизодов TBPN упоминали Cursor в июле и сколько — в августе?

Подходящие идентификаторы для начала: TBPN — канал UC-DRzaGnL_vtBUpCFH5M0tg, All-In Podcast — UCESLZhusAkFfsNsApnjF_Cg, Ramp — ent_14.

Песочница

arcmira_execute_read и arcmira_execute_write запускают программу в новом изолированном экземпляре Dynamic Worker. Единственный доступный ему сетевой канал — исходящий прокси родительского процесса. Прокси добавляет к пересылаемому запросу учётные данные вызывающей стороны, поэтому программа никогда не получает ключ. Запросы за пределами списка разрешённых инструментом отклоняются с ошибкой outbound_refused:

  • arcmira_execute_read: GET https://api.arcmira.com/v1/*. Транскрибация Premium начинается при вызове GET для транскрипта.

  • arcmira_execute_write: набор методов чтения, а также POST и PATCH для /v1/monitors и /v1/trackers. Метод DELETE и ротация секрета вебхука недоступны.

Прокси проверяет запросы внутри Worker, поэтому обычный вызов fetch() получает тот же ответ, что и метод клиента. Если вызвать метод записи через arcmira_execute_read, до отправки запроса будет выброшена ошибка write_tool_required. На выполнение программы отводится 5 секунд процессорного времени, инструмент ожидает результат не более 30 секунд, а клиент ограничивает число вызовов API до 40 — при превышении возникает ошибка call_budget. Итоговый вывод ограничен 12 000 символами: не более 3 000 символов на строку и 100 элементов в массиве. Для каждого обрезанного массива указывается его имя в truncated_arrays, а в строке recovery описывается, как получить все строки. Синтаксическая ошибка возвращается как syntax_error с описанием правила для тела функции; выброшенная ошибка — как program_error с её сообщением.

Результат представляет собой корректный JSON с ограниченным объёмом данных: сначала идут ok и value либо error, затем фактическое число calls, сведения о rate_limit и api_build, данные об усечении и ограниченные по объёму журналы. Для больших результатов сохраняются поля продолжения и восстановления данных. Метаданные выполнения учитываются в тех же ограничениях. При тайм-ауте указывается calls: null и outcome_uncertain: true: уже запущенные запросы на чтение могут завершиться и расходовать строки. Если при аутентификации возникает ошибка 429/503, клиентам предлагается повторить запрос с теми же учётными данными; переподключение требуется только при недействительных учётных данных.

Ограничения доступа

Если программа сталкивается с ограничением доступа, она выбрасывает ArcmiraError с полями ошибки API, а инструменты выполнения возвращают её как ERROR с isError: true:

{"ok":false,"error":{"code":"recommendations_not_enabled","message":"Sponsor recommendations require Pro.","gate":"plan"},"calls":1,"outcome_uncertain":false}

Ориентируйтесь на поле code, передавайте пользователю значение unlock.url, а при rate_limited соблюдайте задержку, указанную в retry_after_seconds. Если в ответе со статусом 200 часть данных недоступна (например, текст транскрипта Premium, разделение платных и органических упоминаний или спонсоры за пределами бесплатного лимита), возвращается обычный результат с тем же содержимым в поле access. Полный каталог ошибок доступен по адресу https://arcmira.com/docs/errors.

Каждый результат, в том числе при ограничении доступа, содержит сведения об остатке бюджета ключа после вызова в _meta["arcmira.com/rate_limit"] в формате { "limit": 20, "remaining": 17, "reset": 1788819360 }. Данные берутся из заголовков RateLimit API. В _meta["arcmira.com/build"] указаны server, deploy, api (сборка API, обработавшая запрос) и client (имя хоста из рукопожатия, переданное API в заголовке x-arcmira-client).

Какие данные мы журналируем

Каждый вызов инструмента записывается в продуктовую аналитику Arcmira (PostHog) и связывается с аккаунтом, от имени которого он был выполнен. Это помогает понять, как используются инструменты, и исправлять ошибки. Для каждого вызова создаётся одна запись со следующими данными:

  • название инструмента, имя и версия хоста, версия сервера и длительность вызова;

  • входные данные: текст программы для любого из инструментов выполнения (первые 4 000 символов), тема arcmira_describe либо категория и заметка arcmira_feedback;

  • intent, если агент его передал;

  • результат выполнения, но не сами данные: успешное выполнение или код ошибки, размер результата, сведения об усечении и маршруты API, использованные при вызове (GET /v1/search, без строки запроса).

Перед сохранением API заменяет всё, что похоже на учётные данные или адрес электронной почты (arc_-ключи, токены Bearer, ключи sk-, адреса), на [redacted]. Результаты, текст транскриптов и журналы, выведенные программой, никогда не записываются. Вызовы без действительных учётных данных не журналируются. Запись отправляется после получения результата, поэтому журналирование не задерживает ответ и не влияет на него; если запись не удаётся отправить, она отбрасывается.

Переход с версии 0.9

Версия 0.10 соответствует обновлённому API v1. Если программа обращается к старым именам полей, она получает undefined; документация и навыки содержат новые названия.

  • В списках теперь указывается имя коллекции: mentions().mentions, recommendations().recommendations (раньше — data). Значение class у рекомендации может быть sponsored, organic или mention (раньше использовалось поле mention_class со значениями ad_read, endorsement, mention).

  • Поля результатов поиска записываются в snake_case: video_id, video_title, published_at, start_seconds, watch_url, channel_name, cite_line. Поле kind принимает значение sponsored, organic или mention либо массив этих значений.

  • Во всех методах before обозначает первый исключённый день (раньше — последний включённый день). Каждый результат с датами теперь содержит поле window.

  • Поля мониторов записываются в snake_case в обоих направлениях: create({ name, notify_frequency }), update(id, { paused: true }), а monitors.list() возвращает paused, notify_frequency, tracker_count.

  • Метод arcmira.status({ jobId }) удалён: если чтение Premium ещё выполняется, оно возвращает идентификатор задания и eta_seconds. После завершения то же чтение возвращает строки транскрипта.

  • Добавлен метод arcmira.monitors.addName(monitorId, [{ name, type }]): он позволяет указать точные названия до их индексации.

  • Сбой транскрибации Premium считается окончательным: поле state принимает значение failed или refunded, а сведения об ошибке содержатся в job.error или last_attempt. Вызов arcmira.transcript(video, { quality: "premium", retry: true }) запускает транскрибацию заново и повторно расходует кредиты — только по запросу пользователя.

Переход с версии 0.8

Метод describe заменён на arcmira_describe, execute — на arcmira_execute_read, а prepare_transcript теперь выполняет чтение Premium через arcmira.transcript(video, { quality: "premium" }) внутри arcmira_execute_read. Если хост использует сохранённый старый список инструментов и вызывает прежнее имя, он получает ошибку tool_retired с названием замены. Параметр max_on_demand_cents больше не принимается: расходы по запросу определяются бюджетом аккаунта.

Переход с версии 0.6.0

Десять инструментов (resolve_entities, search_transcripts, list_mentions, entity_momentum, count_occurrences, list_episodes, list_sponsors, list_recommendations, index_status, get_transcript) удалены из tools/list. Если хост использует сохранённый старый список и вызывает один из них, он получает ошибку tool_retired с названием arcmira_describe. Каждому прежнему инструменту соответствует метод клиента: resolve_entities — arcmira.resolve, search_transcripts — arcmira.search, list_mentions — arcmira.mentions, entity_momentum — arcmira.momentum, count_occurrences — arcmira.occurrences, list_episodes — arcmira.episodes, list_sponsors — arcmira.sponsors, list_recommendations — arcmira.recommendations, index_status — arcmira.status, get_transcript — arcmira.transcript. Сокращённая запись recency заменена на arcmira.daysAgo(n).

Плагин

В plugins/arcmira собраны MCP URL и шесть навыков для Claude Code, Codex, Cursor, хостов Agent Plugins и Gemini CLI:

НавыкНазначение
arcmiraОбщая процедура и правило работы с идентификаторами, соответствие навыков задачам и ссылка на arcmira_describe с описанием методов
sponsor-researchКто спонсирует шоу или какие шоу спонсирует бренд, как часто и с какого времени
company-watchНастройка монитора: названия сущностей и темы для отслеживания, сначала мониторы пользователя, затем желаемый способ доставки
find-quotesТочные цитаты с указанием говорящего и даты, ссылкой с временной меткой, а также началом и концом фрагмента
person-researchПодготовка к интервью или встрече: выступления человека, его собственные слова и те, кто обсуждает его
compare-showsСравнение двух шоу: размер, тематика, пересечения и общие спонсоры

Каждый навык начинает работу с названий, а не идентификаторов: каждая программа находит сущность по имени, возвращает варианты ask, если подходят несколько сущностей и ни одна из них не выделяется, сообщает, когда сделала предположение, и указывает, какую сущность использовала. В конце каждого навыка предлагается сохранить найденные данные в монитор, а также выводится строка для обратной связи. Навыки создаются из src/reference.ts и src/skills.ts с помощью scripts/build-skill.ts. CI завершится ошибкой, если файл не соответствует исходным данным или программа вызывает метод, отсутствующий в документации; команда pnpm examples:check запускает каждую программу в production.

claude plugin marketplace add arcmira/mcp
claude plugin install arcmira@arcmira

Актуальность

Arcmira выпускает обновления каждую неделю. Не отключайте автообновление.

  • Для MCP-сервера ничего делать не нужно. Он удалённый: при подключении хосты загружают его инструменты и инструкции, а arcmira_describe при каждом вызове возвращает справочный материал с сервера, начиная с номера версии. MCP-сервер всегда актуален.

  • Плагин Claude Code. Для стороннего marketplace автообновление по умолчанию отключено. Включите его: выполните /plugin, откройте Marketplaces, выберите arcmira и нажмите Enable auto-update. Или задайте параметр в ~/.claude/settings.json:

{ "extraKnownMarketplaces": { "arcmira": { "source": { "source": "github", "repo": "arcmira/mcp" }, "autoUpdate": true } } }

Обновить сейчас: claude plugin update arcmira@arcmira.

  • Плагин Codex. Выполните codex plugin marketplace upgrade arcmira, затем перезапустите Codex.

  • Навыки, установленные командой npx skills add arcmira/mcp. Выполните npx skills update.

При каждом выпуске обновляется версия в манифесте каждого плагина — это проверяется тестом. Claude Code обновляет только плагины с изменившейся версией.

Gemini CLI

Установите удалённое подключение и основной справочный материал Arcmira из этого репозитория:

gemini extensions install https://github.com/arcmira/mcp

Корневой файл gemini-extension.json указывает на тот же удалённый MCP и загружает навык arcmira как файл контекста, как и пакет плагина. Авторизуйтесь через поток авторизации MCP. Корневое расширение не устанавливает отдельно пять дополнительных навыков для задач.

Разработка

pnpm install
pnpm dev            # wrangler dev on :8790 with a local Worker Loader
pnpm test           # node:test, sandbox programs run under a fake loader
pnpm typecheck
pnpm manifest:check # every client call matches the live OpenAPI document
pnpm skill:check    # every plugins/arcmira/skills/*/SKILL.md matches src/reference.ts and src/skills.ts
ARCMIRA_KEY=arc_sk_... pnpm examples:check   # every worked program and read task-skill program runs against production
pnpm sandbox:check  # src/sandbox/client-source.ts matches src/sandbox/client.js
ARCMIRA_KEY=arc_sk_... node --experimental-strip-types scripts/smoke.ts http://localhost:8790/mcp

src/reference.ts — основной источник инструкций: из него формируются текст arcmira_describe, инструкции сервера и навык arcmira.

Copyright Arcmira. Все права на сервер защищены (см. LICENSE); plugins/arcmira распространяется по лицензии Apache-2.0.