Öffentliches Schnittstellendossier

Belegte Finanzfakten, strukturiert für AI-Agenten.

CLI + Skill und MCP sind die primären Agent-Schnittstellen; REST bietet HTTPS und Batch-Übertragung. Jede Antwort enthält Status- und Governance-Metadaten; zurückgegebene Fakten sind mit Quellennachweisen und Zeitsemantik verknüpft.

Primäre Agent-Aufrufe verwenden CLI + Skill oder MCP; REST bietet HTTPS- und Batch-Übertragung.

Entdeckung kommt vor Ausführung. Erfolgreiche wie abgelehnte Aufrufe bleiben strukturiert, begrenzt und auditierbar.
ARGUS / SYSTEM MAPEin geregelter Pfad von Anfang bis Ende

Die passende Schnittstelle für Ihren AI agent wählen

Alle drei Zugriffspfade führen in dieselbe CoreServiceBoundary. Regeln für Tenant, Berechtigungen, Lizenzen, Nachweise, Herkunft und Audits ändern sich nicht mit dem Client.

01CLIOAuth · browser sign-in · JSON stdout
argus auth login
argus --base-url https://api.argusfa.com entity-resolve \
  --identifier-type lei \
  --identifier-value HWUPKR0MPOU8FGXBT394

Technische Dokumentation: CLI

02RESTOAuth Bearer · HTTPS · JSON · OpenAPI
# First run: argus auth login
import json
from urllib.request import Request, HTTPRedirectHandler, build_opener
from argus.cli.oauth import CliOAuthProfile

profile = CliOAuthProfile()
token = profile.client().access_token()
if token is None:
    raise RuntimeError("Run argus auth login first")

class NoRedirect(HTTPRedirectHandler):
    def redirect_request(self, *args, **kwargs):
        return None

request = Request(
    profile.api_base_url + "/v1/entity-resolve",
    data=json.dumps(json.loads(r'''{"identifier_type":"lei","identifier_value":"HWUPKR0MPOU8FGXBT394","purpose":"factual_lookup","requires_redistribution":false}''')).encode(),
    headers={"Authorization": f"Bearer {token}",
             "Content-Type": "application/json", "User-Agent": "Argus REST client"},
    method="POST",
)
with build_opener(NoRedirect()).open(request, timeout=30) as response:
    envelope = json.load(response)
    print(json.dumps(envelope, indent=2))

Technische Dokumentation: REST

03MCPPython 3.12+ · Argus 1.1.8+ · MCP SDK · Werkzeugregister zuerst
# Einmalig installieren: use the official Argus installer.
# argus auth login --interface mcp
import asyncio
import json
from datetime import timedelta

from argus.cli.oauth import CliOAuthProfile
from mcp import ClientSession
from mcp.client.streamable_http import streamable_http_client
from mcp.shared._httpx_utils import create_mcp_http_client


def decode_tool_result(response):
    if response.isError:
        raise RuntimeError(response.content)
    if response.structuredContent is not None:
        return response.structuredContent
    text = next(block.text for block in response.content if block.type == "text")
    return json.loads(text)


async def main() -> None:
    tool_name = "entity_resolve"
    arguments = json.loads(r'''{"identifier_type":"lei","identifier_value":"HWUPKR0MPOU8FGXBT394","purpose":"factual_lookup","requires_redistribution":false}''')
    profile = CliOAuthProfile.from_environment().for_interface("mcp")
    token = profile.client().access_token()
    if token is None:
        raise RuntimeError("Run argus auth login --interface mcp first")

    async with (
        create_mcp_http_client(headers={"Authorization": f"Bearer {token}"}) as http,
        streamable_http_client(profile.audience, http_client=http) as (read, write, _),
    ):
        async with ClientSession(
            read,
            write,
            read_timeout_seconds=timedelta(seconds=30),
        ) as session:
            await session.initialize()
            listed_tools = {tool.name for tool in (await session.list_tools()).tools}
            registry = decode_tool_result(
                await session.call_tool("agent_tool_registry")
            )
            registry_tools = {tool["tool_name"] for tool in registry["tools"]}
            if tool_name not in listed_tools or tool_name not in registry_tools:
                raise RuntimeError(f"Das Werkzeug ist im aktuellen Werkzeugregister nicht verfügbar: {tool_name}")

            response = await session.call_tool(
                tool_name,
                arguments=arguments,
            )
            payload = decode_tool_result(response)
            if payload.get("success") is not True:
                error = payload.get("error")
                audit_id = payload.get("audit_id")
                if audit_id is None and isinstance(error, dict):
                    audit_id = error.get("audit_id")
                raise RuntimeError(f"Argus-Anfrage fehlgeschlagen (audit_id={audit_id}): {error}")
            print(json.dumps(payload, indent=2, ensure_ascii=False))


asyncio.run(main())

Technische Dokumentation: MCP

Ein geregelter Pfad von Anfang bis Ende

Entdeckung kommt vor Ausführung. Erfolgreiche wie abgelehnte Aufrufe bleiben strukturiert, begrenzt und auditierbar.

  1. 01identityOAuth subject · scopes · purpose · as_of
  2. 02registryagent_tool_registry · scopes · allowed_purposes
  3. 03boundarytenant · permission · license · provenance · audit
  4. 04DataPackagefacts · source_evidence · known_time · quality · audit_id

Wiederverwendbare Referenzaufrufe

Melde dich mit OAuth an, bevor du ein Tool aufrufst. Diese Anfragen verwenden eine echte GLEIF-Rechtseinheit. Prüfe die zurückgegebene Abdeckung und die Nachweise, bevor du das Ergebnis verwendest. Bewahre Zugangsdaten für unbeaufsichtigte Maschinen in deiner Geheimnisumgebung auf.

  1. Verbinden Sie einen AI agent per interaktivem OAuth; für unbeaufsichtigte Automatisierung nutzen Sie machine client oder service account.
  2. Lesen Sie zuerst das Werkzeugregister und wählen Sie ein Werkzeug, dessen Scopes und Zweck zur Identität passen.
  3. Verwenden Sie CLI + Skill oder MCP als primäre Agent-Schnittstellen und REST für HTTPS- und Batch-Übertragung.
  4. Rufen Sie das Werkzeug mit einem expliziten as_of-Zeitpunkt auf.
  5. Prüfen Sie Nachweise, Qualität, Lizenz, Einschränkungen und audit_id vor der Nutzung.

Das Paket prüfen, nicht nur den Statuscode

Transporterfolg beweist nicht, dass ein Fakt nutzbar ist. Vor Automatisierung sind die geregelte Hülle und das enthaltene DataPackage zu prüfen.

Hier wird nur die Anfrage-Syntax gezeigt. Verwende echte Kennungen, Nachweise aus vorherigen Aufrufen und einen Zeitraum mit bestätigter Abdeckung. Dieses Beispiel zeigt kein abgeschlossenes Geschäftsergebnis aus dem Produktivbetrieb.

DataPackage · company_fact_snapshot

{
  "success": true,
  "tool_name": "company_fact_snapshot",
  "output_format": "json",
  "audit_id": "audit_01JYEXAMPLE0000000000000000",
  "data_package_version": "company-fact-snapshot-cli-v1",
  "source_evidence": [
    {
      "evidence_id": "evidence:filing:1",
      "source_type": "regulatory_filing",
      "source_file_id": "filing:example-inc:2025-10k",
      "document_url": "https://regulator.example.test/filings/example-inc-2025-10k",
      "fragment_position": "char:1024-1080",
      "page_number": 42,
      "paragraph_position": null,
      "field_path": "filing.financials.revenue",
      "filing_time": "2026-06-15T09:00:00Z",
      "retrieved_at": "2026-06-16T09:30:00Z",
      "parser_version": "filing-parser-v1",
      "evidence_confidence": 0.99,
      "credibility_level": "regulatory_original",
      "pointer_type": "source_fragment",
      "content_trust": "untrusted_source_text",
      "mime_type": "text/plain",
      "source_object_sha256": null,
      "excerpt_boundary": "external_source_data",
      "is_conflicting": false,
      "conflict_group_id": null
    }
  ],
  "permission_result": {
    "allowed": true,
    "checked_at": "2026-06-16T10:00:00Z",
    "missing_permissions": [],
    "reason": "permission_allowed",
    "safe_alternative_tools": [
      "company_fact_snapshot",
      "filing_search",
      "source_evidence_lookup"
    ]
  },
  "license_status": "authorized",
  "output_restrictions": [
    "machine_readable_json",
    "cite_source_evidence"
  ],
  "result": {
    "package_type": "company_fact_snapshot",
    "package_version": "company-fact-snapshot-cli-v1",
    "generated_at": "2026-06-16T10:00:00Z",
    "request_subject": "company:example-inc",
    "caller_id": "service:customer-agent",
    "institution_id": "institution:customer",
    "request_purpose": "factual_lookup",
    "facts": [
      {
        "fact_id": "fact:revenue",
        "fact_type": "financial_metric",
        "field_name": "revenue",
        "value": 125000000,
        "evidence_ids": [
          "evidence:filing:1"
        ],
        "credibility_level": "regulatory_original",
        "extraction_method": "structured_source",
        "confidence": 0.99,
        "review_status": null
      }
    ],
    "sections": [],
    "source_evidence": [
      {
        "evidence_id": "evidence:filing:1",
        "source_type": "regulatory_filing",
        "source_file_id": "filing:example-inc:2025-10k",
        "document_url": "https://regulator.example.test/filings/example-inc-2025-10k",
        "fragment_position": "char:1024-1080",
        "page_number": 42,
        "paragraph_position": null,
        "field_path": "filing.financials.revenue",
        "filing_time": "2026-06-15T09:00:00Z",
        "retrieved_at": "2026-06-16T09:30:00Z",
        "parser_version": "filing-parser-v1",
        "evidence_confidence": 0.99,
        "credibility_level": "regulatory_original",
        "pointer_type": "source_fragment",
        "content_trust": "untrusted_source_text",
        "mime_type": "text/plain",
        "source_object_sha256": null,
        "excerpt_boundary": "external_source_data",
        "is_conflicting": false,
        "conflict_group_id": null
      }
    ],
    "data_period": {
      "start": "2025-01-01T00:00:00Z",
      "end": "2025-12-31T23:59:59Z"
    },
    "filing_time": "2026-06-15T09:00:00Z",
    "known_time": "2026-06-16T09:30:00Z",
    "revision_time": null,
    "invocation_time": "2026-06-16T10:00:00Z",
    "data_quality": {
      "quality_level": "high",
      "issues": [],
      "requires_human_review": false
    },
    "credibility_level": "regulatory_original",
    "data_license": {
      "license_id": "public-disclosure-v1",
      "source": "regulatory_filing",
      "status": "authorized",
      "allowed_uses": [
        "factual_lookup",
        "audit_reproduction"
      ],
      "prohibited_uses": [
        "restricted_redistribution"
      ],
      "redistribution": "restricted",
      "authorized_institutions": [
        "institution:customer"
      ],
      "restricted_fields": []
    },
    "allowed_uses": [
      "factual_lookup",
      "audit_reproduction"
    ],
    "prohibited_uses": [
      "restricted_redistribution"
    ],
    "output_restrictions": [
      "machine_readable_json",
      "cite_source_evidence"
    ],
    "structured_output_flags": {},
    "audit_id": "audit_01JYEXAMPLE0000000000000000",
    "output_policy_version": "[email protected]"
  }
}

Werkzeuge

Das öffentliche Werkzeugregister definiert derzeit 53 geregelte Werkzeuge. Diese Einträge werden aus denselben Autoritätsdaten wie das Werkzeugverzeichnis erzeugt.

  1. 01

    company_fact_snapshot

    Unternehmens-Fact-Snapshot

    Gibt offengelegte Unternehmensfakten als strukturiertes DataPackage zurück.

    REST
    /v1/company-fact-snapshot
    MCP
    company_fact_snapshot
    Rückgabevertrag
    CliToolEnvelope JSON with nested DataPackage result
  2. 02

    point_in_time_snapshot

    Point-in-Time-Snapshot

    Gibt einen as-of-safe Unternehmens-Snapshot zurück.

    REST
    /v1/point-in-time-snapshot
    MCP
    point_in_time_snapshot
    Rückgabevertrag
    CliToolEnvelope JSON with nested DataPackage result
  3. 03

    evidence_gap_report

    Evidenz-Lücken-Report

    Gibt Klassifizierungen für belegt, fehlend, niedrige Qualität, im Konflikt und Lizenz-blockiert zurück.

    REST
    /v1/evidence-gap-report
    MCP
    evidence_gap_report
    Rückgabevertrag
    CliToolEnvelope JSON with nested DataPackage result
  4. 04

    agent_data_preflight

    Agent-Daten-Preflight

    Gibt Preflight-Metadaten zu Berechtigung, Lizenz, Feldern, Zeitbereich und Zielwerkzeug zurück.

    REST
    /v1/agent-data-preflight
    MCP
    agent_data_preflight
    Rückgabevertrag
    CliToolEnvelope JSON with nested agent_data_preflight_result DataPackage

Vertrauen

Argus ist Fakteninfrastruktur mit sichtbaren Grenzen. Ablehnung, Einschränkung, Aktualität, Lizenzstatus und Prüfpflicht bleiben im Ergebnis erhalten.

[POLICY]Argus selbst erzeugt keine Anlageentscheidungen oder Aufträge, beschränkt Client-Agenten aber nicht bei unabhängiger Analyse und Ausgabe rechtmäßig bezogener Daten.

Vertrauen

Mit einem autoritativen Leitfaden fortfahren

Beginnen Sie mit dem Leitfaden zur ersten Anfrage, prüfen Sie alle Tools oder öffnen Sie die Schnittstellendokumentation Ihres AI agent.