DMCA Cases

Los casos y la API de dmca.com ahora disponibles en MCP.

Servidor MCP alojado

npx add-mcp 'https://mcp.dmca.com/runtime/webhooks/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

dmca-cases-public-mcp

MCP público para casos de DMCA.com (empresa registrada: DMCA.com).

Mantenido como DMCA MCP Cases.

Herramientas

HerramientaUpstream
loginPOST https://api.dmca.com/login
listCasesGET https://api.dmca.com/listCases
listDIYCasesGET https://api.dmca.com/listDIYCases
listComplianceCasesGET https://api.dmca.com/listComplianceCases
getCaseByIdGET https://api.dmca.com/getCaseById?id=
createCasePOST https://api.dmca.com/createCase
createDIYCasePOST https://api.dmca.com/createDIYCase
createComplianceCasePOST https://api.dmca.com/createComplianceCase
updateCasePOST https://api.dmca.com/updateCase
getSiteReportGET https://api.dmca.com/getSiteReport/{domain}

No expuestos: register, APIs de insignias/objetos protegidos, XARF.

Autenticación: env DMCA_API_TOKEN (o DMCA_TOKEN) enviado como cabecera HTTP Token. login puede generar un token. Nunca se registra en logs. Los cuerpos de respuesta se devuelven como JSON upstream — sin esquemas inventados ni enums de estado.

createCase, createDIYCase, createComplianceCase y updateCase requieren un Token válido (DMCA_API_TOKEN). getSiteReport también envía Token.

Documentación canónica: www.dmca.com/api · OpenAPI 2.1.2 · host https://api.dmca.com.

A) npm / stdio (clientes locales)

cd packages/mcp-stdio
npm install
npm run build
DMCA_API_TOKEN=your_token node dist/index.js

Cursor / Claude Desktop:

{
  "mcpServers": {
    "dmca-cases": {
      "command": "npx",
      "args": ["-y", "dmca-cases-mcp"],
      "env": { "DMCA_API_TOKEN": "YOUR_TOKEN" }
    }
  }
}

Nombre del paquete: dmca-cases-mcp · registro mcpName: com.dmca/dmca-cases.

B) Azure Functions (.NET Isolated)

Host público canónico:

https://mcp.dmca.com

Nombre de host predeterminado de Azure (respaldo, sirve la misma aplicación):

https://dmca-cases-public-mcp-afdcard8bbdtd4e3.westus3-01.azurewebsites.net

Cobertura: / (raíz) y /cover (alias) · Proyecto: azure/DmcaCasesMcp.Functions (.NET 8 Isolated, despliegue de código — no contenedor).

  • MCP (extensión MCP de Functions): /runtime/webhooks/mcp (y hermano SSE /runtime/webhooks/mcp/sse). El endpoint del protocolo está fijado por la extensión MCP de Microsoft; / es la portada HTML, no el endpoint MCP. Las solicitudes necesitan una cabecera x-functions-key (la clave de sistema mcp_extension, emitida por DMCA.com bajo petición).
  • Puntero de información: GET /api/mcp
  • Espejos HTTP: /api/listCases, /api/listDIYCases, /api/listComplianceCases, /api/getCaseById, /api/login, /api/createCase, /api/updateCase, /api/createDIYCase, /api/createComplianceCase, /api/getSiteReport?domain= (ruta upstream /getSiteReport/{domain})

Configuración de la aplicación: DMCA_API_TOKEN.

Despliegue (después de que dotnet + Azure Functions Core Tools estén disponibles):

cd azure/DmcaCasesMcp.Functions
func azure functionapp publish dmca-cases-public-mcp --dotnet-isolated

(Usa el nombre exacto del recurso de Function App en tu suscripción si difiere.)

Prefiere Flex Consumption.

Metadatos del registro

Consulta server.json para el Registro MCP oficial (packages + Azure remotes).

Andamiaje del plugin de Cursor

Consulta mcp.json y .cursor-plugin/plugin.json para un futuro envío al Marketplace.

Auto-despliegue (GitHub Actions → Azure)

Flujo de trabajo: .github/workflows/azure-functions-deploy.yml

Al hacer push a main (rutas bajo azure/DmcaCasesMcp.Functions/**), GitHub Actions compila el proyecto .NET 8 Isolated y lo despliega en Function App dmca-cases-public-mcp.

Secreto de repositorio requerido:

  1. Azure Portal → Function App dmca-cases-public-mcp → Get publish profile
  2. GitHub → Settings → Secrets and variables → Actions → AZURE_FUNCTIONAPP_PUBLISH_PROFILE

También establece la configuración de Function App DMCA_API_TOKEN en Azure (no en GitHub) para llamadas API en vivo.