Dialograft
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Dialograft
Software evolves through conversation.
Demo einer kleinen Rechnungs-SaaS für Dienstleister, die per Chat (zuerst Claude Code über MCP) bedient wird – und die eine fehlende Funktion im Gespräch aufnimmt, klärt, bewerten lässt, ein unverbindliches Entwicklungsangebot erstellt und nach Annahme durch einen lokalen Coding-Agenten als Draft-PR umsetzen lässt. Review, Merge und Deployment bleiben menschliche, getrennte Schritte.
Alle Daten sind Demo-Daten, keine Buchhaltungsbelege.
Showcase
Showcase-Seite mit Video: https://ioannis-koulouris.github.io/ik-dialograft/
Live erprobt am 31.10.2026 auf einem Mac (OrbStack, Ollama, Qwen Code): drei Erweiterungen liefen jeweils vom Wunsch im Chat über Klärung, Bewertung, Angebot, Agentenlauf, Review und Merge bis zum Deployment – darunter automatische Mahnstufen und ein CSV-Export. Schutzregeln und Reviews haben dabei mehrfach eingegriffen; Details im Prüfbericht.
Mahnungen im lokalen Testpostfach | Einzelne Mahnung |
|
|
Related MCP server: Scribo MCP Server
Architektur
Claude Code ──MCP (Streamable HTTP, Token A)──▶ mcp ──HTTP (Token B)──▶ api ──▶ MySQL
│ (Aggregate, Jobs, Notifications,
│ Audit, Receipts)
worker ◀──Jobs────────┘
│ ├─▶ GitHub (Issue, Labels, Draft-PR)
│ ├─▶ Ollama (qwen3-coder:30b) – Bewertung
│ └─▶ Runner-Controller (nativ, Token D)
│ └─▶ docker run dialograft-coder (Qwen Code, kurzlebig)
operator (Token C) ──▶ api: requeue / approve-merge / deployedModul | Pfad |
Fachlogik (Kunden, Angebote, Rechnungen, Zahlungen, Offene Posten, Reports) |
|
PDF / XLSX |
|
Erweiterungen: Scope, Bestätigung, Routing, Angebot, Auftrag |
|
Werkzeugkatalog (Zod = einzige Quelle) |
|
API (Fastify, |
|
MCP-Adapter (stateless Streamable HTTP) |
|
Store-Vertrag, MySQL (mysql2), Test-Store |
|
Worker (Bewertung, Umsetzung, Pausieren) |
|
GitHub / Snapshot / Ollama |
|
Runner-Controller, Pfadregeln, Workspace-Diff |
|
Kubernetes (OrbStack), Skripte |
|
Generierte Verträge |
|
Sicherheitsgrundsätze
Drei getrennte Tokens: Client→MCP, MCP→API, Operator (plus Runner-Token). Fehlend/falsch → 401, falsche Rolle/Recht → 403.
Mandant wird serverseitig bestimmt; Eingaben mit unbekannten Feldern (z. B.
tenantId) werden abgelehnt (strictObject).Bestätigungspflichtige Werkzeuge verlangen
confirm: true; Scope-Bestätigung, Angebotsannahme und Deployment-Freigabe sind getrennte Schritte.Testmail nur an
.invalid-Adressen. Keine automatischen Zahlungserinnerungen im Ausgangsstand (bewusste Produktlücke, siehelist_capabilities).Bewertung: nur freigegebene Dateien eines fixierten Commits; jeder Codebeleg muss wörtlich im Snapshot vorkommen; Blocker, ungültige Belege oder unvollständiger Kontext →
needs-human.Runner: Container ohne Docker-Socket, DB-, GitHub-, Kube- oder Home-Zugriff;
--cap-drop ALL, read-only Rootfs, Ressourcen- und Zeitlimit; Checks mit--network none. Änderungen nur an erlaubten.ts-Dateien; Symlinks, Löschungen, Dependencies, Infrastruktur, Auth/Config/Runner/Worker und bestehende Tests sind geschützt. Worker prüft Ergebnisse erneut, bevor er einen Draft-PR erstellt.Grenzen: Container-Isolation ersetzt keine vollständige Egress-Kontrolle; nur für das kontrollierte Demo-Repository gedacht.
Lokal entwickeln
npm ci
npm run typecheck && npm test && npm run build
# MySQL-Integrationstest (sonst explizit übersprungen):
DIALOGRAFT_TEST_DATABASE_URL=mysql://user:pw@127.0.0.1:3306/db npm test
npm run contracts # OpenAPI + MCP-Katalog neu erzeugenBetrieb auf dem Mac (OrbStack)
Secrets erzeugen:
npm run build && node dist/src/cli/gen-secrets.js > .env, dann.env.exampleals Vorlage für die übrigen Werte ergänzen (GITHUB_TOKENmit Issues/PR/Contents-Rechten nur für dieses Repo).scripts/k8s-secrets.sh .env– legt das Kubernetes-Secret an (Skripte verweigern andere kube-Kontexte alsorbstack).scripts/up.sh– bautdialograft:local, startet MySQL, Mailpit, API, MCP, Worker.scripts/migrate-seed.sh– explizite Migration + Seed (kein Reset; Seed wird übersprungen, wenn Daten existieren).scripts/port-forward.sh– MCP auf127.0.0.1:8081, Mailpit-UI auf127.0.0.1:8025.Ollama nativ:
ollama pull qwen3-coder-next:q8_0(live erprobt;qwen3-coder:30bbewertet weniger zuverlässig, siehe Prüfbericht). Ollama nur an localhost binden; OrbStack erreicht es überhost.internal.Runner:
scripts/runner.sh(baut bei Bedarf das Coding-Imagedialograft-coder:localund startet den Controller im Vordergrund auf127.0.0.1:8090; OrbStack-Pods erreichen ihn überhost.internal). Er klont aus dem lokalen Checkout, braucht also keine Git-Zugangsdaten – der Checkout mussmainentsprechen. Modell überRUNNER_MODEL, Standardqwen3-coder-next:q8_0. Der Worker startet Läufe asynchron und fragt den Status ab; der Runner erzeugtcontracts/nach dem Agentenlauf selbst.Claude Code verbinden:
claude mcp add --transport http dialograft http://127.0.0.1:8081/mcp --header "Authorization: Bearer $MCP_CLIENT_TOKEN"
Verwaiste Exportdateien (nach fehlgeschlagenen Transaktionen): npm run sweep-exports zeigt sie an, npm run sweep-exports -- --delete entfernt sie.
Operator-Aktionen: scripts/operator.sh requeue FR-0001 assess "Begründung", scripts/operator.sh approve-merge FR-0001 <sha>, Deployment: scripts/deploy-approved.sh FR-0001 <sha>.
Prüfstand: docs/VERIFICATION.md.
Lizenz
MIT © 2026 Ioannis Koulouris
This server cannot be deployed
Maintenance
Related MCP Connectors
Create, send and track invoices from a conversation in Claude, ChatGPT or any MCP client that supports OAuth. Draft an invoice from one sentence or from last month's invoice for the same client, finalize it, email it to your client and send payment reminders for overdue ones. See revenue by month and by client, download PDFs and e-invoices (ZUGFeRD, XRechnung), and export DATEV packages for your tax advisor. Invoices follow the tax rules of 25 countries, including reverse charge and the small-business VAT exemption. New invoices are drafts, and nothing is emailed until you ask. Pay per invoice with no subscription: the first invoice is free.
Invoicing tools for AI assistants: clients, draft invoices with computed tax, and email sending.
Compliant invoicing for freelancers: create, issue and track invoices from your AI agent.
Run a service business from your AI agent: CRM, leads, scheduling, invoicing, jobs and more.
Related MCP Servers
- AlicenseBqualityAmaintenanceAI-native business management — invoices, expenses, clients, products, quotes, and webhooks. 31 tools for Claude, Cursor, Windsurf, and Cline.100497 npm13MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to create and manage e-invoices through natural language, supporting EU compliance formats like ZUGFeRD and XRechnung, as well as US plain PDF invoices.7-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to manage compliant e-invoicing (Factur-X, EN 16931) by creating, issuing, sending, and tracking invoices, quotes, and retainers through natural language via the Model Context Protocol.MIT
- AlicenseNot gradedqualityBmaintenanceEnables freelancers and small agencies to manage client operations through voice, with daily briefings, call preparation, invoice tracking, stale-client alerts, and persistent memory across sessions.MIT

