Patricia

offiziell

Patricia verbindet Ihren KI-Client mit einem Patricia-Workspace. Lesen Sie Workspace-Speicher und Dateien, prüfen Sie verbundene Integrationen und delegieren Sie Aufgaben an Patricia mit Kontrollen zur menschlichen Genehmigung.

Was kann man mit Patricia MCP machen?

  • Plugin installieren und konfigurieren — Bitten Sie Ihre KI, das patricia-Plugin über den Marketplace zu installieren und sich mit OAuth oder einem persönlichen Token anzumelden.
  • Projekte automatisch onboarden — Der SessionStart-Hook begrüßt Sie und bietet den Onboard-Skill einmal pro Projekt an, wenn ein Token konfiguriert ist.
  • Relevante Erinnerungen abrufen — Der UserPromptSubmit-Hook fügt relevanten Eingabeaufforderungen über search_memory Erinnerungen hinzu und sendet dabei bis zu 300 Zeichen.
  • Integrationen vor der Ausführung von Tools prüfen — Der PreToolUse-Hook prüft lokal die Eingaben von WebFetch, WebSearch und Bash gegen einen bekannten Anbieterkatalog, ohne Netzwerkaufrufe.
  • Memory-Pushes vorschlagen — Nach lokalen Memory-Schreibvorgängen schlägt der PostToolUse-Hook remember mit einem expliziten Geltungsbereich vor, und der Stop-Hook erinnert Sie nach umfangreichen Sitzungen.
  • Einstellungen und Dateien verwalten — Verwenden Sie get_settings, update_settings, list_files und get_brand_kit, um die Workspace-Konfiguration und Marken-Assets zu lesen oder zu ändern.

Dokumentation

[!NOTE] Dieses Repository wird aus bettergroupinc/patricia-monorepo unter plugins/patricia/ generiert. Die Automatisierung synchronisiert diesen öffentlichen Spiegel. Quell-Commit: 147037702592109a4944cdbfb94bdcabb33f490f. Pull-Requests und Issues bitte im Monorepo öffnen.

patricia Claude-Code-Plugin

Einmal installieren, und ein Agent nutzt Patricias MCP-Server korrekt, ohne dass es ihm erneut gesagt werden muss.

Es bringt drei Dinge mit.

  1. Anleitung. Fünf Skills decken Patricia-Grundlagen, Onboarding, delegierte Arbeit, Integrationen und die Memory-Bridge ab.
  2. Eine MCP-Verbindung. Die Installation konfiguriert Patricias Streamable-HTTP-Server für die OAuth-Anmeldung.
  3. Fünf lokale Hooks. Sie onboarden Projekte, rufen Erinnerungen ab, prüfen zuerst Integrationen und schlagen Memory-Pushes vor. Sie schreiben nie in Patricia.

Dies ist ein verteilbares Claude-Code-Plugin. Eine Person installiert es auf ihrem eigenen Rechner, und es läuft in der Claude-Code-Sitzung dieser Person. Es ist nicht Patricias Produkt-Skill-Katalog, und nichts darin läuft innerhalb von Patricia.

Installation

claude plugin marketplace add patricia-app/patricia-plugin
claude plugin install patricia@patricia

Dann starten Sie eine neue Sitzung oder führen Sie /reload-plugins aus.

Dieser Marketplace ist https://github.com/patricia-app/patricia-plugin.. Die Automatisierung generiert jede Datei darin aus Patricias Monorepo.

Hinweis für Mitwirkende: Das Monorepo ist privat. Ein Mitwirkender mit Zugriff kann das Monorepo selbst als Marketplace hinzufügen, weil dessen Wurzel-.claude-plugin/marketplace.json das patricia-Plugin auf ./plugins/patricia verweist.

Installieren Sie es. Laden Sie es nicht mit --plugin-dir. Ein verzeichnisgeladenes Plugin erhält seine Skills, aber nicht seine Hooks, sodass die Anleitung funktionieren würde, aber die Memory-Bridge nie ausgelöst würde. Das wurde gemessen und nicht angenommen: Ein Sonden-Hook, der über --plugin-dir geladen wurde, lief nie, während derselbe Hook, der in den Projekteinstellungen deklariert war, beim selben Schreibvorgang im selben Headless-Modus lief. Claude Code registriert die hooks/hooks.json eines Plugins nur für ein installiertes, aktiviertes Plugin.

claude plugin details patricia meldet, was gelandet ist:

Component inventory
  Skills (5)  delegating-work, integrations, memory-bridge, onboard, using-patricia
  MCP servers (1)  patricia
  Hooks (5)  SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop

Beim MCP-Server anmelden

Das Plugin konfiguriert den MCP-Server ohne gespeicherten Header. Bei der ersten Verwendung führen Sie /mcp aus und wählen Patricia. Sie können den OAuth-Flow auch über ein Terminal starten:

claude mcp login plugin:patricia:patricia

Die MCP-OAuth-Anmeldung und das pat_mcp_-Personaltoken der Hooks sind getrennte Anmeldeinformationen. OAuth allein aktiviert die tokenabhängigen Hooks nicht.

Verwenden Sie ein Token als Alternative, wenn OAuth nicht geeignet ist:

claude mcp add --transport http patricia https://api.patricia.app/v1/mcp \
  --header "Authorization: Bearer $PATRICIA_MCP_TOKEN"

Ein pat_mcp_-Personaltoken benennt die verantwortliche Person und kann schreiben. Ein pat_live_-Mandanten-API-Schlüssel benennt niemanden, liest also nur und kann list_skills oder list_integrations nicht beantworten.

Den lokalen Hooks ein Personaltoken geben

Für die lokalen Hooks muss Python 3 über den Befehl python3 verfügbar sein.

Erstellen Sie einen pat_mcp_-Personalschlüssel in Patricia unter Einstellungen > Entwickler > Personalschlüssel. Wählen Sie dann eine Einrichtung:

export PATRICIA_MCP_TOKEN="pat_mcp_..."

Oder schreiben Sie diese Datei unter ~/.claude/patricia.json:

{
  "token": "pat_mcp_..."
}

PATRICIA_MCP_TOKEN gewinnt gegenüber der Datei. Ein leeres PATRICIA_MCP_TOKEN deaktiviert den Datei-Fallback. Dieses Verhalten ist beabsichtigt. Es ermöglicht einer Person, authentifizierte Hooks auszusetzen, ohne die Datei zu verschieben.

Lokale Hooks

Alle fünf Hooks sind standardmäßig aktiviert. Eine fehlende Konfigurationsdatei oder ein fehlender Hook-Schlüssel lässt sie aktiviert. Eine fehlerhafte oder nicht lesbare Konfiguration deaktiviert sie. Setzen Sie den aufgeführten Schlüssel eines Hooks in ~/.claude/patricia-plugin.json auf den Literalwert false, um nur diesen Hook zu deaktivieren.

Onboarding

  • Wann und Aktion: SessionStart läuft für eine neue oder fortgesetzte Sitzung. Es begrüßt die verbundene Person und bietet den Onboarding-Skill einmal pro Projekt an.
  • Kosten: Mit einem Token macht es einen whoami-Aufruf. Das Netzwerk-Timeout beträgt 3 Sekunden, das Hook-Timeout 10 Sekunden.
  • Ausschalter: hooks.onboarding.enabled auf false gesetzt.
  • Datenschutz: Mit einem Token verlässt nur die authentifizierte whoami-Anfrage den Rechner. Kein Prompt, Transkript oder Projektinhalt verlässt den Rechner über diesen Hook.

Erinnerung

  • Wann und Aktion: UserPromptSubmit läuft vor jedem übermittelten Prompt. Es überspringt Befehle, kurze Antworten, Bestätigungen und reine Code-Eingaben. Es fügt relevanten Speicher zu berechtigten Prompts hinzu.
  • Kosten: Mit einem Token und einem berechtigten Prompt macht es einen search_memory-Aufruf. Das Netzwerk-Timeout beträgt 3 Sekunden, das Hook-Timeout 8 Sekunden.
  • Ausschalter: hooks.recall.enabled auf false gesetzt.
  • Datenschutz: Es sendet bis zu 300 Zeichen des reduzierten Prompts an Patricia. Es sendet diesen Text nur, wenn ein Token konfiguriert ist.

Integrationen zuerst

  • Wann und Aktion: UserPromptSubmit prüft einen Prompt. PreToolUse prüft WebFetch, WebSearch und Bash-Eingaben, bevor das Tool läuft. Ein lokaler Katalog identifiziert bekannte Anbieter.
  • Kosten: Es macht keinen MCP- oder Netzwerkaufruf und benötigt kein Token. Das Hook-Timeout beträgt 8 Sekunden für einen Prompt und 5 Sekunden vor einem Tool-Aufruf.
  • Ausschalter: hooks.integrations_first.enabled auf false gesetzt.
  • Datenschutz: Nichts verlässt den Rechner. Der Hook prüft den Prompt oder die Tool-Eingabe lokal.

Memory-Bridge

  • Wann und Aktion: PostToolUse läuft nach Write, Edit oder MultiEdit. Es bemerkt eine gespeicherte lokale Speichernote und schlägt remember mit einem expliziten Geltungsbereich vor.
  • Kosten: Es macht keinen MCP- oder Netzwerkaufruf. Das Hook-Timeout beträgt 5 Sekunden.
  • Ausschalter: hooks.memory_bridge.enabled auf false gesetzt. Die veraltete ~/.claude/patricia-memory-bridge.json-Datei kann auch enabled auf false setzen.
  • Datenschutz: Das Skript liest die gespeicherte Note lokal und sendet nichts über das Netzwerk. Es gibt den Notizpfad und Erinnerungstext an Claude Code zurück, ohne den Notizinhalt.

Push-Erinnerung

  • Wann und Aktion: Stop läuft, wenn der Agent fertig ist. Es schlägt remember nach einem lokalen Speicherschreibvorgang oder einer umfangreichen Tool-Nutzungssitzung ohne Speicherschreibvorgang an Patricia vor.
  • Kosten: Es macht keinen MCP- oder Netzwerkaufruf. Das Hook-Timeout beträgt 8 Sekunden.
  • Ausschalter: hooks.push_reminder.enabled auf false gesetzt.
  • Datenschutz: Es liest höchstens 5 MB des lokalen Transkripts und sendet nichts. Es läuft nur, wenn ein Token konfiguriert ist, damit der vorgeschlagene Speicheraufruf nach Zustimmung der Person erfolgreich sein kann.

Netzwerk und Anmeldeinformationen

Dieses Plugin verbindet sich über Streamable HTTP mit https://api.patricia.app/v1/mcp.

Patricia verwendet OAuth 2.1 mit PKCE S256. Ein abgeschlossener OAuth-Flow gibt dem Client ein persönliches pat_mcp_-Bearer-Token.

Das Plugin-Manifest enthält keine Anmeldeinformationen. Der Client sendet das Bearer-Token nach der Anmeldung an api.patricia.app.

Andere Marketplaces

  • Cursor liest plugin.json und mcp.json aus diesem Paket.
  • OpenAI Codex und ChatGPT lesen .codex-plugin/plugin.json.
  • Ein Remote-Quelleneintrag benötigt kein Manifest. xAI liest .claude-plugin/plugin.json, wenn vorhanden.

Alle Marketplace-Pakete verweisen auf den einen skills/-Baum in diesem Paket.

assets/icon.png ist ein Marken-Asset von Patricia.

Die Memory-Bridge schlägt vor; sie schreibt nie

Ein Hook ist ein Shell-Befehl. Er hält keinen MCP-Client, hat die Zustimmung von niemandem und kann eine Note nicht lesen und eine Team-Tatsache von einer privaten unterscheiden. Ein Hook, der jede lokale Note an einen gemeinsamen Arbeitsbereich senden würde, würde maschinenspezifische, wegwerfbare und private Notizen stillschweigend vor das gesamte Team stellen. Das ist die Fehlerart, die die Bridge vermeiden soll, nicht eine Funktion, die sie aufgeschoben hat.

Der Hook tut also eine Sache: Er injiziert hookSpecificOutput.additionalContext, das dem Agenten mitteilt, dass die Note nur lokal ist und dass remember ein scope benötigt. Der Agent entscheidet den Geltungsbereich, fragt seine Person und führt den Aufruf aus. Das Urteil und der Schreibvorgang bleiben am selben Ort.

Vier Tore halten es ruhig:

TorWirkung
Eine der unterstützten Konfigurationen setzt den enabled-Wert der Bridge auf falseStill. Ohne diesen Wert ist die Bridge aktiviert.
Der geschriebene Pfad liegt außerhalb eines SpeicherverzeichnissesStill.
Der Schreibvorgang ist nicht gelandet oder die Datei ist leerStill.
Die Frontmatter der Note trägt patricia: skipStill.

Es bietet eine bestimmte Note außerdem höchstens einmal pro Sitzung an, sodass ein Write gefolgt von einer Reihe von Edit-Aufrufen eine Erinnerung statt vier erzeugt. Dieser Datensatz lebt in ~/.claude/patricia-memory-bridge-state/, eine Datei pro Sitzung, nach sieben Tagen bereinigt.

Es verwendet CLAUDE_PLUGIN_DATA nicht dafür. Diese Variable ist in der Umgebung eines Hooks vorhanden, ist aber nicht zuverlässig das eigene Verzeichnis des laufenden Plugins: Ein Projekt-Hook auf diesem Rechner sah sie auf ~/.claude/plugins/data/codex-openai-codex gesetzt, ein nicht zusammenhängendes Plugin-Datenverzeichnis.

Welches Tool ein Speicherschreibvorgang tatsächlich verwendet

Claude Code 2.1.238 deklariert Tools namens memory_list, memory_read und memory_write. Auf den Rechnern, gegen die dies erstellt wurde, werden Speichernnotizen nicht mit ihnen geschrieben: Eine Durchsicht der 120 jüngsten Sitzungstranskripte fand 49 Write- und 35 Edit-Aufrufe in ~/.claude/projects/*/memory/ und null memory_write-Aufrufe.

Der Matcher ist daher Write|Edit|MultiEdit. memory_write wird absichtlich weggelassen. Das Hinzufügen eines Matchers für ein Tool, dessen Payload-Form nicht verifiziert wurde, kauft einen Hook, der stillschweigend nie auslöst und genau wie einer liest, der funktioniert. Fügen Sie ihn hinzu, wenn eine echte memory_write-Payload gelesen wurde.

Anleitung und die stehende Regel des Servers sind eine Kopie, nicht zwei

start_onboarding_import kann ein standing_rule_to_offer zurückgeben, das ask_first, instruction und einen markdown-Block trägt, der so dimensioniert ist, dass er in jemand anderes CLAUDE.md passt. Der Skill wiederholt diesen Block nicht. Er sagt dem Agenten, das Tool aufzurufen und zu verwenden, was zurückkommt, sodass der Server der alleinige Eigentümer dieser Formulierung bleibt.

Das Abrufen zur Installationszeit war die Alternative, und es funktioniert nicht. Die SKILL.md eines Plugins ist statischer Text in einem inhaltsadressierten Cache, es gibt keinen Installationszeitschritt, der sie neu schreiben könnte, und ein Plugin, dessen Aufgabe die Einrichtung von Patricia umfasst, kann nicht von einer funktionierenden authentifizierten Patricia-Verbindung abhängen, um seine eigenen Anweisungen zu rendern. Das Lesen des Tools zur Nutzungszeit gibt dieselbe einzelne Kopie ohne all das.

Jeder Toolname hier ist ein echtes Tool

Jede Backtick-Toolkennung in diesem Plugin wird gegen die eigene Tool-Registrierung des Servers gehalten, die Liste, die der Server tools/list aus erstellt. Dieselbe Prüfung stellt sicher, dass sie einen nicht leeren Satz von Kennungen gefunden hat, sodass ein defekter Extraktor nicht bestehen kann, indem er nichts findet.

Hinweis für Mitwirkende: Diese Prüfung ist backend/api/tests/test_patricia_claude_plugin.py in Patricias Monorepo, und sie läuft bei jeder Änderung an diesem Plugin.

Einstellungen und Dateierkennung

ToolVerwendung
get_settingsEinstellungen auflisten oder ausgewählte Schlüssel oder Gruppen mit Bedeutungen, Werten und Berechtigungen lesen. Beide Anmeldeinformationen können Arbeitsbereichsgruppen lesen.
update_settingsEine zulässige Gruppe über die Dashboard-Operation ändern. Ein Personaltoken ist erforderlich.
list_filesDateien auflisten. Die erste Seite enthält Ordner und sichtbarkeitsgefilterte Zählungen.
get_brand_kitMarkenfarben, Typografie und Logos lesen.

Verwenden Sie get_settings(keys=["company_profile"]) für das Unternehmensprofil. Die Einstellungstools teilen den Katalog und die Operationen, die Patricia im Chat verwendet. Chat-Einstellungsänderungen erfordern einen Klick von der anfragenden Person. Eine Änderung der Genehmigungsrichtlinie betrifft Konsolenläufe; kritische und anbietererforderliche Aktionen behalten ihre Genehmigungsuntergrenze, und die Zielgruppen- und Klick-nur-Untergrenzen behalten ihre auf jeder Aktion, nach der Patricia bereits fragt.

Integrationslesevorgänge warten, während eine andere Aufgabe für dieselbe Person läuft. Pollen Sie diese Aufgabe mit get_task_status oder warten Sie, bis sie fertig ist. Nach einer direkten Integrationsgenehmigung folgen Sie dem next-Satz, der von decide_approval zurückgegeben wird. Er benennt das Tool, das erneut mit derselben tool_ref und denselben Argumenten aufzurufen ist.