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

FerramentaUpstream
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}

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çalho x-functions-key (a chave de sistema mcp_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:

  1. Azure Portal → Function App dmca-cases-public-mcp → Obter perfil de publicação
  2. 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.