Accordo
Accordo
Опишите свой процесс продаж своему агенту кодирования; владейте CRM, которую он создает.
Открытый фреймворк, который Claude Code, Codex и Gemini CLI используют для генерации CRM-приложения как кода, которым вы владеете, — детерминированные рабочие процессы, утверждения, контролируемые политиками, встроенные аудит и трассировка.
Имя выбрано, домен зарегистрирован. npm create accordo создает рабочий проект из опубликованного create-accordo@0.1.0; сам пакет accordo остается пустым резервированием имени 0.0.1 — ничего не устанавливает фреймворк как библиотеку — а область @accordo заявлена и намеренно пуста. Проверка товарного знака не проводилась, и проект не развертывается в производство. Что это означает точно, описано в разделе Где это останавливается, который стоит прочитать перед остальным.
Business request
↓ "Renewals of €50,000 or more need a manager's sign-off."
Claude Code / Codex
↓ reads AGENTS.md · 12 skills · MCP · `crm app inspect`
Modules + deterministic workflows + versioned policy
↓
API + Admin + trace + audit — in your repository, as code you reviewКогда обращаться к Accordo
Custom CRM: когда коммерческий процесс является продуктом, и результат должен быть проверяемым кодом, а не конфигурацией внутри чужой среды выполнения.
Customer Hub: когда «хаб» означает одну локальную цепочку коммерческих записей с управляемыми действиями. Accordo не импортирует источники и не разрешает идентичности клиентов, как CDP.
Smart CRM: когда кодирующий агент должен составлять приложение, в то время как версионированная политика и названные люди сохраняют бизнес-решения. Это программное обеспечение, созданное агентом, а не автономный принимающий решения.
CDP + CRM: когда внешний CDP владеет импортом, разрешением идентичности и аудиториями, а Accordo владеет детерминированным слоем процесса CRM рядом с ним. Accordo не поставляет CDP, коннектор, импортер или среду выполнения синхронизации.
Эти смежные термины — пути поиска, а не дополнительные заявления о возможностях. Проверенная карта рекомендаций связывает каждый из них с тем, что доказывает фреймворк и где он останавливается.
Related MCP server: Pathmode
Почему это существует
Каждая CRM в конечном итоге просит вас подогнать свой процесс под ее модель. Два обычных выхода оба чего-то стоят:
Настроить платформу — быстро начать, и ваша кастомизация живет как метаданные внутри чужой среды выполнения. Когда потолок достигнут, вы форкаете монорепозиторий.
Строить с нуля — полная свобода, и каждая команда заново выводит валидацию, семантику конвейера, утверждения и аудит. Обычно поздно, обычно под давлением.
Этот фреймворк — третий вариант: агент генерирует приложение, а фреймворк поставляет части, которые команды всегда делают неправильно в условиях дедлайна. Тест, который может применить любой разработчик: «если этот проект исчезнет завтра, что у меня останется?» Здесь ответ: Node-приложение в вашем репозитории, без сторонних зависимостей времени выполнения и файл SQLite, который может открыть любой клиент.
Что доказано
Каждая строка ниже привязана к объединенному тесту. Полный реестр — утверждение, доказательство и предел, который с ним связан, — находится в site/claims.json, а дисциплина проверки, стоящая за ним, — в docs/QUALITY_GATES.md.
Возможность | Где это останавливается | Доказательство |
Манифест модуля становится миграцией, сервисом, REST-ресурсом, методом SDK и экранами Admin без кода страниц | только сгенерированный CRUD — рабочие процессы и утверждения для пользовательских объектов все еще пишутся вручную |
|
Сгенерированные объекты ссылаются друг на друга: внешний ключ, проверка целевого объекта во время выполнения, селектор Admin | только сгенерированные-к-сгенерированным многие-к-одному; нет многие-ко-многим, обратных коллекций или каскадов |
|
Детерминированная политика утверждения: продление на уровне порога или выше ожидает названного человека | встроенный объект продления и один порог значения |
|
Агент не может принять решение об утверждении за человека — это подтверждается тестом, а не соглашением | актор подтверждается, но не аутентифицируется; это действует против честного агента, а не против злоумышленника |
|
Возможности проходят через этапы конвейера, определяемые кодом, под серверно-авторитетным действием — клиент запрашивает, сервер решает | доказано на встроенном модуле Opportunity; настраиваемые конвейеры для сгенерированных пользовательских объектов не заявляются |
|
Захват лидов, обогащение, объяснимая версионированная оценка, детерминированная маршрутизация, квалификация, конверсия | обогащение работает с фиктивным провайдером; реальный источник данных не подключен |
|
Серверно-оцениваемые составные котировки, неизменяемые версии котировок, версионированная политика скидок с утверждением | фиктивный провайдер каталога; целые центы без FX — валюты никогда не суммируются |
|
Конверт подписи → проверенные события → доказательство подписанного артефакта → ровно один неизменяемый заказ | фиктивный провайдер подписи, тестовый ключ вебхука, хэш артефакта, сообщенный провайдером |
|
Активация заказа в контракт, неизменяемая версия, подписка и ожидающие обязательства | ничего не выставляет счета, не продлевает, не изменяет и не отменяет; нет планировщика |
|
Передача поставки в проект с рабочими пакетами, вехами и необязательным партнером; выполнение, управляемое человеком | ничего не планирует, не укомплектовывает, не принимает и не выставляет счета; результаты не существуют как объекты |
|
Доказательства времени и расходов, только добавляемые, оцененные по версионированной политике, с воспроизводимой оценкой вклада | намеренно не маржа: нет признания выручки, нет COGS, нет ARR/MRR, нет FX |
|
Пакет домена, созданный заказчиком, подключается и отключается без изменения отпечатка ядра | скаффолд, который его запускает, записывает пустой пакет и ничего больше; нет реестра, нет публикации, нет песочницы — код пакета выполняется с правами хоста |
|
| он не изобретает бизнес-логику, ничего не компонует, не проверяет уникальность глобальной идентичности и ничего не устанавливает и не публикует |
|
| никогда не открывает базу данных, не связывается с провайдером и не читает секреты — и сообщает об этом в своем собственном выводе |
|
| документ-контракт, а не планировщик и не среда выполнения; ничто не выполняет план |
|
| покрытие заявляется сценарием, а не обнаруживается; он не продвигает строки, не управляет браузером, и каждый запуск говорит за одну композицию |
|
Сгенерированные модули развиваются через явные ревизии и именованные миграции, только добавляемые | только исходный код: что конкретная база данных применила, отсюда не узнать |
|
Весь набор тестов запускается при каждом пуше вместе со смоук-тестом. Сколько тестов было и коммит, на котором это измерялось, находятся в site/claims.json в разделе measuredAgainst — единственном месте в этом репозитории, где записано количество тестов, и единственном, где npm run gtm:check позволит появиться числу.
Запуск
Node.js 22.16 или новее. Нет сторонних зависимостей времени выполнения и нет шага сборки.
npm run tour # compose the whole application and inspect it
npm run verify # source checks, then the whole test suite
npm run falsify # break five rules on purpose and watch the suite catch them
npm run demo # the approval slice, end to end
npm run dev # http://localhost:4000npm run tour — самый быстрый способ увидеть, что это на самом деле. Композиция репозитория по умолчанию намеренно пуста — проект пишет ту композицию, которую хочет, — поэтому crm app inspect на свежем клоне ничего не сообщает. Тур запускает установщик стартера (тот же, что CI запускает при каждом пуше) в каталог, который он сохраняет, а затем проверяет результат:
modules 76 resources 71 policies 7
packages 9 actions 64 providers 1
production posture — local development only: no authentication, tenancy or RBAC
exists, and actor headers are not identityОн заканчивается одиннадцатью вещами, которые инспектор говорит, что не может увидеть, потому что тур, показывающий только хорошую половину, не стоит запускать. npm run tour -- --keep ./demo оставляет проект для изучения; --json выводит машиночитаемую квитанцию.
npm run falsify — это другое направление. Счётчик тестов говорит, сколько было написано; он не говорит, что должно было пойти не так, чтобы тест остался зелёным. Поэтому эта команда удаляет по одному правилу за раз — защиту от человека-актора при утверждениях, границу порога утверждения, проверку подписи вебхука, неизменяемость версии политики, правило о том, что полностью управляемый модуль не создаёт публичной записи — запускает набор тестов, который должен это защищать, и называет тест, который это поймал. Она отказывается запускаться при незакоммиченных изменениях и восстанавливает каждый файл, к которому прикасается. Всё, что выживает, выводится как пробел, потому что это и есть полезный результат
(docs/FALSIFY.md, tests/falsify.test.js).
npm run demo создаёт два продления и проверяется scripts/smoke.js при каждом пуше:
€20 000 → переходит сразу в Proposal.
€80 000 → останавливается в Approval Pending, пока менеджер не решит.
Использование из кодинг-агента
Claude Code читает CLAUDE.md, .mcp.json и .claude/skills/. Codex читает AGENTS.md
и .codex/config.toml. Оба файла закоммичены и связаны между собой.
Read AGENTS.md, PRODUCT.md and docs/PROJECT_STATUS.md.
Run npm run crm -- app inspect --json.
Tell me which parts of my commercial process this already supports, and which it does not.Харнессу нужно только: выполнить команду, прочитать stdout, прочитать код выхода, распарсить JSON и читать
и записывать файлы. Никакого MCP-сервера, сети, учётных данных, базы данных, долгоживущего
процесса — docs/AGENT_HARNESS_COMPATIBILITY.md.
npm run crm -- app inspect --json # what this application contains
npm run crm -- solution check plan.json # is this plan still valid against itКоды выхода — это контракт: 0 — валидно · 1 — проблемы, отчёт всё равно выводится · 2 — нечитаемо.
MCP-сервер работает через stdio (node --no-warnings packages/mcp/bin/server.js) и предоставляет
инспекцию проекта, список возможностей, запросы на смену стадии, решения по утверждениям, трассировки запусков
и каркас модулей. Кодогенерирующие и деструктивные инструменты работают в режиме dry-run, если вы не передадите
явный флаг apply (tests/mcp.test.js, tests/scaffold.test.js — docs/MCP.md).
Он работает только через stdio и только локально: нет хостируемой или аутентифицированной MCP-точки, и сервер
наследует полномочия процесса, который его запускает.
Где это заканчивается
Прочитайте это, прежде чем оценивать что-либо выше. docs/benchmarks/CRM_JTBD_MATRIX.md отслеживает каждую
CRM-задачу с консервативным словарём статусов, в котором не поддерживается является значением по умолчанию, и
для выхода из него требуются доказательства.
Нет аутентификации, мультитенантности или RBAC. Сервер предназначен только для локальной разработки; заголовок актора — это утверждение, а не личность. Не подвергайте его воздействию сети.
Только SQLite. PostgreSQL находится в треке Production Spine и не реализован.
Бенчмарк сборки не запускался. Не существует показателя Successful Agent Build Rate. Любой процент, приписываемый этому проекту, сфабрикован —
docs/strategy/CRM_BUILD_BENCHMARK.md— это протокол, а не результат.Нет планировщика, нет напоминаний, ничего по таймеру. Follow-up Tasks и временная шкала Activity существуют как одна общая модель (
docs/WORK_TASKS.md), и человек двигает каждую из них: срок выполнения не меняет никакого состояния, ничего повторяющегося не существует, ничего не назначается и не уведомляется, а периоды уведомления о продлении записываются и никогда не срабатывают.Нет интеграций с почтой, календарём или маркетингом. Контракт провайдера уведомлений существует; ни один адаптер ничего никому не отправляет.
Нет импорта, экспорта, дедупликации, слияния, массового редактирования, сохранённых представлений или глобального поиска. Это базовые требования в каждом коммерческом CRM, и ни одно из них ещё не имеет вехи.
В это пока нельзя помещать реальные данные клиентов. Нет аутентификации, нет мультитенантности, нет экспорта и нет пути удаления — поэтому запрос субъекта данных на доступ или удаление не может быть обслужен с его помощью.
docs/strategy/DATA_GOVERNANCE.md— это только дизайн. Единственное, что здесь действительно: скоринг лидов детерминирован, версионирован и объясним, а не суждение модели о человеке.Это фреймворк, а не продукт, на который вы подписываетесь. Нет хостируемого CRM, нет бесплатного тарифа, нет аккаунта. Результат — это приложение, которое вы запускаете.
Владение означает вендоренный исходный код: нет зависимости от фреймворка, которую нужно обновлять.
npm create accordo— опубликованныйcreate-accordo@0.1.0— создаёт проект, который загружается, сообщаетvalidотapp inspectи выходит с кодом 0 изproject doctor, копируя исходный код фреймворка в него; тот же самый бутстрап запускается из чекаута (node packages/create-accordo/bin/create-accordo.js <dir> --apply, без установки, без сети —tests/project-bootstrap.test.js). То, что выдаёт реестр, — это скаффолдер, а не фреймворк: пакетaccordo— это намеренно пустое резервирование имени0.0.1. Фреймворк вендорится в проект, так что вы полностью владеете результатом — и обновление означает слияние, а не поднятие версии.
Архитектура в пяти папках
packages/core/ the runtime platform: registry, services, workflow engine, audit
packages/modules/ CRM domain primitives
packages/domains/ optional domain packages (contracts, delivery) on a public contract
packages/mcp/ tools and context exposed to coding agents
apps/ API server and generated AdminАгент никогда не пишет в таблицу базы данных. Он вызывает сервисные методы и именованные рабочие процессы,
которые сохраняют валидацию, идентичность актора, политику, трассировку и аудит — ARCHITECTURE.md.
Документы
Прочитайте это | Зачем |
правила, которым агент должен следовать перед изменением кода | |
что продукт собой представляет, а что нет | |
техническая модель и её правила расширения | |
журнал решений, ADR-001 … ADR-020 | |
что верно в репозитории сегодня | |
каждая CRM-задача, её статус и её доказательства | |
дисциплина ревью, включая категории состязательного ревью | |
категория, позиционирование, дорожная карта, метрики | |
как это доходит до людей и что зависит от человека |
Лицензия
MIT, подтверждено ADR-023.
This server cannot be installed
Maintenance
Related MCP Servers
- -license-quality-maintenanceEnables generation of enterprise-grade software templates with built-in GDPR/Swedish compliance validation, workflow automation for platform migrations, and comprehensive template management through domain-driven design principles.

Pathmodeofficial
AlicenseAqualityBmaintenanceSocratic AI that turns vague problems into structured intent specs — objective, outcomes, edge cases, constraints. Zero-config locally, or team mode for evidence, dependency graphs, and governance. Ships 7 auto-triggering Claude Code skills. Build the right thing.20842MIT- FlicenseAqualityCmaintenanceGenerates complete, production-ready REST, GraphQL, and microservice APIs with built-in security, validation, and deployment configurations.5
- AlicenseBqualityDmaintenanceEnables orchestrating secure software development pipelines with domain-specific compliance (HIPAA, PCI-DSS, etc.), generating pseudocode, threat models, and CI/CD from user stories via natural language.17MIT
Related MCP Connectors
Agent-native CRM. 25 tools — contacts, deals, sequences, enrichment waterfall, audit log.
Runtime AI governance: decision gates, human approval, hash-chained audit, compliance mapping.
Deterministic compliance and vertical knowledge bases for autonomous agents. Free 24hr trial.
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/khaoss85/agent-crm'
If you have feedback or need assistance with the MCP directory API, please join our Discord server