Zum Inhalt

MCP-Tools

Kavra Siegel stellt 3 Tools über das Model Context Protocol bereit.

kavra_siegel_stamp_hash

Erzeugt einen eIDAS-Zeitstempel für einen SHA-256-Hash.

Input-Schema

{
  "type": "object",
  "properties": {
    "sha256_hex": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$",
      "description": "Lowercase 64-char hex SHA-256 hash"
    },
    "tier": {
      "type": "string",
      "enum": ["basic", "plus", "sealed"],
      "default": "basic",
      "description": "Stamp tier (basic=hash-only, plus=with URL, sealed=full content)"
    },
    "metadata": {
      "type": "object",
      "description": "Optional key-value metadata persisted with the stamp"
    }
  },
  "required": ["sha256_hex"]
}

Beispiel-Aufruf

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kavra_siegel_stamp_hash",
    "arguments": {
      "sha256_hex": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "tier": "basic",
      "metadata": {"source": "claude-agent"}
    }
  }
}

Beispiel-Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Stempel erstellt: token_id=550e8400-..., is_qualified=False, verify_url=https://siegel.kavra.cloud/api/v1/verify/v1/token/550e8400-..."
      }
    ]
  }
}

kavra_siegel_stamp_content

Erzeugt einen Zeitstempel für base64-encodierten Inhalt. Der SHA-256-Hash wird serverseitig berechnet.

Input-Schema

{
  "type": "object",
  "properties": {
    "content_b64": {
      "type": "string",
      "description": "Base64-encoded content to stamp"
    },
    "tier": {
      "type": "string",
      "enum": ["basic", "plus", "sealed"],
      "default": "basic"
    },
    "metadata": {
      "type": "object"
    }
  },
  "required": ["content_b64"]
}

Beispiel-Aufruf

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "kavra_siegel_stamp_content",
    "arguments": {
      "content_b64": "SGVsbG8gV29ybGQ=",
      "tier": "basic"
    }
  }
}

Beispiel-Response

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Stempel erstellt: token_id=661f9500-..., hash=a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e, is_qualified=False"
      }
    ]
  }
}

Max. Content-Größe

Der base64-encodierte Inhalt darf maximal 1 MB groß sein.


kavra_siegel_verify_token

Verifiziert einen bestehenden Stempel anhand seiner UUID.

Input-Schema

{
  "type": "object",
  "properties": {
    "token_id": {
      "type": "string",
      "format": "uuid",
      "description": "UUID of the stamp token to verify"
    }
  },
  "required": ["token_id"]
}

Beispiel-Aufruf

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "kavra_siegel_verify_token",
    "arguments": {
      "token_id": "550e8400-e29b-41d4-a716-446655440000"
    }
  }
}

Beispiel-Response

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Verification: valid=True, tsp_provider=mock, is_qualified=False, reason=None"
      }
    ]
  }
}

Fehlerbehandlung

Bei ungültigen Parametern gibt der Server einen JSON-RPC-Error zurück:

{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32602,
    "message": "Invalid tier: premium"
  }
}
Error-Code Bedeutung
-32700 Parse Error (kein gültiges JSON)
-32601 Methode nicht gefunden
-32602 Ungültige Parameter
-32000 Auth fehlt oder Stamp-Fehler