Zum Inhalt springen

Ironfang MCP

Referenz des MCP-Servers

Verbinden Sie einen KI-Assistenten über eine normale OAuth-Anmeldung mit Ihrer Ironfang-Organisation. Er arbeitet mit Ihren eigenen Produkten und Credits, innerhalb eines Budgets, das Sie steuern, und hält nie einen Schlüssel.

Überblick

Der Ironfang MCP-Server ist ein Remote-Server für das Model Context Protocol. Ein Endpunkt bedient Ironfang Render, Ironfang Audit, Ironfang Finance und Ironfang Rig:

https://mcp.ironfang.uk/mcp
ProduktMCP-UnterstützungToolsWas abgedeckt ist
Ironfang RenderVerfügbar17, benannt render.*Screenshots, PDFs, QR-Codes, Vorlagen-Renderings, Clips, Batches, signierte Render-URLs, Ziele für Webhook-Zustellungen, Jobs und Nutzung. Speicherziele enthalten Zugangsdaten und bleiben im Portal.
Ironfang AuditVerfügbar9, benannt audit.*Websites, Audits, Befunde, Regeln und Nutzung lesen und ein begrenztes Audit einer Website starten. Änderungen an einer Regel, einer Website, einer Überwachung oder einem Befund bleiben im Portal und in der REST-API.
Ironfang FinanceNur Referenz-Tools3, benannt finance.*Nur Referenz: was eine Validierungsregel bedeutet und wie man sie behebt, und welche Regelwerke der Validator ausführt. Validierung und Erzeugung von Dokumenten, Ergebnisse und Jobs gibt es nur über REST; die Ironfang Finance API nimmt einen Plattform-API-Schlüssel an und hat noch keine OAuth-Delegation.
Ironfang RigVerfügbar19, benannt rig.*Projekte und Suites, Läufe und ihre Ressourcen, die Zeitleiste und Wartevorgänge, Wiederholung, deterministische Fehler, das Bootstrap des lokalen Connectors, Nachweismanifeste und signierte Quittungen.
Ironfang AnalyticsNicht verfügbarKeineNoch nicht über MCP verfügbar. Websites, Aufzeichnungen, Wiedergabe und Löschung gibt es im Portal und in der REST-API.
EigenschaftWert
TransportStreamable HTTP. Nur POST /mcp; es gibt keinen eigenständigen Event-Stream und keine Session-ID, daher kann jedes Replikat jede Anfrage beantworten.
Protokollversion2026-07-28 ist aktuell. 2025-11-25, 2025-06-18, 2025-03-26 werden für die Dauer des Kompatibilitätszeitraums akzeptiert und bei initialize zurückgegeben.
FähigkeitenTools, Ressourcenvorlagen und die Erweiterung io.modelcontextprotocol/tasks für lang laufende Arbeit. Keine Prompts, kein Sampling, keine Roots und keine Apps.
AutorisierungOAuth 2.1 über id.ironfang.uk. Ressourcen-Metadaten unter /.well-known/oauth-protected-resource/mcp.
StatusBeta, in der MCP Registry als uk.ironfang/ironfang gelistet. Tool-Namen sind ein Kompatibilitätsvertrag; alles, was die Bedeutung ändert, bekommt einen neuen Namen.

MCP ist kein eigenes Produkt und hat keinen eigenen Preis. Es ist ein weiterer sicherer Weg, die Produkte zu nutzen, die Sie bereits haben: Rendering und Audits verbrauchen die normalen Credits der Organisation, Lesezugriffe sind kostenlos, und jede Verbindung hat ein eigenes Ausgabenbudget (siehe Credits und Budgets).

Client-Kompatibilität

Der Server spricht Standard-OAuth. Claude Code und claude.ai haben wir selbst getestet; andere MCP-Clients verbinden sich über dieselben Standards.

Claude Code GetestetAutomatisch per CIMD
claude.ai GetestetAutomatisch per CIMD
Andere MCP-ClientsStandardbasiertCIMD oder öffentliche DCR mit PKCE
Nutzen Sie einen anderen Client? Jeder MCP-Client, der Client ID Metadata Documents (CIMD) oder die öffentliche Dynamic Client Registration mit PKCE unterstützt, kann sich verbinden.

Claude Code

claude mcp add --transport http ironfang https://mcp.ironfang.uk/mcp

Führen Sie anschließend in Claude Code /mcp aus, wählen Sie ironfang und dann Authenticate. Ein Browser-Tab öffnet sich bei id.ironfang.uk: Melden Sie sich an, wählen Sie die Organisation, für die diese Verbindung handelt, prüfen Sie die Berechtigungen und erlauben Sie sie. Der Tab schließt sich, und die Tools erscheinen.

Claude Desktop und claude.ai

Settings → Connectors → Add custom connector (so heißen die Menüpunkte in der englischen Oberfläche), nennen Sie den Connector Ironfang und geben Sie https://mcp.ironfang.uk/mcp ein. Es folgt dieselbe Anmeldung.

Fügen Sie niemals einen API-Schlüssel in einen Chat ein. Der MCP-Server akzeptiert keine Ironfang-API-Schlüssel als Zugangsdaten; Schlüssel bleiben bei der REST-API, wo sie hingehören.

Authentifizierung

Der Server ist eine durch OAuth 2.1 geschützte Ressource. Eine nicht authentifizierte Anfrage beantwortet er mit 401 und einer WWW-Authenticate-Challenge, die auf das Dokument mit den Ressourcen-Metadaten verweist; von dort ermittelt ein Client den Autorisierungsserver und durchläuft den Code-Flow mit PKCE (S256). Der Ablauf aus Sicht des Clients:

  1. https://mcp.ironfang.uk/.well-known/oauth-protected-resource/mcp lesen.
  2. https://id.ironfang.uk/.well-known/oauth-authorization-server lesen.
  3. Sich ausweisen: über ein Client ID Metadata Document (eine HTTPS-URL als Client-ID, bevorzugt) oder durch Registrierung als öffentlicher Client unter /oauth/register.
  4. Die Person zu /oauth/authorize schicken, mit resource=https://mcp.ironfang.uk/mcp, den gewünschten Berechtigungen und einer PKCE-Challenge.
  5. Die Person meldet sich an, wählt eine Organisation und stimmt zu. Eine Verbindung ist eine Person, eine Organisation, ein Client.
  6. Den Code unter /oauth/token eintauschen. Das Access-Token ist kurzlebig und nur an die MCP-Ressource adressiert; ein rotierendes Refresh-Token hält die Verbindung aufrecht, ohne erneut zu fragen.

Berechtigungen (Scopes)

Die Berechtigungen sind die des jeweiligen Produkts. Eine Berechtigung wird nur erteilt, wenn die Person die passende Befugnis in der gewählten Organisation hat, und sie wird bei jedem Aufruf erneut live geprüft: Wer eine Befugnis verliert, verliert den Zugriff in derselben Minute.

BerechtigungErfordert BefugnisErlaubt dem Assistenten
ironfang:mcpMitgliedschaftVerbinden, Tools auflisten und diese Verbindung und ihre Budgets einsehen
render:renderrenderScreenshots, PDFs, QR-Codes, Clips und Vorlagen-Renderings erstellen und die eigenen Jobs lesen oder abbrechen
render:usage:readusage.readDen Credit-Verbrauch des Zeitraums lesen
render:templates:readtemplates.readVorlagen und ihre Variablennamen auflisten (nie das Markup)
render:signrenderSignierte Render-URLs erstellen, die innerhalb von 24 Stunden ablaufen
render:destinationsdestinations.manageZiele für fertige Renderings registrieren und testen und ein Ziel für einen Job oder einen Batch angeben
audit:readaudit.readWebsites, Audits, Befunde und Regeln lesen
audit:runaudit.runEin manuelles Audit einer Website starten, innerhalb ihrer Seitengrenze und des Verbindungsbudgets
audit:evidenceaudit.evidenceSehen, wo das signierte Nachweispaket eines Audits liegt und wie es sich prüfen lässt; die Bytes werden nie über die Verbindung ausgeliefert
rig:readrig.readProjekte, Suites, Läufe, Ressourcen, Fehler und Connectors von Ironfang Rig lesen; die Zeitleiste eines Laufs lesen und auf sie warten; das Nachweismanifest lesen
rig:writerig.writeProjekte anlegen und Suites anlegen oder überarbeiten
rig:runrig.runLäufe starten, beenden und abbrechen, Ressourcen zuweisen, Fehler scharf- und unscharfschalten, einen Callback wiederholen
rig:connectorrig.connectorEin Bootstrap-Token für einen lokalen Connector erzeugen; das Token wird einmal zurückgegeben und ist zehn Minuten gültig

Ein Tool, dessen Berechtigung nicht erteilt wurde, wird trotzdem aufgeführt, damit ein Client sie anfordern kann: Der Aufruf antwortet mit 403 und der vollständigen Berechtigungsmenge in der Challenge, und der Client durchläuft den Ablauf für die zusätzliche Berechtigung erneut.

Was der Server mit dem Token macht

Nichts verlässt den MCP-Server mit Ihrem MCP-Token. Um ein Produkt aufzurufen, fordert er bei id.ironfang.uk ein separates Token mit zwei Minuten Laufzeit an, das an dieses Produkt adressiert ist, auf die erteilten Berechtigungen und die gewählte Organisation beschränkt ist und als in Ihrem Auftrag handelnd gekennzeichnet ist. Die Produkte lehnen ein MCP-Token grundsätzlich ab, und der MCP-Server lehnt Portal- oder Produkt-Tokens ab.

Widerrufen

Trennen Sie einen Client auf der Seite AI clients im Portal oder in Ihren Kontoeinstellungen bei id.ironfang.uk. Der Widerruf beendet die Familie der Refresh-Tokens und die Verbindung; ein noch gültiges Access-Token funktioniert innerhalb von dreißig Sekunden nicht mehr, nicht erst bei seinem Ablauf.

Tools von Ironfang Render

Tool-Eingaben sind strikte JSON-Schema-Objekte: Unbekannte Felder werden abgelehnt statt ignoriert, und jede Zeichenkette, Größe und Dauer ist begrenzt. Rendering-Tools nehmen eine öffentliche URL oder begrenztes rohes HTML an. Sie akzeptieren keine Cookies, Authorization-Header, eigenen Request-Header, Proxy-Einstellungen, auszuführenden Skripte und keine Ziele in privaten Netzen.

ToolBerechtigungCreditsWirkungAufgabe
ironfang.connection.getironfang:mcpKostenlosNur lesend. Antwortet in der Anfrage.The current MCP connection: the organisation it acts for, the scopes it holds, the products available and its credit budgets.
render.batch.createrender:render1 per screenshot, 2 per PDF, up to 200Ändert Daten; eine Wiederholung wirkt erneut; greift auf das öffentliche Internet zu. Antwortet in der Anfrage.Submit up to 100 screenshot or PDF jobs together, with a shared default and optional delivery. Credits are reserved for every item up front - one per screenshot, two per PDF - and the reservation settles at that total; poll render.batch.get for progress and each job's result.
render.batch.getrender:renderKostenlosNur lesend. Antwortet in der Anfrage.A batch's progress: counts by status, whether it is done, and every job with its state, cost and result link once succeeded.
render.clip.createrender:renderup to 1 credit per secondÄndert Daten; eine Wiederholung wirkt erneut; greift auf das öffentliche Internet zu. Lang laufend: immer ein dauerhafter Job; einen Task anfordern oder das passende get-Tool abfragen.Render a short captioned video clip (1-60 seconds) over a public image, video or solid colour. Always a durable job; ask for a task or poll render.job.get. Costs up to one Ironfang Render credit per second depending on size.
render.destination.createrender:destinationsKostenlosÄndert Daten; eine Wiederholung wirkt erneut; greift auf das öffentliche Internet zu. Antwortet in der Anfrage.Register an https endpoint to receive signed webhook deliveries when jobs finish. The signing secret is returned once, here, and never again; hand it to whoever runs the endpoint. Storage (S3) destinations carry credentials and are registered in the portal, not through an assistant.
render.destination.deleterender:destinationsKostenlosDestruktiv: entfernt oder verwirft etwas; kann gefahrlos wiederholt werden. Antwortet in der Anfrage.Stop deliveries to a destination and forget it. Jobs already naming it keep their delivery records; nothing new is sent.
render.destination.listrender:destinationsKostenlosNur lesend. Antwortet in der Anfrage.Where this account's finished renders can be delivered: webhook endpoints and storage buckets registered in the portal or through render.destination.create. Ids from here go in a create tool's delivery block.
render.destination.testrender:destinationsKostenlosÄndert Daten; kann gefahrlos wiederholt werden; greift auf das öffentliche Internet zu. Antwortet in der Anfrage.Send a test delivery now and report what happened. A destination that does not answer is a successful call with ok=false and the reason; nothing is wrong with the request.
render.job.cancelrender:renderKostenlosDestruktiv: entfernt oder verwirft etwas; kann gefahrlos wiederholt werden. Antwortet in der Anfrage.Cooperatively cancel a queued or running render job. Queued work is refunded in full; running work is charged only if it produced a usable output.
render.job.getrender:renderKostenlosNur lesend. Antwortet in der Anfrage.The state of a render job created through this connection, with its cost and, once succeeded, the result metadata and a short-lived download link.
render.pdf.createrender:render2 creditsÄndert Daten; eine Wiederholung wirkt erneut; greift auf das öffentliche Internet zu. Lang laufend: ein dauerhafter Job; ein Task, wenn der Client einen anfordert, sonst das passende get-Tool abfragen.Render a public web page or raw HTML to PDF. Queued as a durable job. Costs two Ironfang Render credits.
render.qr.createrender:renderKostenlosÄndert Daten; kann gefahrlos wiederholt werden. Antwortet in der Anfrage.Generate a QR code image for text or a URL. Free on every plan; returned inline as a data URL.
render.screenshot.createrender:render1 creditÄndert Daten; eine Wiederholung wirkt erneut; greift auf das öffentliche Internet zu. Lang laufend: ein dauerhafter Job; ein Task, wenn der Client einen anfordert, sonst das passende get-Tool abfragen.Capture a public web page or raw HTML as an image. Queued as a durable job: poll render.job.get for the result. Costs one Ironfang Render credit; cached repeats are free.
render.signed_url.createrender:signcharged when fetchedÄndert Daten; eine Wiederholung wirkt erneut; greift auf das öffentliche Internet zu. Antwortet in der Anfrage.Create a signed URL that renders a screenshot or template when fetched. Nothing is charged until the link is used. Lifetime is at most 24 hours through MCP.
render.template.getrender:templates:readKostenlosNur lesend. Antwortet in der Anfrage.One template's id, name, size and variable names.
render.template.listrender:templates:readKostenlosNur lesend. Antwortet in der Anfrage.The organisation's Ironfang Render templates: id, name, size and the variable names each expects. Never the template markup.
render.template.renderrender:render + render:templates:read1 creditÄndert Daten; eine Wiederholung wirkt erneut. Lang laufend: ein dauerhafter Job; ein Task, wenn der Client einen anfordert, sonst das passende get-Tool abfragen.Render one of the organisation's templates with variables into an image. Queued as a durable job. Costs one Ironfang Render credit.
render.usage.getrender:usage:readKostenlosNur lesend. Antwortet in der Anfrage.Ironfang Render usage for the current period: credits used, the plan limit and when the period resets.

Beschreibungen und Kostenangaben stehen hier auf Englisch, so wie der Server sie in tools/list liefert.

Zwischengespeicherte Wiederholungen sind kostenlos, genau wie bei der REST-API, und das Branding der Ausgabe im kostenlosen Tarif ist dasselbe, egal auf welchem Weg Sie rendern. Jedes Tool trägt Hinweise (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) und Metadaten mit Namensraum, die seine Berechtigung, sein Produkt, sein Credit-Verhalten und sein Risiko nennen, damit ein Client einer Person zeigen kann, was ein Aufruf tun wird, bevor er es tut.

Jobs, Tasks und Ergebnisse

Jedes Tool, das etwas erstellt, legt einen dauerhaften Job bei Ironfang Render an und antwortet sofort mit demselben Envelope, sodass ein erneuter Versuch oder eine abgebrochene Verbindung nie Arbeit verliert oder verdoppelt:

{
              "request_id": "01a0...",
              "job_id": "01a0...",
              "status": "queued",
              "product": "render",
              "kind": "screenshot",
              "cached": false,
              "credits": { "reserved": 1, "charged": 0 },
              "result": null,
              "created_at": "2026-08-27T23:09:45Z",
              "connection_id": "01a0..."
            }

Fragen Sie render.job.get ab (oder lesen Sie die Job-Ressource). Sobald status den Wert succeeded hat, enthält result den Medientyp, die Größe in Bytes, den SHA-256, den Zeitpunkt, zu dem das gehostete Ergebnis abläuft, und einen Download-Link:

  • Gehostete Ergebnisse werden nach dem Erfolg 24 Stunden aufbewahrt.
  • Download-Links sind signiert und 15 Minuten gültig; jedes Lesen des Jobs oder seiner Ergebnis-Ressource stellt einen neuen aus.
  • Links sind auch bei Screenshots der Standard. PDFs, Clips und ganzseitige Bilder werden nie inline zurückgegeben; ein Screenshot unter 2 MiB kann es werden, aber nur, wenn ein Client es ausdrücklich anfordert.
  • Für eine längere Aufbewahrung laden Sie das Ergebnis herunter oder nennen im delivery-Block des Erstellungs-Tools ein Webhook- oder Speicherziel (render.destination.list zeigt, was das Konto hat).

Ein Client, der die Erweiterung io.modelcontextprotocol/tasks unterstützt, fordert einen Task an, indem er ein task-Objekt in die Parameter von tools/call legt. Er erhält dann für Screenshot-, PDF- und Vorlagenarbeit ein Task-Handle und muss für Clips eines verwenden; tasks/get spiegelt den Zustand des Jobs, tasks/result gibt den Envelope zurück, und tasks/cancel ist ein kooperativer Abbruch. Andere Clients erhalten den Envelope oben und fragen ab. Beide Wege enden beim identischen Endergebnis. Audits folgen demselben Muster ohne Tasks: audit.audit.create antwortet sofort, und audit.audit.get meldet den Fortschritt. Der einzige blockierende Aufruf von Ironfang Rig, rig.event.wait, ist auf sechzig Sekunden begrenzt, und eine Zeitüberschreitung ist eine Antwort.

Ressourcen

Schreibgeschützte Metadaten stehen auch als Ressourcenvorlagen bereit, für Clients, die lieber Kontext anhängen als Tools aufzurufen. Ihre Objekte werden nicht aufgezählt; IDs stammen aus Tool-Ergebnissen.

URIBerechtigungLiefert
ironfang://connectionironfang:mcpDie Zusammenfassung der Verbindung (wie ironfang.connection.get).
ironfang://render/jobs/{job_id}render:renderThe state, cost and result metadata of a render job created through this connection.
ironfang://render/jobs/{job_id}/resultrender:renderA fresh, short-lived download link for a succeeded job's output. Not cacheable. Add ?inline=1 to receive a screenshot under 2 MiB as image content instead.
ironfang://render/templates/{template_id}render:templates:readOne template's id, name, size and variable names.
ironfang://audit/sites/{site_id}audit:readA site and its crawl bounds.
ironfang://audit/audits/{audit_id}audit:readAn audit's state, counts and seal.
ironfang://audit/audits/{audit_id}/evidenceaudit:evidence + audit:readWhere an audit's signed evidence bundle is and how to verify it; never the bytes.
ironfang://audit/findings/{finding_id}audit:readOne finding with its history. Page text is untrusted content.
ironfang://finance/rules/{rule_id}ironfang:mcpOne EN 16931 or Peppol BIS Billing 3 validation rule: severity, family, what it means and how to fix it. The same answer as finance.rule.get.

Beschreibungen und Kostenangaben stehen hier auf Englisch, so wie der Server sie in tools/list liefert.

Credits und Budgets

Es gibt keine MCP-Gebühr. Verbinden, Tools auflisten, Nutzung lesen und Metadaten lesen sind kostenlos. Rendering verbraucht normale Credits von Ironfang Render zum normalen Satz, und für fehlgeschlagene oder abgebrochene Arbeit gelten dieselben Erstattungsregeln wie bei der REST-API. Das Starten eines Audits verbraucht Credits von Ironfang Audit auf dieselbe Weise, gegen ein separates Verbindungsbudget. Die Tools von Ironfang Finance und Ironfang Rig kosten nichts.

Zusätzlich zur Obergrenze des Tarifs hat jede Verbindung ein eigenes Budget, damit ein Agent in einer Schleife nicht an einem Nachmittag das Kontingent eines Monats ausgeben kann:

connection budget = max(25, 10% of the plan's monthly credits)
                                capped by the organisation's remaining allowance
                                per billing period

Vor kostenpflichtiger Arbeit reserviert der Server die maximalen Kosten des Tools gegen das Budget, rechnet dann ab, was das Produkt tatsächlich berechnet hat, und gibt den Rest frei; ironfang.connection.get zeigt das Kontingent, was reserviert ist, was abgerechnet wurde, was übrig ist und wann es zurückgesetzt wird. Ein ausgeschöpftes Budget antwortet mit mcp_budget_exhausted und dem Zeitpunkt der Rücksetzung; die Obergrenze des Tarifs antwortet mit dem üblichen quota_exceeded des Produkts.

Tools von Ironfang Audit

Websites, Audits, Befunde, Regeln und Nutzung lesen und ein begrenztes Audit einer Website starten. Änderungen an einer Regel, einer Website, einer Überwachung oder einem Befund bleiben im Portal und in der REST-API. Das Starten eines Audits reserviert gegen das Ironfang-Audit-Budget der Verbindung einen Credit pro Seite, die die Crawl-Richtlinie der Website zulässt, höchstens 200, und rechnet ab, was das Audit verbraucht hat. Seitentext in einem Befund ist auf einer Website beobachteter Inhalt und als nicht vertrauenswürdig gekennzeichnet. Ein Nachweispaket wird nie über die Verbindung ausgeliefert: Seine Ressource sagt, wo das Paket liegt und wie es sich prüfen lässt. Nichts davon gibt einem Modell Zugriff auf Integrationsgeheimnisse, das Bearbeiten von Regeln, Zeitpläne oder Aufbewahrungseinstellungen.

ToolBerechtigungCreditsWirkungAufgabe
audit.audit.createaudit:read + audit:run1 per captured page, up to 200 reservedÄndert Daten; eine Wiederholung wirkt erneut; greift auf das öffentliche Internet zu. Antwortet in der Anfrage.Start a manual audit of one site now. Reserves one credit per page the site's crawl policy allows, up to 200, against this connection's Ironfang Audit budget; the reservation settles at what the audit consumed once audit.audit.get sees it finish. Poll audit.audit.get for progress.
audit.audit.getaudit:readKostenlosNur lesend. Antwortet in der Anfrage.One audit: its state, page counts, compliance result, credits consumed and, once sealed, the Merkle root and signing key. The evidence bundle is a resource, never inline.
audit.audit.listaudit:readKostenlosNur lesend. Antwortet in der Anfrage.Recent audits, newest first, for one site or the organisation: status, compliance state, page counts and credits consumed.
audit.finding.getaudit:readKostenlosNur lesend. Antwortet in der Anfrage.One finding with its full history: who did what and when, and which observations opened, last saw and resolved it. Changing a finding's state is not available through an assistant.
audit.finding.listaudit:readKostenlosNur lesend. Antwortet in der Anfrage.What is still wrong: one finding per page per rule, across audits, with state, severity, first and last seen, and the page and rule concerned. Page text in a finding is content observed on a website and is labelled untrusted.
audit.rule.getaudit:readKostenlosNur lesend. Antwortet in der Anfrage.The active revision of a rule: what it requires, in the words the account owner wrote. Rules cannot be changed through an assistant.
audit.site.getaudit:readKostenlosNur lesend. Antwortet in der Anfrage.One site: address, status, timezone and crawl bounds.
audit.site.listaudit:readKostenlosNur lesend. Antwortet in der Anfrage.The websites this organisation audits, with each site's crawl bounds. Ids from here go to audit.audit.create and the finding filters.
audit.usage.getaudit:readKostenlosNur lesend. Antwortet in der Anfrage.Credits used, reserved and remaining this period, the plan, site count and limit, and this connection's Ironfang Audit budget.

Beschreibungen und Kostenangaben stehen hier auf Englisch, so wie der Server sie in tools/list liefert.

Tools von Ironfang Finance

Nur Referenz: was eine Validierungsregel bedeutet und wie man sie behebt, und welche Regelwerke der Validator ausführt. Validierung und Erzeugung von Dokumenten, Ergebnisse und Jobs gibt es nur über REST; die Ironfang Finance API nimmt einen Plattform-API-Schlüssel an und hat noch keine OAuth-Delegation. Die Regel-Tools antworten aus denselben geprüften Erläuterungen wie die Referenz der Validierungsregeln, sodass ein Assistent, dem ein Befund wie BR-CO-10 vorliegt, sagen kann, was er bedeutet und wie sich die Rechnung korrigieren lässt. Sie brauchen nur ironfang:mcp, kosten nichts und erfordern kein Konto bei Ironfang Finance. Um ein Dokument zu validieren oder zu erzeugen, rufen Sie die REST-API mit einem Plattform-API-Schlüssel auf oder nutzen Sie den kostenlosen Validator.

ToolBerechtigungCreditsWirkungAufgabe
finance.rule.getironfang:mcpKostenlosNur lesend. Antwortet in der Anfrage.Look up one EN 16931 or Peppol BIS Billing 3 validation rule by the identifier a finding names, such as BR-CO-10. Returns the layer, family and severity, the official reference and, where Ironfang has reviewed the rule, what it means, how to fix the invoice, an example fragment and the rule's documentation page. Use it to interpret a finding from the Ironfang Finance API or the free validator. Read-only, free, no Ironfang Finance account needed.
finance.rule.listironfang:mcpKostenlosNur lesend. Antwortet in der Anfrage.The validation rules Ironfang Finance runs, filtered by layer, family or severity: identifier, severity, family and, for explained rules, a title and documentation page. Defaults to the rules with a reviewed explanation; set=official lists every rule in the pinned artefacts. Page with offset and next_offset. Read-only, free.
finance.ruleset.listironfang:mcpKostenlosNur lesend. Antwortet in der Anfrage.The immutable rulesets Ironfang Finance validates against: identifier, document type, specification releases, validity dates, whether it is the latest, and the engine that runs it. A validation result names the ruleset it used, so this is how to read that identifier. Read-only, free. Validating and generating documents is not available through MCP; use the REST API at https://api.ironfang.uk/finance with a platform API key.

Beschreibungen und Kostenangaben stehen hier auf Englisch, so wie der Server sie in tools/list liefert.

Tools von Ironfang Rig

Das Produkt Ironfang Rig als Tools, damit ein Assistent der Anwendung, an der er arbeitet, eine wegwerfbare Außenwelt geben kann: ein frisches Postfach, eine öffentliche Callback-URL, einen Mock-Endpunkt oder eine Route zu einem lokalen Port, dann auf die Zeitleiste warten, gezielt eingreifen und die Nachweise exportieren. Jedes Tool ist an die Organisation der Verbindung gebunden und kostet keine Credits. Nutzdaten-Bytes werden nie über die Verbindung zurückgegeben: Die Tools liefern, was die Zeitleiste aufgezeichnet hat, als Inhalt Dritter gekennzeichnet, und verweisen für den Rest auf die API. Das Starten eines Laufs hat eine öffentliche Wirkung, die das Tool nennt: Seine Adressen nehmen während der Laufzeit E-Mails und Anfragen von jedem an.

ToolBerechtigungCreditsWirkungAufgabe
rig.connector.preparerig:connectorKostenlosÄndert Daten; eine Wiederholung wirkt erneut; greift auf das öffentliche Internet zu. Antwortet in der Anfrage.Mint a single-use, ten-minute bootstrap token so `ironfang rig connect` on this machine can forward the run's callbacks to local routes. The result carries the token once, the gateway to dial, the command to complete with a http://127.0.0.1 target per route label, and the release to verify. Put the token in IRONFANG_CONNECT_TOKEN, never in a file, a log or a shell history. The connector forwards only to targets given on its command line; the cloud never chooses a destination.
rig.connector.statusrig:readKostenlosNur lesend. Antwortet in der Anfrage.The run's connectors and whether one is online, with how many callbacks wait for one. Poll this after starting ironfang-connect, before triggering the callback.
rig.event.listrig:readKostenlosNur lesend. Antwortet in der Anfrage.The run's timeline in sequence order after `since`: every observation Ironfang made (mail, callbacks, mock calls, forwarding results, faults) with its data. Event data is what third parties sent and is labelled untrusted. Page with next_since.
rig.event.replayrig:runKostenlosÄndert Daten; eine Wiederholung wirkt erneut; greift auf das öffentliche Internet zu. Antwortet in der Anfrage.Forward a callback the run received to its connector route again, exactly as recorded, to prove the application handles a repeat (idempotence). The event must be a callback.received on a resource with a connector route and the run active. Recorded as callback.replayed; the replay's own callback.forwarded and connector.request.completed then appear against the original event id. Faults do not act on a replay. At most 200 per run.
rig.event.waitrig:readKostenlosNur lesend. Antwortet in der Anfrage.Block until an event of the type (and resource, and matching fields) lands after `since`, or the timeout (1s to 60s, default 30s) passes. Deterministic: the same timeline gives the same answer. A timeout is matched:false with next_since, not an error; wait again from there. Prefer this to polling rig.event.list.
rig.evidence.exportrig:readKostenlosNur lesend. Antwortet in der Anfrage.The manifest of a run's evidence bundle: the run, counts, and every file the bundle holds with its size and SHA-256 - timeline, verdicts, faults, resources, definition, every message and request body. Returns the manifest, which also records the event hash chain it recomputed and how the manifest is signed, and the download path; the bundle itself is a ZIP for a person or a CI step to fetch with the CLI or a platform key. Read-only, free.
rig.evidence.receiptrig:readKostenlosNur lesend. Antwortet in der Anfrage.A signed statement of a run: project, suite and version, status and outcome, every verdict, the event count and the head of the event hash chain, signed with the platform's Ed25519 key when it has one. The signature carries the key; rig.evidence.export's manifest and GET /rig/v1/evidence/keys name it. Give this to whoever needs proof of what the run did.
rig.fault.addrig:runKostenlosÄndert Daten; eine Wiederholung wirkt erneut. Antwortet in der Anfrage.Arm deterministic interference on one resource of an active run: delay, duplicate, drop, reorder or change the body of a callback forwarded to a connector route, or make a mock answer a chosen status, reset the connection, throttle its body or cut it short. Fires on the next matching observation, `count` times or until removed; every firing is a fault.injected event on the timeline. Use to prove the application survives duplicates, delays, reordering, corrupted payloads and dependency failures.
rig.fault.removerig:runKostenlosÄndert Daten; kann gefahrlos wiederholt werden. Antwortet in der Anfrage.Disarm a fault so it fires no more. Its history stays on the timeline.
rig.project.createrig:writeKostenlosÄndert Daten; eine Wiederholung wirkt erneut. Antwortet in der Anfrage.Create a project for one application. Use when rig.project.list has none that fits; a project is permanent and costs nothing.
rig.project.listrig:readKostenlosNur lesend. Antwortet in der Anfrage.Ironfang Rig projects: the persistent containers suites live in. Ids from here go to rig.suite.upsert. Free; nothing changes.
rig.resource.createrig:runKostenlosÄndert Daten; eine Wiederholung wirkt erneut; greift auf das öffentliche Internet zu. Antwortet in der Anfrage.Allocate one more resource on an active run beyond what the suite declared: an inbox, a callback URL (optionally forwarded to a connector route), a mock with rules, or a route label. Public Internet effect as for rig.run.create; lives until the run ends.
rig.run.cancelrig:runKostenlosDestruktiv: entfernt oder verwirft etwas; kann gefahrlos wiederholt werden. Antwortet in der Anfrage.End a run without an outcome, for a test that was abandoned. Same effect as finishing on the run's addresses.
rig.run.createrig:runKostenlosÄndert Daten; eine Wiederholung wirkt erneut; greift auf das öffentliche Internet zu. Antwortet in der Anfrage.Start a run of a suite's current version and allocate its resources: fresh inbox addresses, public callback and mock URLs, route labels. Public Internet effect: those addresses accept mail and requests from anyone who knows them until the run ends (its ttl, default 30m, at most 24h). Idempotent per call. Free; runs count toward the organisation's limits. Finish the run when done rather than letting it expire.
rig.run.finishrig:runKostenlosÄndert Daten; kann gefahrlos wiederholt werden. Antwortet in der Anfrage.End a run with an outcome (pass, fail or none). Its addresses stop accepting at once; the timeline stays readable. Use when the test is over.
rig.run.getrig:readKostenlosNur lesend. Antwortet in der Anfrage.One run: status, outcome, expiry, and its resources with the address or URL each answers at. Read this for the addresses to configure in the application under test.
rig.suite.getrig:readKostenlosNur lesend. Antwortet in der Anfrage.One suite with its current definition, exactly as stored.
rig.suite.listrig:readKostenlosNur lesend. Antwortet in der Anfrage.Suites in a project or the organisation: id, slug, current version. A suite is a persistent, versioned definition of the resources a run receives and the expectations it is judged by.
rig.suite.upsertrig:writeKostenlosÄndert Daten; kann gefahrlos wiederholt werden. Antwortet in der Anfrage.Create a suite (project_id and slug) or revise one (suite_id) with a definition. Revising stores a new immutable version only when the definition changed; runs already started keep theirs. Free. Use before rig.run.create; do not use to change what a running test observes - add resources or faults to the run instead.

Beschreibungen und Kostenangaben stehen hier auf Englisch, so wie der Server sie in tools/list liefert.

Auffindbarkeit

Alles, was eine Registry, ein Scanner oder ein Coding-Agent braucht, um den Server zu verstehen, lässt sich ohne Token lesen. Ein Tool aufzurufen erfordert immer eines.

DokumentInhalt
/.well-known/ironfang-mcp.jsonDer Fähigkeitskatalog: jedes Produkt, Tool, Eingabeschema, jede Berechtigung, jeder Hinweis, alle Credit-Kosten und die Task-Unterstützung, dazu Ressourcen und die Art der Authentifizierung. Erzeugt aus den eigenen Tool-Definitionen des Servers. Ein Ironfang-Dokument, kein Standard.
/docs/mcp.mdDiese Referenz als Markdown (auf Englisch), erzeugt aus denselben Daten.
https://mcp.ironfang.uk/.well-known/oauth-protected-resource/mcpMetadaten der OAuth-geschützten Ressource (RFC 9728): der Autorisierungsserver und die Berechtigungen, die eine erste Verbindung anfordert.
https://id.ironfang.uk/.well-known/oauth-authorization-serverMetadaten des Autorisierungsservers (RFC 8414): Endpunkte, PKCE, Client ID Metadata Documents und dynamische Registrierung.
/llms.txtDie Übersicht über jedes Ironfang-Produkt, jeden Vertrag und jedes Dokument für ein Modell.
MCP RegistryGelistet als uk.ironfang/ironfang.

Nach dem Verbinden liefert initialize kurze Anweisungen, die jedes Tool-Präfix nennen und sagen, wo man anfängt, tools/list liefert jedes Tool mit Schema, Hinweisen und Metadaten, und ironfang.connection.get liefert Organisation, Berechtigungen, Produkte und Budgets dieser Verbindung.

Namen und Kompatibilität

Renderwolf, Auditwolf und Financewolf sind die Namen, unter denen Ironfang Render, Ironfang Audit und Ironfang Finance gestartet sind. Es sind keine eigenen Produkte. Ein Alias ist der Name, unter dem ein Produkt gestartet ist. Er bleibt aufrufbar, damit gespeicherte Konfigurationen weiter funktionieren, wird von tools/list nie aufgeführt und ist kein eigenes Produkt. Ressourcen-URIs unter den Alias-Namen werden genauso aufgelöst. Verwenden Sie die aktuellen Namen.

Präfix aus der StartzeitAktuelles PräfixStatus
renderwolf.*render.*Alias. Aufrufbar, nie aufgeführt.
auditwolf.*audit.*Alias. Aufrufbar, nie aufgeführt.

Für Berechtigungen gilt dieselbe Regel: Ein Token oder Schlüssel, der mit einer Berechtigung aus der Startzeit wie renderwolf:render erstellt wurde, wird als render:render gelesen. Neuen Verbindungen werden immer nur die aktuellen Namen angeboten.

Sicherheit

  • Das MCP-Access-Token ist an https://mcp.ironfang.uk/mcp adressiert und an nichts anderes; die Produkte lehnen es ab, und der MCP-Server lehnt Tokens ab, die für das Portal oder ein Produkt bestimmt sind.
  • Produktaufrufe nutzen ein separates, pro Aufruf erzeugtes Token mit zwei Minuten Laufzeit, beschränkt auf Ihre erteilten Berechtigungen und Ihre gewählte Organisation, und nie einen gespeicherten Schlüssel.
  • Berechtigungen werden bei jedem Aufruf erneut gegen Ihre aktuellen Befugnisse in der Organisation geprüft, der Freigabestatus der Verbindung mit einem Cache von höchstens dreißig Sekunden, der im Zweifel sperrt.
  • Die Identität eines Clients ist ein Client ID Metadata Document, das über HTTPS mit Schutz vor privaten Netzen, Weiterleitungen und übergroßen Antworten abgerufen wird, oder eine ratenbegrenzte Registrierung als öffentlicher Client, die nach dreißig Tagen ohne Nutzung stillgelegt wird. Registrierungen können ihre Berechtigungen nicht selbst wählen.
  • Rendering-Tools lehnen Cookies, Authorization- und eigene Header, Proxys, Skriptausführung und Ziele in privaten Netzen ab. Rohes HTML ist begrenzt und wird nie protokolliert.
  • Signierte Download-Links laufen nach fünfzehn Minuten ab und sind an die Organisation des Jobs gebunden.
  • Es gibt kein Tool, das Schlüssel erzeugt, Mitglieder oder Clients verwaltet, Tarife ändert, Nachweise löscht oder eine beliebige API aufruft.
  • Begrenzungen der Parallelität pro Verbindung und pro Organisation, Kostenobergrenzen pro Aufruf und ein Notschalter pro Tool begrenzen den Schaden, den ein fehlerhafter Client anrichten kann.

Fehlerbehebung

Jede Antwort enthält X-Ironfang-Request-ID; eine Anfrage-ID oder die Verbindungs-ID aus ironfang.connection.get ist alles, was der Support braucht, um einen Aufruf zu finden. Nennen Sie diese, nie ein Token.

Was Sie sehenWas es bedeutetWas zu tun ist
redirect_uri not registered for clientDer registrierte Callback des Clients stimmt nicht mit dem verwendeten überein. Loopback-Callbacks dürfen den Port ändern, aber nicht Host oder Pfad.Aktualisieren Sie den Client, oder registrieren Sie, falls Sie ihn von Hand vorab registriert haben, genau den Callback, den er sendet.
the client's registration changed; start againDas Metadaten-Dokument des Clients hat sich zwischen dem Öffnen der Zustimmungsseite und Ihrem Klick auf Allow geändert.Starten Sie die Verbindung erneut.
"requires re-authorization (token expired)"Die Verbindung hatte kein Refresh-Token, oder ihr Refresh-Token wurde widerrufen.Authentifizieren Sie sich erneut; eine neue Verbindung erhält ein Refresh-Token. Wenn es immer wieder passiert, wurde die Verbindung im Portal widerrufen.
"protocol version is not supported"Der Client spricht eine Version, die der Server nicht akzeptiert.Aktualisieren Sie den Client. Versionen ab 2025-03-26 werden akzeptiert.
403 mit insufficient_scopeDas Tool braucht eine Berechtigung, die dieser Verbindung nicht erteilt wurde.Lassen Sie den Client mit der Berechtigung aus der Challenge erneut autorisieren; Sie brauchen die passende Befugnis in der Organisation.
tenant_access_lostIhre Mitgliedschaft oder Befugnis in der gewählten Organisation wurde entfernt.Verbinden Sie sich neu und wählen Sie eine Organisation, der Sie noch angehören.
connection_revokedDie Verbindung wurde im Portal getrennt.Verbinden Sie sich erneut, falls das nicht beabsichtigt war.
product_not_enabledDas Produkt, zu dem das Tool gehört, ist für diese Verbindung nicht verfügbar.Prüfen Sie, ob die Organisation ein Konto für dieses Produkt hat und Sie dessen Befugnis besitzen; möglicherweise ist die Beta für die Organisation auch noch nicht aktiviert.
budget_store_unavailableDer Server kann keine Ausgaben erfassen und lehnt daher kostenpflichtige Arbeit ab, statt ungemessen zu arbeiten.Versuchen Sie es gleich noch einmal; Lesezugriffe funktionieren weiter. Bleibt es dabei, wenden Sie sich an den Support.
mcp_budget_exhaustedDas Budget dieser Verbindung für den Zeitraum ist aufgebraucht.Warten Sie auf die Rücksetzung, die in der Meldung steht, oder bitten Sie eine Administratorin oder einen Administrator der Organisation, das Budget der Verbindung zu erhöhen (nie über das verbleibende Kontingent des Tarifs hinaus).
quota_exceededDie Credits des Tarifs der Organisation sind aufgebraucht.Wechseln Sie den Tarif oder warten Sie auf die Rücksetzung des Zeitraums.
not_available_in_betaEine Fähigkeit, die es in der REST-API gibt, wird MCP vorerst bewusst vorenthalten.Nutzen Sie dafür die REST-API.
target_failedDie Seite konnte nicht gerendert werden (Zeitüberschreitung, Fehlerstatus, blockiertes Ziel).Prüfen Sie, ob die URL öffentlich ist und antwortet; die Meldung ist bereinigt und enthält nie interne Details.
result_not_ready / result_too_large / inline_not_allowedDer Job ist noch nicht erfolgreich abgeschlossen, oder die Ausgabe muss über einen Link abgerufen werden.Fragen Sie erneut ab; nutzen Sie den Download-Link.

Datenschutz

Für jeden MCP-Aufruf speichert Ironfang die Verbindungs-ID, die Organisation, den Tool-Namen, die Methode, das Ergebnis, die Latenz, die Anfragegröße und die Anfrage-ID. Tool-Argumente, Prompts, Tool-Ergebnisse und Modellausgaben werden nicht gespeichert. Gerenderte Ausgaben werden als Jobs von Ironfang Render unter der normalen Aufbewahrung der Organisation gespeichert (24 Stunden für gehostete Ergebnisse) und sind für diese Organisation im Portal sichtbar. Zustimmungsseiten und Registrierungen werden als Sicherheitsereignisse im Konto erfasst. Das Trennen eines Clients widerruft seine Tokens; die Jobs, für die die Organisation bereits bezahlt hat, werden dadurch nicht gelöscht.