PortalFirma

MCP · Claude

Claude / custom connector

Claude descubre OAuth solo vía MCP. El authorize/login corre en api-integration; el resource es api-mcp.

Redirect URI fijo de Claude: https://claude.ai/api/mcp/auth_callback

Issuer (register / authorize / token): https://integracion.portalfirma.cl

Claude.ai cloud requiere HTTPS público en el MCP y en el issuer. No uses hosts locales desde el conector en la nube.

1. Registrar cliente

DCR contra api-integration, no contra api.

DCR
curl -X POST https://integracion.portalfirma.cl/oauth/register \
  -H "Content-Type: application/json" \
  -d '{
    "client_name": "Claude",
    "redirect_uris": ["https://claude.ai/api/mcp/auth_callback"]
  }'

2. Flujo esperado

  1. 1. Claude conecta a la URL MCP (api-mcp).
  2. 2. Recibe 401 + resource_metadata.
  3. 3. Descubre issuer = api-integration y abre /oauth/authorize.
  4. 4. Partner inicia sesión y autoriza.
  5. 5. Claude intercambia code por access_token en /oauth/token.
  6. 6. tools/list y tools/call con Bearer hacia api-mcp.

Directory vs custom

Probar el conector en una org Team/Enterprise no requiere listing público. El Directory de Anthropic sí implica submission (privacy policy, etc.).