Ackrite
Ackrite
ACKRITE. ДОКАЖИ ЭТО.
MCP-сервер, который заставляет ИИ-агентов доказывать свои предположения, прежде чем действовать на их основе.
Ackrite — это узкоспециализированная утилита проверки для ИИ-агентов. Она не пытается решать любые проблемы, искать удобные ответы или выдумывать подтверждения. Вместо этого она оспаривает техническое утверждение агента, используя только предоставленные ей доказательства, разграничивает факты и гипотезы, определяет недостающие доказательства и рекомендует наименьшую следующую проверку, которая может урегулировать вопрос.
Её цель — предотвратить знакомый сценарий отказа: агент видит ошибку, предполагает причину, уверенно переписывает половину системы и лишь потом обнаруживает, что предположение было неверным. Ackrite подталкивает агента к доказательствам, точечным экспериментам, ограниченным изменениям и явной неопределённости.
Ackrite делает | Ackrite не делает |
Классифицирует утверждения на основе предоставленных доказательств | Выдумывает, получает или подразумевает доказательства, которые ей не предоставлялись |
Обнаруживает противоречия и необоснованные предположения | Представляет умозаключение как факт |
Оспаривает переписывания и расширение объёма до реализации | Применяет изменения кода или вызывает внешние системы |
Ведёт ограниченную историю проверки в рамках процесса | Хранит большую систему памяти или зависит от L-Dopa |
Скрывает типичные секреты в диагностическом выводе | Гарантирует безупречное обнаружение секретов для любого пользовательского формата учётных данных |
Зачем это нужно
Уверенность агента — не доказательство. Утверждение вроде «API убрало нативную аутентификацию» часто является полезной гипотезой, но становится опасным, когда его рассматривают как установленный факт и используют для оправдания переписывания. Ackrite задаёт четыре узких вопроса:
Что именно устанавливают предоставленные доказательства?
Что противоречит утверждению, если вообще что-то противоречит?
Какое предположение здесь неявно работает?
Какой минимальный эмпирический тест выполнить следующим?
Результат намеренно сжат настолько, чтобы его можно было напрямую вернуть в контекстное окно агента.
Related MCP server: Veritas MCP
Статусы утверждений
Ackrite использует намеренно консервативную модель классификации.
Статус | Значение | Порог доказательности |
| Прямые предоставленные доказательства высокой надёжности поддерживают утверждение. | Как минимум один прямой элемент высокой надёжности, например точечный результат теста, HTTP-ответ, наблюдаемое поведение или факт, предоставленный пользователем. |
| Прямые предоставленные доказательства поддерживают утверждение, но остаются ограниченными по охвату или надёжности. | Прямые подтверждающие доказательства без элемента, удовлетворяющего критерию высокой надёжности. |
| Утверждение может быть истинным, но материал косвенный, нейтральный или выведенный. | Только нейтральные доказательства или умозаключение. |
| Никакие предоставленные подтверждающие доказательства не устанавливают утверждение. | Нет релевантных доказательств. |
| По крайней мере один предоставленный элемент доказательств противоречит утверждению. | Противоречие имеет приоритет, пока не будет устранено. |
Основное правило: Ackrite никогда не превращает умозаключение в факт. Вместо этого она обозначает границу между наблюдением и выводом.
Архитектура
Ackrite намеренно компактна. Граница MCP, доменный анализ, обработка доказательств и ограниченное состояние разделены, чтобы правила проверки можно было тестировать без запущенного MCP-клиента.
Слой | Расположение | Обязанность |
Транспорт и схемы MCP |
| Регистрирует пять инструментов и обслуживает их через стандартный ввод/вывод. |
Оркестрация инструментов |
| Формирует готовые для агента ответы: оспаривание, проверку, аудит, план доказательства и проверку реальности. |
Модель доказательств |
| Нормализует происхождение, надёжность, полярность, выдержки и скрытие секретов. |
Анализ утверждений |
| Определяет статус, уверенность, предположения, недостающие доказательства и следующее действие. |
История сессии |
| Ведёт ограниченную запись утверждений, доказательств, попыток, выводов и нерешённых предположений в рамках процесса. |
Тесты |
| Проверяет доменную логику и реальное поведение клиента/сервера MCP stdio. |
Ackrite реализована на TypeScript с использованием официальных пакетов MCP TypeScript для сервера и клиента. Она предоставляет stdio-сервер: клиент запускает Ackrite как подпроцесс и обменивается сообщениями JSON-RPC через стандартный ввод и вывод — это стандартный транспорт MCP. [1] [2]
Установка
Ackrite требует Node.js 20 или новее.
git clone https://github.com/mshanghai570/Ackrite.git
cd Ackrite
npm install
npm run buildЗапустите сервер напрямую после сборки:
npm startПроцесс общается через стандартный ввод/вывод, поэтому при запуске в терминале он может выглядеть простаивающим. Это нормально: запросы поступают от вашего MCP-клиента. Не выводите обычные логи в стандартный поток вывода; MCP stdio резервирует его для сообщений протокола. [1]
Настройка MCP-клиента
Сначала соберите проект, затем добавьте запись вроде следующей в конфигурацию вашего MCP-клиента. Замените /absolute/path/to/Ackrite на каталог, в котором находится этот репозиторий.
{
"mcpServers": {
"ackrite": {
"command": "node",
"args": ["/absolute/path/to/Ackrite/dist/index.js"]
}
}
}Если ваш клиент поддерживает выполнение package-скриптов, эквивалентная команда — node dist/index.js, а рабочим каталогом должен быть репозиторий. В версии v0.1 Ackrite не принимает учётные данные и не совершает сетевых вызовов.
Доступные инструменты
Все пять инструментов объявлены доступными только для чтения и возвращают и читаемый JSON-текст, и структурированное содержимое. Они принимают необязательный sessionId; используйте одно и то же значение в ходе связанного исследования, чтобы сохранять ограниченную историю в рамках работающего процесса.
Инструмент | Когда использовать | Основной результат |
| Агент делает техническое утверждение, которое нужно оспорить. | Статус, уверенность, подтверждающие и противоречащие доказательства, предположения, недостающие доказательства и следующее действие. |
| Нужен структурированный реестр доказательств для утверждения. | Что известно, что предполагается, чему противоречат, чего не хватает и каков решающий эксперимент. |
| Предлагается изменение кода или план реализации. | Краткие выводы о ненужных переписываниях, объёме, предположениях об API-контракте, работе, чувствительной к безопасности, деталях обработки ошибок и тестах. |
| Нужен минимум доказательств для установления утверждения. | Чек-лист доказательства, специфичный для предметной области утверждения, и опровержимый эксперимент. |
| Агент может застрять, повторяться или преждевременно заявлять об успехе. | Сначала самый важный сбой в рассуждениях, затем дополнительные наблюдаемые риски. |
Общий ввод доказательств
Передавайте доказательства явно, а не встраивайте их в неструктурированный контекст. context может давать справочную информацию, но он не считается доказательством.
{
"type": "http_response",
"source": "staging request, 2026-08-27",
"content": "POST /v1/session returned 401 with code AUTH_REQUIRED.",
"polarity": "contradicts",
"reliability": 0.9
}Поле | Обязательно | Описание |
| Нет | Одно из: |
| Нет | Краткая метка происхождения, например имя теста, источник журнала или расположение в коде. |
| Да | Предоставленные наблюдение, выдержка, результат или умозаключение. |
| Нет |
|
| Нет | Число от |
Примеры взаимодействия
Оспаривание необоснованного утверждения об API
Утверждение: «API больше не поддерживает нативную аутентификацию».
{
"claim": "The API no longer supports native authentication.",
"evidence": [
{
"type": "code",
"source": "current client",
"content": "The current client implementation does not obtain credentials.",
"polarity": "supports"
},
{
"type": "observed_behavior",
"source": "older working application",
"content": "The older application successfully signs in.",
"polarity": "contradicts",
"reliability": 0.9
}
]
}Ackrite отвечает статусом CONTRADICTED, сохраняет оба источника происхождения и рекомендует изучить более старый поток аутентификации перед заменой клиента. Она не делает вывода о том, что нативная аутентификация существует или что старый поток применим; это вышло бы за пределы предоставленных доказательств.
Аудит предложения о переписывании
{
"reportedProblem": "Login returns an unexpected response.",
"proposal": "Rewrite the authentication client to replace the API endpoint integration.",
"proposedChanges": [
{
"path": "src/auth.ts",
"description": "Rewrite authentication client and route handling."
},
{
"path": "src/theme.ts",
"description": "Change unrelated color palette."
}
]
}Аудит отмечает более высокую планку доказательств для переписывания, необоснованное предположение об API-контракте, отсутствие плана тестирования и, судя по всему, несвязанное изменение темы. Аудит не утверждает, что проверил src/auth.ts или src/theme.ts, если только их содержимое не было предоставлено в качестве доказательств.
Прерывание цикла повторяющихся сбоев
{
"sessionId": "auth-investigation",
"reasoning": "The rewrite will work and the issue is fixed.",
"attempts": [
{ "approach": "Replace the auth client", "outcome": "Failed with timeout." },
{ "approach": "Replace the auth client", "outcome": "Failed with timeout again." },
{ "approach": "Replace the auth client", "outcome": "Failed with the same timeout." }
]
}Основная проблема — повторяющаяся стратегия. Ackrite рекомендует остановиться, выявить предположение, из-за которого замена кажется необходимой, и проверить это предположение, а не пытаться снова применить то же вмешательство.
Модель надёжности и безопасности
Ackrite намеренно консервативна. В версии v0.1 она не выполняет сканирование репозитория, HTTP-запросы, поиск во внешней документации, исполнение кода или автономное исправление. Каждый вывод включает происхождение, которое ограничивает его материалом, предоставленным вызывающей стороной. Отсутствие доказательств — это результат, а не ошибка, которую нужно скрывать.
Сервер скрывает распространённые шаблоны учётных данных перед возвратом диагностического текста, включая значения авторизации bearer/basic, присваивания, похожие на пароль, распространённые префиксы токенов, ключи строки запроса и поля API-ключей. Это защита на нескольких уровнях, а не разрешение отправлять настоящие секреты. Не отправляйте рабочие учётные данные в диагностические инструменты.
Хранилище сеансов является локальным для процесса и ограниченным: оно сохраняет недавние утверждения, доказательства, попытки, выводы и нерешённые предположения для не более чем 32 именованных сеансов. Каждая коллекция, привязанная к сеансу, ограничена по объёму, наименее недавно использованные сеансы вытесняются, и вся история теряется при завершении процесса. Это делает v0.1 полезным для сфокусированного исследования, не превращая его в платформу памяти.
Разработка
Команда | Назначение |
| Установка зависимостей для разработки и выполнения. |
| Компиляция TypeScript в |
| Выполнение строгой проверки TypeScript без генерации выходных файлов. |
| Сборка, запуск модульных тестов, проверка обнаружения инструментов MCP и вызов каждого инструмента через реальный дочерний процесс stdio. |
| Запуск скомпилированного Ackrite через stdio. |
| Отслеживание изменений исходников TypeScript во время разработки. |
Тестовый набор включает положительное и отрицательное покрытие для классификации утверждений, противоречивых доказательств, неподтверждённых утверждений, редактирования, ограниченного состояния, каждого основного инструмента, повторных сбоев, запуска сервера, обнаружения инструментов и вызовов инструментов через протокол MCP.
Ограничения
Анализ Ackrite детерминирован и основан на доказательствах, а не является полноценной автономной системой рассуждений. Инструмент audit проверяет описания предложения; он не является статическим анализатором и не проверяет рабочее дерево. Обнаружение повторяющихся стратегий использует нормализованные термины из предоставленных описаний попыток, поэтому семантически идентичные, но очень по-разному сформулированные попытки могут не группироваться. Правила редактирования секретов покрывают распространённые шаблоны, но не могут распознать любой проприетарный формат учётных данных.
Ackrite использует только stdio в v0.1. Он спроектирован так, чтобы оставаться независимым от L-Dopa и других MCP-серверов. Будущий HTTP-транспорт, уровень персистентности или адаптер с поддержкой репозитория должны оставаться опциональными и сохранять те же гарантии отсутствия фабрикации и редактирования.
Лицензия
Ackrite выпущен под лицензией MIT License.
Ссылки
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityDmaintenanceUniversal Search-First Knowledge Acquisition Plugin for LLMs. Enables real-time web search and deep page browsing via MCP or CLI. Zero-cost, privacy-first, supports DuckDuckGo, Bing, Google, Brave, Wikipedia, Arxiv, YouTube, Reddit and more.21316MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to conduct evidence-grounded forensic triage of compromised hosts, with architectural safeguards against evidence spoliation and hallucinated findings, supporting self-correction and chain of custody.MIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to verify claims with evidence-based truth scores and confidence levels by running a deterministic pipeline of evidence lanes and adversarial checks.4MIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to verify their own output mid-task by checking every claim against provided sources, returning supported, partial, unsupported, or contradicted verdicts with exact citations.MIT
Related MCP Connectors
Evidence-backed x402 web verification for AI agents, with auditable decisions for every condition.
Deterministic fact verification for AI agents — checksums & curated data, not guesses.
Real-time fact-check, citation verification, and source-freshness for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mshanghai570/Ackrite'
If you have feedback or need assistance with the MCP directory API, please join our Discord server