Accordo
Accordion
Beschreiben Sie Ihrem Coding-Agenten Ihren Verkaufsprozess – Sie besitzen das CRM, das er baut.
Ein Open-Source-Framework, das Claude Code, Codex und Gemini CLI verwenden, um eine CRM-Anwendung als Code zu erzeugen, der Ihnen gehört – deterministische Workflows, richtliniengesteuerte menschliche Genehmigungen, Audit und Rückverfolgung sind integriert.
Der Name steht fest und die Domain ist registriert. npm create accordo erzeugt aus dem veröffentlichten create-accordo@0.1.0 ein funktionierendes Projekt; das Paket accordo selbst bleibt eine leere 0.0.1-Namensreservierung – nichts installiert das Framework als Bibliothek – und der Namensbereich @accordo ist beansprucht und bewusst leer. Ein Markenrecherche-Check wurde nicht durchgeführt, und das Projekt ist nicht für den Produktionsbetrieb geeignet. Was das genau bedeutet, steht unter Wo es aufhört, das man gelesen haben sollte, bevor man den Rest liest.
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 reviewWann man Accordo einsetzt
Eigenes CRM: wenn der Geschäftsprozess das Produkt ist und das Ergebnis überprüfbarer Code sein soll – keine Konfiguration in der Laufzeit eines anderen.
Customer Hub: wenn „Hub" eine lokale kaufmännische Datensatz-Struktur mit geregelten Aktionen bedeutet. Accordo nimmt keine Quellen auf und löst keine Kundenidentitäten auf wie ein CDP.
Smart CRM: wenn ein Coding-Agent die Anwendung zusammenstellt, während versionierte Richtlinien und benannte Menschen die Geschäftsentscheidungen treffen. Es ist agentengebaute Software, keine autonome Entscheidungsinstanz.
CDP + CRM: wenn ein externes CDP die Datenaufnahme, die Identitätsauflösung und die Zielgruppen übernimmt und Accordo daneben die deterministische CRM-Prozessschicht besitzt. Accordo liefert kein CDP, keinen Konnektor, keinen Importer und keine Synchronisations-Laufzeit aus.
Diese Nachbar-Begriffe sind Abrufpfade, keine Zusatzfähigkeitsansprüche. Die hinterlegte Empfehlungskarte bindet jeden einzelnen daran, was das Framework nachweist und wo es aufhört.
Related MCP server: Pathmode
Warum es das gibt
Jedes CRM verlangt irgendwann, dass du deinen Prozess biegst, um in sein Modell zu passen. Die zwei üblichen Wege dahin kosten beide etwas:
Eine Plattform konfigurieren – schnell starten, aber die Anpassung existiert als Metadaten in der Laufzeitumgebung eines anderen. Wenn die Grenze erreicht ist, forkst du ein Monorepo.
Von Grund auf neu bauen – völlige Freiheit, und jedes Team leitet Validierung, Pipe-Tellsemantik, Genehmigungen und Audit selbst ab. Fast immer spät, fast immer unter Druck.
Dieses Framework ist der dritte Weg: Ein Agent erzeugt selbst die Anwendung, und das Framework liefert die Teile, die Teams im Stress immer falsch hinbekommen. Der Testen, den jeder Entwickler anwenden kann, ist: „Wenn dieses Projekt morgen verschwindet – was bleibt mir dann?“ Die unter Antwort lautet: eine Node-Anwendung in deinem Repositorium, ohne Runtime-Abhängigkeiten von Drittanbietern und mit einer SQLite-Datei, die jede Anwendung öffnen kann.
Was nachgewiesen ist
Jede Zeile hier ist mit einem zusammengeführten Test belegt. Das komplette Verzeichnis – Behauptung, Beleg und die zugehörigen Grenzen – findet sich in site/claims.json; die dahinter liegende Review-Disziplin in docs/QUALITY_GATES.md.
Failgüte | Wo es aufhört | Beleg |
Ein Modul-Manifest wird zu einer Migration, einem Dienst, einer REST-Ressource, einer SDK-Methode und Admin-Seiten ohne Seiten-Code | nur generiertes CRUD – Workflows und Genehmigungen für selbst erstellte Objekte sind handgeschrieben |
|
Generierte Objekte referenzieren sich: Fremdschlüssel, Laufzeit-Validierung der Referenzziele, Selector in Admin | nur generiert-zu-generiert vielen Seitenendigkeit; keine Many-to-Many, keine inversen Sammlungen, keine Kaska |
|
Deterministische Genehmigungs-Richtlinie: Eine Erneuerung ab oder über der Schwelle wartet auf einen benannten Menschen | das eingebaute Verlängerungsobjekt und einen Wert Schwellenwert |
|
Ein Agent kann die Genehmigungsentscheidung des Menschen nicht treffen – durch einen Test festgeschrieben, nicht durch Konvention | der Handelnder wird festgestellt, aber nicht authentifiziert; das hält gegen einen ehrlichen Agenten, aber nicht gegen einen Angreifer |
|
Opportunities bewegen sich durch codeerste Pipeline-Stufen, wobei der Server autoritative spricht – der Client fragt ja, der Server entscheidet | nachgewiesen im eingebauten Opportunity-Modul; konfigurierbare Pipelines für generierte Instanzobjekte werden so gen.behauptet |
|
Lead-Erfassung, Anreicherung, erklärbares versioniertes Scoring, deterministisches Routing, Kommissionierung und Umwandlung | Anreicherung läuft nur gegen einen Fixture-Anbieter; keine echte Datenquelle angebunden |
|
Preiswerte zusammengesetzte Angebote, unveränderliche Versions des Angebots, versionierte Nachlass-Bedingungen mit Genehmigung | nur Fixture-Katalog; ganze Cents, kein Fremdwährung-Umrechnung – Währungen werden nie addiert |
|
Signatur-Envelope → verifzierte E0 → Signierter-Artefakt-Beleg → genau eine unveränderliche Bestell | Anbieter Fixture, Webhook-Schlüssel nur für Tests ein, vom Anbieter gemeldeter Ausfass |
|
Aktivierung in Vertrag, unveränderliche Version, Mitgliedschafts- und offene Verpflichtungen | nichts wird abgerechnet, verlängert, abgeändert/oder gekündigt; es gibt keinen Scheduler |
|
Übergabe in ein Projekt mit Arbeitspaketen, Meilensteinen und optionalem Partner; menschlich getaktete Ausführung | nichts plant, termint, akzeptiert oder abrechnet; keine Ergebnisse als Objekte |
|
Nur erweiterbare Zeit- und Aufwand-Erfassung, Bewertet mit einer versionierten Richtlinie und einer reproduzierbaren Beitrags-Schätzung | bewusst delta keine Marge: keine Umsatzerlösung, keine Selbstkosten, keine ARR/MRR, keine Fremdwhrg |
|
Ein vom Kunden verfasste Domain-Paket hängt sich an und tet sich wieder ab und die Kern-Fingerabdruck unverändert bleibt | Das Gerüst schreibt ein sauberes leeres Paket und nichts anderes; kein Registry, keine Veröffentlichung, keine Sandbox – Paketnotter läuft mit den Rechten des Hosts |
|
| erfindet keine Geschäftslogik, compoziert nichts, prüft weltweit keine Einzigartigkeit von Texten und installiert nichts |
|
| öffnet nie die Datenbank, nimmt keinen Kontakt zu einem Anbieter auf und liest keine Geheimnisse – sondern dann sagt es in der eigenen Ausgabe |
|
| ein Dokumentvertrag, kein Planer und keine Laufzeit; führt keinen Plan aus |
|
| Coverage wird von einem Szenario behauptet, nicht entdeckt; es fördert keine Zeilen oder Browser und jede Lauf (eine\nZ), steht für eine Lösungszusammensetzung |
|
Generierte Moduln entwickeln sich durch explizite Revisionen und nur anfügen, datieren mit namen | Quell- oder: welche Version in einer konkreten Datenbank ist von hier nicht erkennbar |
|
Die gesamte Testsuite läuft bei jedem Push, zusammen mit einem Rauchtest. Wie viele Tests das ist, und an welchem Commit sie gemessen wurde, steht in site/claims.json – unter measuredAgainst. Das ist der einzige Ort in diesem Repository, an dem eine Testzahl niedergeschrieben ist. Und der einzige, in dem npm run gtm:check eine Zahl erscheinen lassen darf.
Ausführen
Node.js Version 16 oder neuer. Es gibt keine Laufzeit-Abhängigkeiten von Drittanbietern und keinen Build-Schritt.
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 ist der schnellste Weg, zu sehen, was das wirklich ist. Die Standard-Komposition des Repositorys ist bewusst leert – ein Projekt schreibt selbst die Zusammensetzung, die es will – deshalb meldet crm app inspect auf einem frischen Klon nichts. Die Tour führt den Starter-Installer (der gleiche) und wie er den jede Push in CI läuft) in ein eigenes Verzeichnis aus und inspiziert dann das Ergebnis:
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 identityEs endet mit den elf Dingen, die der Inspektor nicht sehen kann, denn eine Tour, die nur die gute Hälfte zeigt, ist es nicht wert, durchgeführt zu werden. npm run tour -- --keep ./demo lässt das Projekt zum Erkunden zurück; --json gibt eine maschinenlesbare Quittung aus.
npm run falsify ist die Gegenrichtung. Eine Testanzahl sagt, wie viel geschrieben wurde; sie sagt nicht, was schiefgehen müsste, damit ein Test grün bleibt. Also entfernt dieser Befehl jeweils eine Regel – den Schutz für menschliche Akteure bei Genehmigungen, die Grenze der Genehmigungsschwelle, die Webhook-Signaturprüfung, die Unveränderlichkeit der Richtlinienversion, die Regel, dass ein vollständig verwaltetes Modul keinen öffentlichen Schreibzugriff erzeugt –, führt die Suite aus, die sie verteidigen soll, und nennt den Test, der sie gefunden hat. Er weigert sich, über nicht committete Änderungen zu laufen, und stellt jede Datei wieder her, die er berührt. Alles, was überlebt, wird als Lücke ausgegeben, denn das ist der nützliche Output (docs/FALSIFY.md, tests/falsify.test.js).
npm run demo erstellt zwei Verlängerungen und wird bei jedem Push von scripts/smoke.js geprüft:
20.000 € → geht direkt in den Vorschlag über.
80.000 € → bleibt in „Genehmigung ausstehend“, bis eine Führungskraft entscheidet.
Verwendung durch einen Coding-Agenten
Claude Code liest CLAUDE.md, .mcp.json und .claude/skills/. Codex liest AGENTS.md und .codex/config.toml. Beide sind eingecheckt und miteinander verbunden.
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.Ein Harness braucht nur: einen Befehl ausführen, stdout lesen, den Exit-Code lesen, JSON parsen und Dateien lesen und schreiben. Kein MCP-Server, kein Netzwerk, keine Anmeldedaten, keine Datenbank, kein langlebiger Prozess – 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 itExit-Codes sind der Vertrag: 0 gültig · 1 Probleme, Bericht wird trotzdem gedruckt · 2 nicht lesbar.
Der MCP-Server läuft über stdio (node --no-warnings packages/mcp/bin/server.js) und bietet Projektinspektion, Opportunity-Auflistung, Stufenwechsel-Anfragen, Genehmigungsentscheidungen, Laufspuren und Modulgerüst. Code-erzeugende und destruktive Werkzeuge sind Trockenlauf, es sei denn, du übergibst ein explizites Apply-Flag (tests/mcp.test.js, tests/scaffold.test.js – docs/MCP.md). Er ist nur stdio und nur lokal: Es gibt keinen gehosteten oder authentifizierten MCP-Endpunkt, und der Server erbt die Autorität des Prozesses, der ihn startet.
Wo es aufhört
Lies das, bevor du irgendetwas oben bewertest. docs/benchmarks/CRM_JTBD_MATRIX.md verfolgt jeden CRM-Job mit einem konservativen Statusvokabular, in dem nicht unterstützt der Standard ist und Belege erforderlich sind, um es zu verlassen.
Keine Authentifizierung, kein Mandant und keine RBAC. Der Server ist nur für die lokale Entwicklung gedacht; ein Actor-Header ist eine Behauptung, keine Identität. Setze ihn nicht einem Netzwerk aus.
Nur SQLite. PostgreSQL ist auf der Produktions-Spine-Spur und nicht implementiert.
Der Build-Benchmark wurde nicht ausgeführt. Es gibt keine „Successful Agent Build Rate“. Jeder Prozentsatz, der diesem Projekt zugeschrieben wird, ist erfunden –
docs/strategy/CRM_BUILD_BENCHMARK.mdist das Protokoll, kein Ergebnis.Kein Scheduler, keine Erinnerungen, nichts auf einem Timer. Folgeaufgaben und eine Aktivitätszeitleiste existieren als ein gemeinsames Modell (
docs/WORK_TASKS.md), und eine Person bewegt jede einzelne davon: Ein Fälligkeitsdatum ändert keinen Zustand, nichts Wiederkehrendes existiert, nichts wird zugewiesen oder benachrichtigt, und Verlängerungsfristen werden aufgezeichnet und nie ausgelöst.Keine E-Mail-, Kalender- oder Marketing-Integrationen. Es gibt einen Vertrag für Benachrichtigungsanbieter; kein Adapter sendet etwas an irgendjemanden.
Kein Import, Export, Dedupe, Merge, Massenbearbeitung, gespeicherte Ansichten oder globale Suche. Grundvoraussetzungen in jedem kommerziellen CRM, und keine davon hat bisher einen Meilenstein.
Du kannst noch keine echten Kundendaten hineinlegen. Keine Authentifizierung, kein Mandant, kein Export und kein Löschpfad – daher kann eine Anfrage auf Zugriff oder Löschung einer betroffenen Person damit nicht bedient werden.
docs/strategy/DATA_GOVERNANCE.mdist nur Design. Das Einzige, was gilt: Lead-Scoring ist deterministisch, versioniert und erklärbar, nicht das Urteil eines Modells über eine Person.Das ist ein Framework, kein Produkt, für das du dich anmeldest. Es gibt kein gehostetes CRM, keine kostenlose Stufe, kein Konto. Das Ergebnis ist eine Anwendung, die du ausführst.
Eigentum bedeutet vendorisierte Quelle: Es gibt keine Framework-Abhängigkeit, die du erhöhen müsstest.
npm create accordo– das veröffentlichtecreate-accordo@0.1.0– erstellt ein Projekt, das startet,validvonapp inspectmeldet und mit0vonproject doctorbeendet wird, indem es die Framework-Quelle hineinkopiert; derselbe Bootstrap läuft auch von einem Checkout (node packages/create-accordo/bin/create-accordo.js <dir> --apply, keine Installation, kein Netzwerk –tests/project-bootstrap.test.js). Was die Registry dir gibt, ist der Scaffolder, nicht das Framework: Dasaccordo-Paket ist eine absichtlich leere0.0.1-Namensreservierung. Das Framework ist in das Projekt eingebettet, also besitzt du das Ergebnis vollständig – und ein Upgrade bedeutet Zusammenführen, nicht eine Version erhöhen.
Architektur in fünf Ordnern
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 AdminDer Agent schreibt nie in eine Datenbanktabelle. Er ruft Servicemethoden und benannte Workflows auf, die Validierung, Akteuridentität, Richtlinie, Spur und Audit bewahren – ARCHITECTURE.md.
Dokumente
Lies das | Wofür |
die Regeln, die ein Agent befolgen muss, bevor er Code ändert | |
was das Produkt ist und was nicht | |
das technische Modell und seine Erweiterungsregeln | |
das Entscheidungsprotokoll, ADR-001 … ADR-020 | |
was heute im Repository wahr ist | |
jeder CRM-Job, sein Status und seine Belege | |
die Review-Disziplin, einschließlich der Kategorien für adversariale Reviews | |
Kategorie, Positionierung, Roadmap, Metriken | |
wie das Menschen erreicht und was auf einen Menschen angewiesen ist |
Lizenz
MIT, bestätigt durch 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