DMCA Cases
Os casos e a API do dmca.com agora estão disponíveis no MCP.
Servidor MCP hospedado
npx add-mcp 'https://mcp.dmca.com/runtime/webhooks/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
dmca-cases-public-mcp
MCP público para casos do DMCA.com (empresa registrada: DMCA.com).
Mantido como DMCA MCP Cases.
Ferramentas
| Ferramenta | 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} |
Não expostos: register, APIs de badge/itens protegidos, XARF.
Autenticação: env DMCA_API_TOKEN (ou DMCA_TOKEN) enviado como cabeçalho HTTP Token. login pode gerar um token. Nunca registrado em logs. Os corpos de resposta são retornados como JSON upstream — sem esquemas inventados ou enums de status.
createCase, createDIYCase, createComplianceCase e updateCase exigem um Token válido (DMCA_API_TOKEN). getSiteReport também envia Token.
Documentação canônica: www.dmca.com/api · OpenAPI 2.1.2 · host https://api.dmca.com.
A) npm / stdio (clientes locais)
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" }
}
}
}
Nome do pacote: dmca-cases-mcp · registro mcpName: com.dmca/dmca-cases.
B) Azure Functions (.NET Isolated)
Host público canônico:
https://mcp.dmca.com
Nome de host padrão do Azure (fallback, serve o mesmo aplicativo):
https://dmca-cases-public-mcp-afdcard8bbdtd4e3.westus3-01.azurewebsites.net
Cobertura: / (raiz) e /cover (alias) · Projeto: azure/DmcaCasesMcp.Functions (.NET 8 Isolated, deploy de código — não contêiner).
- MCP (extensão MCP do Functions):
/runtime/webhooks/mcp(e irmão SSE/runtime/webhooks/mcp/sse). O endpoint do protocolo é fixado pela extensão MCP da Microsoft;/é a capa HTML, não o endpoint MCP. As solicitações precisam de um cabeçalhox-functions-key(a chave de sistemamcp_extension, emitida pela DMCA.com mediante solicitação). - Ponteiro de informações:
GET /api/mcp - Espelhos HTTP:
/api/listCases,/api/listDIYCases,/api/listComplianceCases,/api/getCaseById,/api/login,/api/createCase,/api/updateCase,/api/createDIYCase,/api/createComplianceCase,/api/getSiteReport?domain=(caminho upstream/getSiteReport/{domain})
Configuração do aplicativo: DMCA_API_TOKEN.
Deploy (após dotnet + Azure Functions Core Tools estarem disponíveis):
cd azure/DmcaCasesMcp.Functions
func azure functionapp publish dmca-cases-public-mcp --dotnet-isolated
(Use o nome exato do recurso Function App na sua assinatura se for diferente.)
Prefira Flex Consumption.
Metadados do registro
Consulte server.json para o Registro MCP oficial (packages + Azure remotes).
Estrutura do plugin Cursor
Consulte mcp.json e .cursor-plugin/plugin.json para um futuro envio ao Marketplace.
Auto-deploy (GitHub Actions → Azure)
Workflow: .github/workflows/azure-functions-deploy.yml
Ao enviar para main (caminhos sob azure/DmcaCasesMcp.Functions/**), o GitHub Actions compila o projeto .NET 8 Isolated e faz o deploy para o Function App dmca-cases-public-mcp.
Segredo obrigatório do repositório:
- Azure Portal → Function App
dmca-cases-public-mcp→ Obter perfil de publicação - GitHub → Settings → Secrets and variables → Actions →
AZURE_FUNCTIONAPP_PUBLISH_PROFILE
Também defina a configuração do Function App DMCA_API_TOKEN no Azure (não no GitHub) para chamadas de API ao vivo.