{
  "protocolVersion": "2026-07-28",
  "supportedProtocolVersions": ["2026-07-28", "2025-03-26"],
  "name": "OCoSafer Storage Brain",
  "description": "Manifesto WebMCP oficial para busca, gestão de arquivos e agendamento de piloto no cofre digital OCoSafer.",
  "endpoint": "https://ocosafer-cofre-api-prod.xerifegomes-e71.workers.dev/mcp",
  "transport": "streamable-http",
  "handshake": {
    "protocol": "SI-001",
    "specification": "RFC-9421",
    "status": "enforced",
    "mode": "required-for-write",
    "endpoint": "https://ocosafer.com.br/.well-known/agent-handshake.json",
    "description": "Handshake obrigatório de assinatura digital HTTP (SI-001) para validar requisições e ações de agentes antes da execução."
  },
  "tools": [
    {
      "name": "buscar_conteudo",
      "description": "Pesquisar arquivos, fotos e documentos autorizados no cofre privativo usando busca textual e semântica.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Termo de busca sanitizado no cofre",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[a-zA-Z0-9_\\-\\.\\s]+$"
          },
          "tipo": {
            "type": "string",
            "enum": ["all", "image", "document", "video"],
            "description": "Filtro opcional por tipo de mídia"
          }
        },
        "required": ["query"]
      }
    },
    {
      "name": "adicionar_arquivo",
      "description": "Solicitar ticket e iniciar sessão de upload de fotos ou documentos com streaming direto e validação de cota.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string",
            "description": "Nome do arquivo com extensão",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[a-zA-Z0-9_\\-\\.\\s]+$"
          },
          "mime_type": {
            "type": "string",
            "description": "MIME type (ex: image/jpeg, application/pdf)",
            "minLength": 3,
            "maxLength": 100,
            "pattern": "^[a-zA-Z0-9]+/[a-zA-Z0-9\\.\\-\\+]+$"
          },
          "size_bytes": {
            "type": "number",
            "description": "Tamanho do arquivo em bytes",
            "minimum": 1,
            "maximum": 5368709120
          }
        },
        "required": ["filename", "mime_type", "size_bytes"]
      }
    },
    {
      "name": "agendar_piloto",
      "description": "Agendar demonstração técnica de integração e validação do piloto operacional de 14 dias para MVNOs e ISPs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "nome": {
            "type": "string",
            "description": "Nome do responsável técnico ou de novos negócios",
            "minLength": 2,
            "maxLength": 100,
            "pattern": "^[a-zA-Z0-9_\\-\\.\\s]+$"
          },
          "email": {
            "type": "string",
            "description": "Email corporativo telecom",
            "minLength": 5,
            "maxLength": 254,
            "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$"
          },
          "empresa": {
            "type": "string",
            "description": "Nome da operadora virtual (MVNO) ou provedor (ISP)",
            "minLength": 2,
            "maxLength": 100,
            "pattern": "^[a-zA-Z0-9_\\-\\.\\s]+$"
          },
          "tamanho_base": {
            "type": "string",
            "description": "Estimativa de assinantes ou linhas ativas",
            "minLength": 1,
            "maxLength": 50,
            "pattern": "^[a-zA-Z0-9_\\-\\.\\s]+$"
          }
        },
        "required": ["nome", "email", "empresa"]
      }
    },
    {
      "name": "consultar_insights_storage",
      "description": "Obter diagnóstico de consumo de cota, duplicatas identificadas e arquivos pesados.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
  ],
  "security": {
    "handshake_protocol": "SI-001",
    "agent_signature": {
      "protocol": "RFC-9421",
      "handshake": "SI-001",
      "required_for_mutations": true,
      "signature_headers": ["@method", "@target-uri", "@authority", "content-digest"],
      "handshake_endpoint": "https://ocosafer.com.br/.well-known/agent-handshake.json"
    },
    "authentication": "Authorization: Bearer <JWT HS256> ou ApiKey <key_id>.<secret>",
    "scope": "Tenant and subscriber scoped",
    "destructive_actions": "Requer confirmação explícita com janela de reversão de 30 dias"
  }
}
