claude-factory
claude-factory
Ein persönliches „Loop-Engineering“-System, das per Sprachdialog gesteuert wird.
Wenn du die Claude-App im Sprachmodus ansprichst, arbeitet das dahinterliegende Claude Code im Repository und stellt Rückfragen, sobald Entscheidungen nötig sind. Antwortest du per Sprache oder über den Bildschirm, geht die Arbeit weiter. Das Konzept liegt in docs/01_企画書.md, die Umsetzungsrichtlinie in docs/02_制作指示書.md, das Sitzungsmanagement in docs/03_セッション管理.md.
あなた(音声)
└ Claude アプリ/ボイスモード(秘書)
└ カスタムコネクタ = MCP Bridge Server(Bearer 認証)
├ Orchestrator ── Claude Code(claude-agent-sdk)── 各リポジトリ
└ SQLite ── Dashboard(FastAPI + React)Im Kern steht ein Gate: Plan → Genehmigung → Ausführung. Arbeiten, bei denen geschrieben wird, kehren immer zuerst als Plan zurück und werden erst ausgeführt, wenn du sie genehmigt hast.
1. Einrichtung
Python 3.12 oder höher, Node.js 18 oder höher, Claude Code CLI (mit Max-Konto angemeldet).
# Mac / Linux
uv sync --extra dev # または: pip install -r requirements.txt
cp .env.example .env
python -c "import secrets; print(secrets.token_urlsafe(32))" # → .env の CF_MCP_TOKEN
python -c "import secrets; print(secrets.token_urlsafe(16))" # → .env の CF_DASHBOARD_PASSWORD# Windows
python -m venv .venv; .\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env # 中身のトークンを実値に置き換えるDa das SDK die Authentifizierung von Claude Code übernimmt, starte claude auf dem Ausführungshost einmal und melde dich mit dem Max-Konto an.
config.yaml an die eigene Umgebung anpassen
Passe mindestens die Verzeichnisse an, die bearbeitet werden dürfen. Alle Pfade, die nicht dort stehen, werden abgelehnt.
security:
repo_allowlist:
- ~/Private_Project # Mac
# - C:\Users\<you>\repos # WindowsRelated MCP server: MCP-Claude Code Bridge
2. Start
./scripts/run_mcp.sh # MCP サーバー(秘書の窓口 + ジョブのワーカー)
./scripts/run_dashboard.sh # ダッシュボード(初回はフロントも自動ビルド).\scripts\run_mcp.ps1
.\scripts\run_dashboard.ps1MCP:
http://127.0.0.1:8010/mcpDashboard:
http://127.0.0.1:8787
Der MCP-Serverprozess ist es, der die Jobs tatsächlich ausführt. Wenn nur das Dashboard läuft, kommt die Warteschlange nicht voran. Für den Dauerbetrieb ist
run_mcpzuständig.
Verbindungsprüfung:
curl -i http://127.0.0.1:8010/mcp # 401 = 認証が効いている
curl -s -X POST http://127.0.0.1:8010/mcp \
-H "Authorization: Bearer $CF_MCP_TOKEN" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'3. Als Connector registrieren
./scripts/tunnel.sh quick # 使い捨て(URL は起動ごとに変わる)Hänge /mcp an das angezeigte https://<ランダム>.trycloudflare.com an und füge es in der Claude-App unter „+“ → Connectors → Custom Connector hinzufügen ein.
Es gibt zwei Möglichkeiten, das Token zu übergeben:
Methode | Zu registrierende URL | Hinweise |
Header (empfohlen) |
| In den Connector-Einstellungen |
Pfad |
| Ausweichlösung, falls der Registrierungsbildschirm keine Header setzen kann |
Bei der Pfadmethode liegt das Token offen in der URL (bleibt in Logs zurück). Wenn du den Header verwenden kannst, setze mcp.allow_path_token in config.yaml auf false, um diese Möglichkeit zu schließen.
4. Verwendung
Sprich zum Beispiel so mit der Sekretärin (Sprache):
Status erfahren
„Wie läuft es gerade?“ →
get_org_status(die gesamte Organisation auf einmal – das zuerst)„Was ist mit diesem Job?“ →
get_job(mitdetailzwischen summary / report / log umschalten)„Lies mir die Ergebnisse der Recherche vor“ →
read_board(alle Ergebnisse der Abteilungen stehen hier)
Organisation bewegen (absteigend nach Schweregrad)
„Starte eine neue Aufgabe mit ‚Rechnungsparser‘“ →
create_task(Verzeichnis anlegen +git init+ Registrierung in einem Schritt;config.yamlmuss weder bearbeitet noch neu gestartet werden)„Leg die Frage der Speichermethode dem Designteam vor“ →
start_council(kann sorglos verwendet werden, weil keine Dateien verändert werden)„Was ist das Ergebnis der Besprechung?“ →
get_council(Ergebnis, Diskussion je Streitpunkt, verbleibende Gegenstimmen)„Bitte demo, die fehlgeschlagenen Tests zu beheben“ →
dispatch_to_code(es wird nur ein Plan erzeugt)„Genehmigt“ →
answer_question(erst hier wird ausgeführt)„Ich beauftrage dich mit diesem Ziel“ →
grant_mandate(die autonome Ausführung beginnt; mitrevoke_mandatestoppen)
Sitzungen
„Verzweige die aktuelle Sitzung und probiere einen anderen Ansatz aus“ →
fork_session(pergit worktreeisolieren)
Organisationsform (Design-Dokument docs/04_組織化設計書.md)
子会社 = プロジェクト(互いに不干渉)
部署 = 役割 調査 / 設計班 / 実装 / デザイン / 統合管理
成果ボード 部署はここだけを介して成果を見せ合うDie Besprechung des Designteams läuft in vier von der Moderation geführten Phasen ab.
Vorbereitende Durchsicht – Die Moderation entscheidet selbst über offensichtliche Punkte (in
resolved_by_chairfestgehalten) und extrahiert nur die Streitpunkte.Zuweisung – Für jeden Streitpunkt wird eine Person aus der Personalliste benannt (mit Begründung).
Diskussion – Die benannten Personen äußern ihre Meinung und eine Kritik an den vorangegangenen Beiträgen.
Schlussfolgerung – Die Moderation liefert für jeden Streitpunkt das Ergebnis, verbleibende Gegenstimmen und die Punkte, die der Mensch klären muss.
Die Personalliste steht in config/personas.yaml (1 Moderator + 10 Mitglieder). Sie kann frei bearbeitet werden und wird beim Start übernommen.
Berechtigungen je Abteilung (Prinzip der geringsten Rechte)
Rolle | Web | Dateizugriff | Genehmigung |
Recherche | Ja | Nein | Nicht nötig |
Designteam | Ja | Nein | Nicht nötig |
Implementierung | Nein | Nur im Repository | Mandat |
Design | Ja | Nur im Ergebnisverzeichnis | Mandat |
Integrationsmanagement | Nein | Nein | – |
Recherche darf das Web sehen, aber keine Dateien schreiben; Implementierung darf Dateien schreiben, aber nicht das Web sehen – so ist es getrennt. Änderungen erfolgen über roles: in config.yaml, und nur Menschen können sie vornehmen (es entsteht kein Weg, über den der Integrationsmanagement-Agent seine eigenen Berechtigungen ausweiten kann).
Autonome Ausführung (Mandat)
Wenn du mit grant_mandate ein Ziel genehmigst, verteilt das Integrationsmanagement die Arbeit an die Abteilungen, und es geht ohne einzelne Genehmigungen weiter. Als Gegenleistung für weniger Genehmigungen läuft es in einer Form, die jederzeit verworfen werden kann.
Es wird ein eigener Arbeitsbranch angelegt (
mainbleibt unberührt).Budget (Jobanzahl, Kosten) und Frist werden gesetzt; wenn beides aufgebraucht ist, stoppt es automatisch.
Löschen,
git push, Änderungen am Verlauf und das Hinzufügen von Abhängigkeiten liegen außerhalb des Mandats. Es wird immer angehalten und nachgefragt.Mit dem „Stopp“-Button im Dashboard (
revoke_mandate) lässt sich alles samt laufender Ausführung widerrufen.
Im Dashboard siehst du die Warteschlange offener Fragen, die Fortschritts-Timeline, Live-Logs, Berichte, den Fork-Baum der Sitzungen und das Audit-Log. Antworten laufen per Sprache wie über den Bildschirm durch denselben Weg.
Sekretärin-Skills (skills/)
Da die Betriebsweise jeden Morgen einen neuen Chat startet, hat die Sekretärin keine Erinnerung an den Vortag. Die Startprozedur ist als Skill unter skills/factory-startup/ abgelegt (Situationserfassung → Vorlesereihenfolge → Vorschläge für heute, samt Vorleseskript). Lade sie in den Einstellungen der Claude-App hoch und rufe sie zu Beginn des Chats mit /factory-startup (Kurzform /cf) auf. Es sind keine Triggerwörter in natürlicher Sprache hinterlegt (um Fehlauslösungen und verpasste Starts zu vermeiden). Die /-Vorschläge der App stammen aus dem name des Skills – der Name selbst ist also das Signal. Details in skills/README.md.
Die Rollen sind getrennt: SECRETARY_GUIDE auf der Connector-Seite (wird bei jeder Anfrage mitgeschickt – also kurz halten) und der Skill (wird nur bei Bedarf gelesen – also Abläufe und Skripte dort ablegen).
Wirksame Anweisung für die Sekretärin (Konzept §Verifikation 4)
Damit die Sekretärin nicht mitten im Gespräch eigenmächtig Aufträge losschickt, sag ihr am besten Folgendes:
Rufe
dispatch\_to\_codeerst auf, wenn ich „Beauftrage es so“ sage. Bis dahin begleite die Beratung und arbeite die Anweisung mit mir zusammen aus.
5. Sicherheit (Umsetzungsrichtlinie §8)
Umgesetzte Schutzmaßnahmen:
# | Anforderung | Umsetzung |
1 | MCP erfordert Bearer-Token |
|
2 | repo_path nur absolute Pfade aus der allowlist |
|
3 | Sekretärin keine Raw-Shell bieten | MCP-Tools sind nur eine begrenzte Schnittstelle |
4 | Schreiben/Löschen/Shell-Ausführung hinter Genehmigungs-Gate | Plan → Genehmigung → Ausführung + |
5 | Keine Secrets committen |
|
6 | Alle dispatch- und answer-Aufrufe im Audit-Log |
|
7 | Rate-Limit | Token-Bucket für MCP und Dashboard |
8 | Dashboard hinter Authentifizierung | Cookie-Sitzung oder Cloudflare Access |
Need correct table row 8: "Dashboard hinter Authentifizierung" should be "hinter Authentifizierung" and implementation "Cookie-Sitzung oder Cloudflare Access". The above is a bit jumbled because I included "| 8 |" in same line. Final should be clean.
Let's redo table:
| 7 | Rate-Limit | Token-Bucket für MCP und Dashboard | | 8 | Dashboard hinter Authentifizierung | Cookie-Sitzung oder Cloudflare Access |
Need no "MCP" typo.
Then paragraph:
Beim Test mit echtem Claude Code sind zwei wichtige Punkte aufgefallen; sie sind bereits abgesichert:
can_use_toolwird für Tools, die der CLI automatisch genehmigt, nicht aufgerufen. Wenn man sich nur auf den Autorisierungs-Callback verlässt, kommt es auch im Plan-Modus zu Schreibvorgängen außerhalb des Repositorys. Deshalb sind das CLI-seitige Verbot überdisallowed_toolsund eine OS-Sandbox (orchestrator.sandbox) übereinandergelegt.Das Verlassen des Verzeichnisses per
cdwird durch die Pfadprüfung nicht gestoppt. Absolute Pfade und..in Bash-Befehlen werden mit_bash_escapes_workspaceüberwacht.Die
.claude/settings.jsondes Ziel-Repositorys wird nicht geladen (setting_sources=[]). Wenn sie geladen würde, könnte das Repository sich seine eigenen Berechtigungen selbst genehmigen.
6. Fester öffentlicher Zugang (M5)
Wegwerf-Tunnel ändern die URL bei jedem Start. Wenn du den Dienst regelmäßig nutzt, wechsle zu einem benannten Tunnel.
cloudflared tunnel login
cloudflared tunnel create claude-factory
cloudflared tunnel route dns claude-factory mcp.<domain>
cloudflared tunnel route dns claude-factory dash.<domain>~/.cloudflared/config.yml:
tunnel: claude-factory
credentials-file: /path/to/<tunnel-id>.json
ingress:
- hostname: mcp.<domain>
service: http://localhost:8010
- hostname: dash.<domain>
service: http://localhost:8787
- service: http_status:404Den Dauerbetrieb übernimmt der systemd-Dienst cloudflared.service (er liest /etc/cloudflared/config.yml).
systemctl status cloudflared # 状態確認
sudo systemctl restart cloudflared # 設定変更の反映
journalctl -u cloudflared -f # ログ./scripts/tunnel.sh named claude-factory kann den Tunnel ebenfalls starten, wird aber normalerweise nicht verwendet, weil der Connector dann doppelt auf denselben Tunnel gelegt würde wie beim Dienst. Wenn du auf manuellen Betrieb umstellen willst, stoppe zuerst sudo systemctl stop cloudflared. Auch das Skript erkennt den laufenden Dienst, warnt und fragt nach.
Auf der Route-53-Seite erzeugt cloudflared tunnel route dns einen CNAME (<tunnel-id>.cfargotunnel.com). Die Registrierungs-URL für den Connector lautet https://mcp.<domain>/mcp. Vor das Dashboard wird Cloudflare Access gesetzt; nur in diesem Fall wird dashboard.auth: none gesetzt.
7. Entwicklung
.venv/bin/python -m pytest -q # テスト
cd src/claude_factory/dashboard/web && npm run dev # フロントの開発サーバーDie Struktur entspricht §2 der Umsetzungsrichtlinie (als Paket unter src/claude_factory/, nicht direkt unter src/):
src/claude_factory/
├─ config.py 設定(config.yaml + .env)
├─ models.py 型・出力規約・その解析
├─ store.py SQLite DAO
├─ security.py トークン・allowlist・レート制限
├─ runner.py claude-agent-sdk ラッパと承認ゲート(役割別の権限)
├─ orchestrator.py ジョブキュー、計画→承認→実行、自走ループ
├─ sessions.py セッション一覧/閲覧/分岐(git worktree 隔離)
├─ personas.py 社員名簿と組閣
├─ council.py 設計班の合議エンジン
├─ integrate.py 統合管理(作業計画を出すだけ。実行はしない)
├─ org.py 組織全体の状況
├─ mcp_server.py 秘書向け MCP
└─ dashboard/ FastAPI + React(Vite)Dokumentation: docs/01_企画書.md (Konzept) → 02_制作指示書.md (Basis) → 03_セッション管理.md (Ergänzung) → 04_組織化設計書.md (Organisation).
8. Was noch offen ist
M6 Sprach-E2E: Ein reales Projekt komplett per Sprache durchlaufen lassen (nach der Connector-Registrierung manuell prüfen).
Push-Benachrichtigungen bei anstehenden Entscheidungen (v2).
Aufräumregeln für verzweigte Worktrees (nach dem Merge löschen oder behalten).
Erkennung, wenn das Integrationsmanagement immer wieder dieselbe Arbeit zuteilt (derzeit sind Budget und Frist die einzige Bremse).
Ob bei unterschiedlichen Meinungen zwischen Abteilungen der Integrationsmanager als Vermittler eingesetzt wird oder ob die Entscheidung an einen Menschen eskaliert.
Need check typos in the last block: "Umsetzungsrichtlinie" spelled correctly? I wrote "Umsetzungsrichtlinie" with "s" maybe. Let's verify: "Umsetzungsrichtlinie" - actually correct German: "Umsetzungsrichtlinie" (Umsetzung + s + Richtlinie). Yes, "Umsetzungsrichtlinie" has an "s" between. I wrote "Umsetzungsrichtlinie" in section 5. In section 7 "Umsetzungsrichtlinie" maybe. Need consistent. Let's use "Umsetzungsrichtlinie" (with "s"). In my fragment I wrote "Umsetzungsrichtlinie" perhaps. We'll correct.
Also "src/claude_factory/" - I wrote src/claude_factory/ in fragment as src/claude_factory/? Need ensure "claude_factory" with underscore. Good.
Also "docs" text: docs/01_企画書.md etc. Need correct "企画書" etc. In fragment I wrote "企画書" maybe. Ensure no typos.
Let's reconstruct final from section 7 onward cleanly:
7. Entwicklung
.venv/bin/python -m pytest -q # テスト
cd src/claude_factory/dashboard/web && npm run dev # フロントの開発サーバーDie Struktur entspricht §2 der Umsetzungsrichtlinie (als Paket unter src/claude_factory/, nicht direkt unter src/):
src/claude_factory/
├─ config.py 設定(config.yaml + .env)
├─ models.py 型・出力規約・その解析
├─ store.py SQLite DAO
├─ security.py トークン・allowlist・レート制限
├─ runner.py claude-agent-sdk ラッパと承認ゲート(役割別の権限)
├─ orchestrator.py ジョブキュー、計画→承認→実行、自走ループ
├─ sessions.py セッション一覧/閲覧/分岐(git worktree 隔離)
├─ personas.py 社員名簿と組閣
├─ council.py 設計班の合議エンジン
├─ integrate.py 統合管理(作業計画を出すだけ。実行はしない)
├─ org.py 組織全体の状況
├─ mcp_server.py 秘書向け MCP
└─ dashboard/ FastAPI + React(Vite)Dokumentation: docs/01_企画書.md (Konzept) → 02_制作指示書.md (Basis) → 03_セッション管理.md (Ergänzung) → 04_組織化設計書.md (Organisation).
8. Was noch offen ist
...
Good.
Need section 5 table row 8 in final clean:
| 8 | Dashboard hinter Authentifizierung | Cookie-Sitzung oder Cloudflare Access |
Need row 7 "MCP" not "MCP" typo: "Token-Bucket für MCP und Dashboard".
Need row 6 "dispatch- und answer-Aufrufe" - "dispatch" is not code? Original "dispatch・answer" no code. We can keep.
Need "answer" should perhaps be answer to show function. But original no code. Keep.
Need "audit_log" code.
Need "dispatch_and_answer" no.
Now, about "Sekretärin" umlaut: "Sekretärin" is correct (S e k r e t ä r i n). I need write "Sekretärin" not "Sekretärin"? Actually correct German: "Sekretärin" (S e k r e t ä r i n). Yes.
Need "Live-Logs" and "Audit-Log" capitalization.
Need "Cloudflare Access" keep.
Need "Route 53" with space. Good.
Need "CNAME" and "cfargotunnel.com" in code. Good.
Need "Cloudflare Access" in section 6 "vor das Dashboard gesetzt" - "gesetzt" repeated with dashboard.auth gesetzt; fine.
Need "dashboard.auth: none" - code span.
Need "mcp.allow_path_token" - code span.
Need "BearerAuthMiddleware" - code span.
Need "resolve_repo_path" - code span.
Need "orchestrator.sandbox" - code span.
Need "gix" in "git worktree" - "git worktree" plain. Good.
Potential issue: "Ein persönliches „Loop-Engineering“-System" - The original "個人用「ループエンジニアリング」システム" could be "personal system for loop engineering". Our version okay.
Need "Claude アプリのボイスモード" - "Sprachmodus" is not exactly "voice mode"; "Voice-Modus" would be more literal. In German, "Sprachmodus" implies voice. Good.
Need "音声か画面で" = "per Sprache oder über den Bildschirm" good.
Need "裏の Claude Code" = "das dahinterliegende Claude Code" good.
Need "計画 → 承認 → 実行" - we kept with arrows. Good.
Need "書き込みが起きる作業" = "Arbeiten, bei denen geschrieben wird" good.
Need "必ず一度計画として返り" = "always return once as plan". We translated.
Need "あなたが承認するまで実行されない" = "not executed until you approve". Good.
Now, final answer should be just that. Need not mention anything else.
Let's produce final with all corrections.# claude-factory
Ein persönliches „Loop-Engineering“-System, das per Sprachdialog gesteuert wird.
Wenn du die Claude-App im Sprachmodus ansprichst, arbeitet das dahinterliegende Claude Code im Repository und stellt Rückfragen, sobald Entscheidungen nötig sind. Antwortest du per Sprache oder über den Bildschirm, geht die Arbeit weiter. Das Konzept liegt in docs/01_企画書.md, die Umsetzungsrichtlinie in docs/02_制作指示書.md, das Sitzungsmanagement in docs/03_セッション管理.md.
あなた(音声)
└ Claude アプリ/ボイスモード(秘書)
└ カスタムコネクタ = MCP Bridge Server(Bearer 認証)
├ Orchestrator ── Claude Code(claude-agent-sdk)── 各リポジトリ
└ SQLite ── Dashboard(FastAPI + React)Im Kern steht ein Gate: Plan → Genehmigung → Ausführung. Arbeiten, bei denen geschrieben wird, kehren immer zuerst als Plan zurück und werden erst ausgeführt, wenn du sie genehmigt hast.
1. Einrichtung
Python 3.12 oder höher, Node.js 18 oder höher, Claude Code CLI (mit Max-Konto angemeldet).
# Mac / Linux
uv sync --extra dev # または: pip install -r requirements.txt
cp .env.example .env
python -c "import secrets; print(secrets.token_urlsafe(32))" # → .env の CF_MCP_TOKEN
python -c "import secrets; print(secrets.token_urlsafe(16))" # → .env の CF_DASHBOARD_PASSWORD# Windows
python -m venv .venv; .\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env # 中身のトークンを実値に置き換えるDa das SDK die Authentifizierung von Claude Code übernimmt, starte claude auf dem Ausführungshost einmal und melde dich mit dem Max-Konto an.
config.yaml an die eigene Umgebung anpassen
Passe mindestens die Verzeichnisse an, die bearbeitet werden dürfen. Alle Pfade, die nicht dort stehen, werden abgelehnt.
security:
repo_allowlist:
- ~/Private_Project # Mac
# - C:\Users\<you>\repos # Windows2. Start
./scripts/run_mcp.sh # MCP サーバー(秘書の窓口 + ジョブのワーカー)
./scripts/run_dashboard.sh # ダッシュボード(初回はフロントも自動ビルド).\scripts\run_mcp.ps1
.\scripts\run_dashboard.ps1MCP:
http://127.0.0.1:8010/mcpDashboard:
http://127.0.0.1:8787
Der MCP-Serverprozess ist es, der die Jobs tatsächlich ausführt. Wenn nur das Dashboard läuft, kommt die Warteschlange nicht voran. Für den Dauerbetrieb ist
run_mcpzuständig.
Verbindungsprüfung:
curl -i http://127.0.0.1:8010/mcp # 401 = 認証が効いている
curl -s -X POST http://127.0.0.1:8010/mcp \
-H "Authorization: Bearer $CF_MCP_TOKEN" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'3. Als Connector registrieren
./scripts/tunnel.sh quick # 使い捨て(URL は起動ごとに変わる)Hänge /mcp an das angezeigte https://<ランダム>.trycloudflare.com an und füge es in der Claude-App unter „+“ → Connectors → Custom Connector hinzufügen ein.
Es gibt zwei Möglichkeiten, das Token zu übergeben:
Methode | Zu registrierende URL | Hinweise |
Header (empfohlen) |
| In den Connector-Einstellungen |
Pfad |
| Ausweichlösung, falls der Registrierungsbildschirm keine Header setzen kann |
Bei der Pfadmethode liegt das Token offen in der URL (bleibt in Logs zurück). Wenn du den Header verwenden kannst, setze mcp.allow_path_token in config.yaml auf false, um diese Möglichkeit zu schließen.
4. Verwendung
Sprich zum Beispiel so mit der Sekretärin (Sprache):
Status erfahren
„Wie läuft es gerade?“ →
get_org_status(die gesamte Organisation auf einmal – das zuerst)„Was ist mit diesem Job?“ →
get_job(mitdetailzwischen summary / report / log umschalten)„Lies mir die Ergebnisse der Recherche vor“ →
read_board(alle Ergebnisse der Abteilungen stehen hier)
Organisation bewegen (absteigend nach Schweregrad)
„Starte eine neue Aufgabe mit ‚Rechnungsparser‘“ →
create_task(Verzeichnis anlegen +git init+ Registrierung in einem Schritt;config.yamlmuss weder bearbeitet noch neu gestartet werden)„Leg die Frage der Speichermethode dem Designteam vor“ →
start_council(kann sorglos verwendet werden, weil keine Dateien verändert werden)„Was ist das Ergebnis der Besprechung?“ →
get_council(Ergebnis, Diskussion je Streitpunkt, verbleibende Gegenstimmen)„Bitte demo, die fehlgeschlagenen Tests zu beheben“ →
dispatch_to_code(es wird nur ein Plan erzeugt)„Genehmigt“ →
answer_question(erst hier wird ausgeführt)„Ich beauftrage dich mit diesem Ziel“ →
grant_mandate(die autonome Ausführung beginnt; mitrevoke_mandatestoppen)
Sitzungen
„Verzweige die aktuelle Sitzung und probiere einen anderen Ansatz aus“ →
fork_session(pergit worktreeisolieren)
Organisationsform (Design-Dokument docs/04_組織化設計書.md)
子会社 = プロジェクト(互いに不干渉)
部署 = 役割 調査 / 設計班 / 実装 / デザイン / 統合管理
成果ボード 部署はここだけを介して成果を見せ合うDie Besprechung des Designteams läuft in vier von der Moderation geführten Phasen ab.
Vorbereitende Durchsicht – Die Moderation entscheidet selbst über offensichtliche Punkte (in
resolved_by_chairfestgehalten) und extrahiert nur die Streitpunkte.Zuweisung – Für jeden Streitpunkt wird eine Person aus der Personalliste benannt (mit Begründung).
Diskussion – Die benannten Personen äußern ihre Meinung und eine Kritik an den vorangegangenen Beiträgen.
Schlussfolgerung – Die Moderation liefert für jeden Streitpunkt das Ergebnis, verbleibende Gegenstimmen und die Punkte, die der Mensch klären muss.
Die Personalliste steht in config/personas.yaml (1 Moderator + 10 Mitglieder). Sie kann frei bearbeitet werden und wird beim Start übernommen.
Berechtigungen je Abteilung (Prinzip der geringsten Rechte)
| Rolle | Web | Dateizugriff | Genehmigung | | --- | --- |
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceConnects Claude Desktop directly to GitHub repositories and git commands, enabling users to clone repos, check status, commit changes, push code, create repositories, and manage GitHub resources through natural conversation.467
- FlicenseBqualityDmaintenanceBridges Claude Desktop with Claude Code CLI to delegate complex coding tasks like creating React apps, building APIs, and debugging scripts while maintaining interaction through the Desktop interface.51
- FlicenseNot gradedqualityCmaintenanceEnables natural voice interaction with Claude Code through speech-to-text, supporting wake word activation and multiple backends like Whisper and Google. It allows users to execute commands and control their coding environment hands-free via their microphone.2
- AlicenseNot gradedqualityDmaintenanceEnables bidirectional voice interaction for Claude Code using local speech-to-text and text-to-speech models optimized for Apple Silicon. It provides tools to listen to user speech via microphone and speak responses aloud through system speakers.16Apache 2.0
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Trade Robinhood through natural language in Claude Code.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
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/yuritada/claude-factory'
If you have feedback or need assistance with the MCP directory API, please join our Discord server