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
| Herramienta | Upstream |
|---|---|
login | POST https://api.dmca.com/login |
listCases | GET https://api.dmca.com/listCases |
listDIYCases | GET https://api.dmca.com/listDIYCases |
listComplianceCases | GET https://api.dmca.com/listComplianceCases |
getCaseById | GET https://api.dmca.com/getCaseById?id= |
createCase | POST https://api.dmca.com/createCase |
createDIYCase | POST https://api.dmca.com/createDIYCase |
createComplianceCase | POST https://api.dmca.com/createComplianceCase |
updateCase | POST https://api.dmca.com/updateCase |
getSiteReport | GET 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 cabecerax-functions-key(la clave de sistemamcp_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:
- Azure Portal → Function App
dmca-cases-public-mcp→ Get publish profile - 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.