feat(mcp): reference fragments + vault key naming schema + guard fixtures
README: add vault key naming schema (<server-name>-<verwendungszweck>,
kebab-case) and a key-exception example to the mcp/ guard rules.
Reference fragments in mcp/: zugferd-service.yaml (OAuth standard case,
no credential field) and az-zoll-service.yaml (documented key exception
using ${VAULT:az-zoll-service-api-key} placeholder) — neither contains
any secret.
Five invalid mcp fixtures under tests/fixtures/mcp/invalid/ covering all
README-documented failure modes: inline secret, missing server-name
fragment structure, missing url, missing type, wrong placeholder syntax.
Closes az-agent-defaults-95y
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# MCP-Fragment: Zoll-Tarifnummer-Recherche — dokumentierte Ausnahme mit statischem
|
||||
# API-Key (Server bietet kein OAuth). Der echte Key liegt im Vault des Fleet-Repos
|
||||
# und wird erst beim Merge auf dem Controller substituiert — im Repo steht nur der
|
||||
# Platzhalter gemäß Namensschema <server-name>-<verwendungszweck>.
|
||||
az-zoll-service:
|
||||
type: remote
|
||||
url: https://mcp.example.az.local/zoll
|
||||
headers:
|
||||
Authorization: Bearer ${VAULT:az-zoll-service-api-key}
|
||||
enabled: true
|
||||
@@ -0,0 +1,7 @@
|
||||
# MCP-Fragment: Zugferd-/XRechnungs-Service — Standardfall remote/streamable mit OAuth.
|
||||
# Die Anmeldung läuft zur Laufzeit einmalig pro Nutzer über dessen Microsoft-Konto
|
||||
# (identitätsgebunden); das Fragment benötigt daher kein Credential-Feld.
|
||||
zugferd-service:
|
||||
type: remote
|
||||
url: https://mcp.example.az.local/zugferd
|
||||
enabled: true
|
||||
Reference in New Issue
Block a user