Tutorial
Was sind Google Agent Plugins 2026? Skills, MCP-Server, Plugin und JSON Schema als nächster Agent-Werkzeugstapel
Der Skill steht, der MCP-Server läuft — der nächste Coding-Agent braucht trotzdem eine andere Hülle. 2026 fehlt es nicht an Werkzeugen. Es fehlt eine Kiste, die mitreisen kann.
Am 6. August 2026 schrieb Google im Developers Blog, es trete dem Technical Steering Committee von Agent Plugins bei und verdrahte das Format in eigenen Produkten. Am 10. September kam das Google Cloud Developer Plugin: Auth, Projekte, gcloud-Leitplanken und der Developer-Knowledge-MCP in einem installierbaren Bündel für Antigravity, Claude Code, Codex und Cursor. Man hört leicht „Google hat wieder ein Werkzeugprotokoll erfunden“. Hat es nicht. Agent Skills sagen schon, wie ein Skill geschrieben wird. MCP sagt schon, wie ein Werkzeug aufgerufen wird. Was fehlte, ist eine Kiste, die beides in einem Verzeichnis hält und beim Clientwechsel nicht gabelt. Der Vertrag dieser Kiste sind zwei geschlossene JSON-Dateien: plugin.json und mcp.json. Was ist MCP behandelt das Protokoll, MCP und JSON Schema das inputSchema. Hier nur die vier Schichten: Plugin, Skills, MCP-Server, JSON Schema. Spez: Agent Plugins 1.0.0.
Kein weiteres MCP-Primer: das Plugin ist die Kiste
Schichten festnageln. Ein Skill ist die Anweisung, die das Modell liest: wann, welcher Ablauf, welche Skripte und Referenzen daneben liegen. Ein MCP-Server ist die Hand der Laufzeit: tools/list legt Werkzeuge offen, tools/call führt aus, Argumente sind JSON. Ein Plugin erfindet keines von beiden neu. Es sagt: im Root muss plugin.json liegen; Skills nur aus direkten Kindern von skills/; MCP nur aus der Root-mcp.json. v1 kennt genau diese zwei Komponententypen. Befehle, Unter-Agents, Hooks gehören in ein Reverse-Domain-Verzeichnis wie com.example.client/ — andere Clients dürfen es ignorieren.
Google schreibt dasselbe öffentlich: nicht jeder Skill soll ein Plugin werden. Ein MCP-Server für einen Client bleibt als native Config einfacher. Eine einzelne SKILL.md braucht keine Kiste. Ein Plugin lohnt, wenn mehrere Teile zusammen reisen müssen: das MCP, das Rechnungen abfragt, der Skill, der daraus die Wochennotiz macht, und ein Discovery-Vertrag, der nicht in einer dritten Datei leben darf. Cursor, Claude Code oder Antigravity zu wechseln darf nicht zwei Verzeichnislayouts und zwei Manifest-Dialekte bedeuten.
Die Spez lässt Installation, Verteilung, Rechte, Sandbox und Vertrauen bewusst aus. Das sind Pflichten von IDE, CLI oder Enterprise-Plattform; portable Felder dafür würden am ersten Tag gabeln. Agent Plugins ist ein Paketformat. Discovery kann in einer anderen Schicht sitzen (Google nennt Agentic Resource Discovery und einen AI Catalog). Ausführung bleibt MCP und Agent Skills. Eine Schicht zu übernehmen kauft nicht die nächste. Satz merken: die Kiste ist portabel; die Install-UX muss es nicht sein.
| Schicht | Was es ist | Wo der Vertrag liegt |
|---|---|---|
| Plugin | Ein verteilbares Verzeichnis für Teile, die zusammengehören | plugin.json (geschlossene Felder) |
| Skill | Wiederverwendbarer Ablauftext, Skripte, Referenzen | skills/<name>/SKILL.md |
| MCP-Server | Laufzeit und Transport für Werkzeuge und Ressourcen | Root-mcp.json plus MCP-Protokoll |
| JSON Schema | Form von Manifest, MCP-Config und Werkzeugargumenten | Offizielle plugin.schema.json / mcp.schema.json plus inputSchema |
plugin.json: geschlossenes Manifest und JSON Schema
Ein Client muss die Root-plugin.json lesen, bevor er Komponenten entdeckt. Die Datei muss ein JSON-Objekt sein, das Schema ist geschlossen: nur $schema, name, version, description, author, homepage, repository, license, keywords, extensions. Zusätzliche Top-Level-Felder müssen gemeldet und ignoriert werden; sie verwerfen das Plugin nicht. Tödlich sind fehlendes Pflichtfeld, falscher Typ oder illegaler name — dann bleibt das ganze Paket entladen. Für 1.0.0 muss $schema https://agent-plugins.org/schemas/1.0.0/plugin.schema.json sein. Clients wählen damit lokale Prüfregeln und dürfen beim Laden kein Schema aus dem Netz holen.
name ist kein freier Anzeigename. Länge 1–64, nur Kleinbuchstaben, Ziffern, Bindestriche, Punkte; erstes und letztes Zeichen alphanumerisch; kein -- oder ... My-Plugin und -start sind ungültig. SemVer für version ist empfohlen, ein Client darf ein Manifest nicht nur deshalb ablehnen, weil der String „nicht nach SemVer aussieht“. Das Author-Objekt darf nur name, email, url enthalten. Client-Privates liegt unter extensions.com.example.client. Keinen fünften Top-Level-Schlüssel für Hooks erfinden.
Was das Manifest nicht darf: Komponenten verschieben, Skills oder MCP inline legen. Es gibt keinen konfigurierbaren Discovery-Pfad und keine Vorrangordnung. Liegt skills/ da, Skills laden; fehlt es, überspringen — das ist kein Fehler. Unten ein etwas volleres, weiter legales Manifest. Zuerst prüfen, ob es parst, dann Felder gegen das offizielle Schema.
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "reports-plugin",
"version": "1.0.0",
"description": "Query invoices and write the weekly finance summary",
"license": "Apache-2.0",
"keywords": ["finance", "reports", "mcp"],
"homepage": "https://example.com/plugins/reports",
"repository": "https://github.com/example/reports-plugin"
}
Skills: SKILL.md in einem festen Verzeichnis
Agent Plugins schreibt das Skill-Format nicht neu. Agent Skills besitzt Frontmatter, Körper und scripts/, references/, assets/. Plugins definiert nur die Entdeckung. Fester Ort ist skills/. Jedes direkte Kindverzeichnis mit einer regulären Datei namens genau SKILL.md ist ein Skill. Clients dürfen nicht tiefer rekursieren — ein zweiter Skill unter skills/deploy/extra/SKILL.md bleibt unsichtbar.
Ist ein Skill ungültig, muss der Client ihn überspringen, andere Skills und andere Typen weiter laden und sollte melden, welcher fehlschlug. Das Gegenteil von „ein MCP-Absturz tötet das Paket“. Googles Satz: unabhängige Komponenten scheitern unabhängig. Ein kaputter Wochennotiz-Skill darf das Rechnungs-MCP nicht mitreißen, und umgekehrt. Für einen Coding-Agent zählt das: ein Tippfehler im Docs-Frontmatter darf die gcloud-Leitplanken nicht entfernen.
Ein Skill besitzt Kontext, nicht Transport. Er sagt dem Modell: „zuerst Projekt, dann Billing, keine Keys committen.“ Cloud-Ressourcen ändern weiter MCP-Werkzeuge oder lokale Skripte. Ein ganzes Handbuch in den Systemprompt zu kleben frisst das Fenster. Skills laden bei Bedarf — genau der Punkt des Cloud-Developer-Plugin-Textes. Skills einzeln zu installieren wird unordentlich; zusammengehörige Skills und MCP-Server gehören in ein Bündel. Das Plugin ist diese Schnur, kein zweites Tool-Calling.
mcp.json: wie Server gefunden werden, welche Schicht JSON Schema besitzt
Das MCP-Leitungsprotokoll bleibt MCP: Initialize, tools/list, tools/call, zustandsloses HTTP. Agent Plugins beantwortet nur wohin verbinden. Config muss in der Root-mcp.json liegen, nicht in plugin.json inline und nicht auf einem anderen Kernpfad. Top-Level nur $schema und mcpServers. Für 1.0.0 muss $schema https://agent-plugins.org/schemas/1.0.0/mcp.schema.json sein und zur vom Manifest erklärten Version passen. Ein Mismatch schaltet MCP für dieses Plugin ab und lässt Skills weiterladen.
Jeder Server braucht ein explizites type. Ein Client darf den Transport nicht aus der Objektform raten. stdio braucht command (ein Executable-Token, keine Shell-Zeichenkette) plus optionale args / env / cwd; ein mitgeliefertes Binary muss einen mit ./ beginnenden plugin-relativen Pfad nutzen. streamable-http und optionales Legacy-sse brauchen eine absolute URL. Nicht-Loopback muss HTTPS sein. Die Spez ist klar: keine Geheimnisse in headers; OAuth und Credentials sind Client-Sache, keine portablen Felder. Ungültiger Eintrag, ununterstützter Transport oder fehlgeschlagener Handshake überspringt nur diesen Server.
JSON Schema erscheint dreimal. Nicht in eine Datei kneten. Erstens die Paketverträge: plugin.schema.json und mcp.schema.json — kann das Plugin entdeckt werden. Zweitens Werkzeugeingaben: MCP-inputSchema — sehen die Modell-Arguments richtig aus. Drittens OpenAPI oder Structured Output Ihrer Fach-API. Scheitert das Erste, betritt der Client die Kiste nie. Scheitert das Zweite, stirbt tools/call zur Laufzeit. Die Prüfkette steht im MCP-Schema-Artikel oben. Unten eine mcp.json mit lokalem stdio und entferntem Streamable HTTP.
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
"mcpServers": {
"invoice-tools": {
"type": "stdio",
"command": "./bin/invoice-mcp",
"args": ["--data", "${PLUGIN_DATA}/invoices"],
"cwd": "${PLUGIN_ROOT}"
},
"docs": {
"type": "streamable-http",
"url": "https://docs.example.com/mcp"
}
}
}
{
"name": "searchInvoices",
"description": "Query invoices by date range and status",
"inputSchema": {
"type": "object",
"properties": {
"startDate": { "type": "string", "format": "date" },
"endDate": { "type": "string", "format": "date" },
"status": { "type": "string", "enum": ["draft", "sent", "paid"] }
},
"required": ["startDate", "endDate"]
}
}
Was Google 2026 ausliefert: Developer Plugin, Agents CLI, Data Agent Kit
Die zwei Ankündigungen stapeln. August: TSC beitreten (Amazon, Cursor, Microsoft, OpenAI, Vercel waren schon Core Maintainer) und das Format in Google-Produkten stützen. September: das Flaggschiff google-cloud-developer auf google/skills. Kein „weiterer gcloud-Wrapper“. Ein Grundlagen-Plugin: Auth, Projekte, gcloud-Leitplanken plus Developer-Knowledge-MCP, damit der Agent auf aktuelle offizielle Docs geht statt auf einen Jahres-Blog. Installation über Marketplace oder CLI des Clients. Schlüssel in Umgebungsvariablen, nicht in mcp.json-headers — genau die Spez, die Geheimnisse nicht portabel macht.
Zwei weitere Linien im selben Ökosystem. Agents CLI packt ADK-Gerüst, Eval, Deploy, Observability und Publish, damit Antigravity, Gemini CLI, Claude Code und Cursor Agent-Bau auf Google Cloud können. Data Agent Kit packt Skills und MCP für BigQuery, Spanner, Cloud SQL und die Datenebene. Beide konnten schon Skills ausliefern. Sie nutzen jetzt ein Verzeichnis, das nicht Google-privat ist. Ihr Rechnungs-Plugin und Googles Cloud-Plugin prüfen gegen dieselben Schemas.
Nicht mit A2A mischen. Ein Plugin beantwortet „wie bekommt dieser Agent eine Gruppe Skills und Werkzeuge“. Eine A2A Agent Card beantwortet „wie wird ein anderer Agent entdeckt und delegiert“. MCP in der Kiste bleibt eine Hand nach unten. Seitliche Kollegen bleiben Agent Cards und Tasks. Schichten: A2A vs MCP. Einen ganzen Remote-Agent als ein Tool in mcp.json zu wickeln, und Mehrfach-Klärung plus asynchrone Callbacks sprengen die Funktionsaufruf-Form.
| Was Google ausliefert | Was in der Kiste ist | Wofür Sie es nutzen |
|---|---|---|
google-cloud-developer | Cloud-Grundlagen-Skills + Developer-Knowledge-MCP | Jeder kompatible Client, der GCP-Auth und Docs können muss |
| Agents-CLI-Plugin | ADK-Lebenszyklus-Skills (Gerüst / Eval / Deploy) | Ein Coding-Agent, der Agent-Engineering in der Cloud kann |
| Data Agent Kit | BigQuery-, Spanner-, Cloud-SQL-Skills und MCP | Datenpipelines und Abfragen, die dem Agent folgen, nicht einer IDE |
Beide Verträge in JSONVue prüfen
Vor der Veröffentlichung vier Fixtures: eine legale plugin.json, ein Manifest mit einem Extra-Top-Level-Feld, eine legale mcp.json, ein Eintrag mit command ../bin/escape. Die erste muss das offizielle Schema passieren. Die zweite soll gemeldet und ignoriert werden — das Plugin lädt weiter. Behandelt Ihre CI das als fatal, sind Sie strenger als der Client; wissen Sie das. Die dritte prüft type und Pfade. Die vierte muss scheitern: ein relativer Pfad aus der Plugin-Wurzel ist ein harter Fehler.
Ein fünftes Fixture: ein Werkzeug-inputSchema und ein echtes tools/call-Arguments-Objekt. Ein grüner Paketvertrag heißt nicht, das Modell hat Daten richtig gefüllt. Beide Schemas nicht in eine „generische Prüfung“ stopfen. Eine Datei ist Discovery, die andere Aufruf. Developer Knowledge MCP nutzt einen API-Key zur Client-Laufzeit. Was Sie in Git prüfen, ist eine mcp.json ohne Geheimnisse.
Im Browser reicht:JSON formatierenob beide Manifeste parsen;JSON-Schema prüfen$schema, name, mcpServers;JSON DiffRepo-mcp.json gegen einen client-nativen Export. Daten bleiben auf diesem Rechner. Weiter:MCP und JSON Schema, was MCP ist, und wie A2A und MCP die Arbeit teilen.
Verwandt: Was ist MCP, MCP und JSON Schema, A2A vs MCP, Was ist ein AI Agent.
FAQ
Ist Agent Plugins ein Google-eigenes Format?
Nein. 1.0.0 kommt von einem offenen TSC. Core Maintainer sind Amazon, Cursor, Microsoft, OpenAI, Vercel; Google trat im August 2026 bei. Das Google Cloud Developer Plugin ist ein konformes Paket, nicht die Spez. Ihr Plugin muss nicht in google/skills leben, um ein Agent Plugin zu sein.
Ich habe einen Skill. Soll ich ihn in ein Plugin packen?
Meist nein. Google hat es in der Ankündigung gesagt: ein Skill, ein MCP-Server oder ein Client ist mit nativer Installation einfacher. Einpacken, wenn zwei oder mehr Dinge zusammen ausgeliefert werden müssen — etwa ein MCP, das Zahlen holt, und ein Skill, der die Wochennotiz schreibt. Zu früh einpacken heißt nur ein Manifest mehr pflegen.
Ist plugin.json dasselbe wie gemini-extension.json der Gemini CLI?
Nein. Gemini CLI hat weiter ein eigenes Erweiterungs-Manifest, MCP darf in gemini-extension.json stehen. Agent Plugins schiebt MCP in die Root-mcp.json; das Manifest ist geschlossen und kann Komponenten nicht inline legen. Clients mappen das portable Format auf native Config. Die zwei Dateien in JSONVue zu diffen ist sicherer als Feldaliase zu raten.
Ersetzt die Prüfung von plugin.json die von inputSchema?
Nein. Das Manifest-Schema antwortet nur „kann dieses Paket entdeckt werden“. Das Werkzeug-Schema antwortet „sind die Arguments dieses Hops legal“. Das erste kann passen, während startDate fehlt. Zwei Verträge, zwei Prüfungen. Keinen „einfach parsen“-Helfer teilen.
Fazit und nächste Schritte
Google Agent Plugins 2026 fällt auf einen Satz: ein offenes Paketformat, das bereits portable Skills und MCP-Server in feste Verzeichnisse legt. Google nutzt es für Cloud Developer Plugin, Agents CLI und Data Agent Kit — nicht für ein viertes Werkzeugprotokoll.
Ausliefern in dieser Reihenfolge: plugin.json parst, name ist legal, $schema auf 1.0.0; dann entscheiden, ob skills/ und mcp.json nötig sind; Paketverträge mit den offiziellen Schemas, Werkzeugargumente mit einem zweiten. Fixtures in JSONVue lassen. Protokoll in den MCP-Artikeln, Agent-Delegation im A2A-Artikel.