DMCA.com Cases
DMCA.com cases. Your own token via Authorization: Bearer. No function key, no shared token.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http dmca-com-cases 'https://mcp.dmca.com/runtime/webhooks/mcp' --header 'Authorization: <Bearer <your DMCA.com API token>. Per-caller token from your DMCA.com account API section or the login tool. No function key required.>'
{
"mcpServers": {
"dmca-com-cases": {
"type": "http",
"url": "https://mcp.dmca.com/runtime/webhooks/mcp",
"headers": {
"Authorization": "<Bearer <your DMCA.com API token>. Per-caller token from your DMCA.com account API section or the login tool. No function key required.>"
}
}
}
}
dmca-cases-mcpclaude mcp add dmca-com-cases -- npx -y dmca-cases-mcp@1.2.1
{
"mcpServers": {
"dmca-com-cases": {
"command": "npx",
"args": [
"-y",
"dmca-cases-mcp@1.2.1"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
dmca-cases-public-mcp
Public MCP for DMCA.com cases (company of record: DMCA.com).
Maintained as DMCA MCP Cases.
Tools
| Tool | 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} |
Not exposed: register, badge/protected-item APIs, XARF.
Auth: env DMCA_API_TOKEN (or DMCA_TOKEN) sent as HTTP header Token. login can mint a token. Never logged. Response bodies are returned as upstream JSON — no invented schemas or status enums.
createCase, createDIYCase, createComplianceCase, and updateCase require a valid Token (DMCA_API_TOKEN). getSiteReport also sends Token.
Canonical docs: www.dmca.com/api · OpenAPI 2.1.2 · host https://api.dmca.com.
A) npm / stdio (local clients)
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" }
}
}
}
Package name: dmca-cases-mcp · registry mcpName: com.dmca/dmca-cases.
B) Azure Functions (.NET Isolated)
Canonical public host:
https://mcp.dmca.com
Default Azure hostname (fallback, serves the same app):
https://dmca-cases-public-mcp-afdcard8bbdtd4e3.westus3-01.azurewebsites.net
Cover: / (root) and /cover (alias) · Project: azure/DmcaCasesMcp.Functions (.NET 8 Isolated, code deploy — not container).
- MCP (Functions MCP extension):
/runtime/webhooks/mcp(and SSE sibling/runtime/webhooks/mcp/sse). The protocol endpoint is fixed by the Microsoft MCP extension;/is the HTML cover, not the MCP endpoint. Requests need anx-functions-keyheader (themcp_extensionsystem key, issued by DMCA.com on request). - Info pointer:
GET /api/mcp - HTTP mirrors:
/api/listCases,/api/listDIYCases,/api/listComplianceCases,/api/getCaseById,/api/login,/api/createCase,/api/updateCase,/api/createDIYCase,/api/createComplianceCase,/api/getSiteReport?domain=(upstream path/getSiteReport/{domain})
App setting: DMCA_API_TOKEN.
Deploy (after dotnet + Azure Functions Core Tools are available):
cd azure/DmcaCasesMcp.Functions
func azure functionapp publish dmca-cases-public-mcp --dotnet-isolated
(Use the exact Function App resource name in your subscription if it differs.)
Prefer Flex Consumption.
Registry metadata
See server.json for official MCP Registry (packages + Azure remotes).
Cursor plugin scaffolding
See mcp.json and .cursor-plugin/plugin.json for a future Marketplace submit.
Auto-deploy (GitHub Actions → Azure)
Workflow: .github/workflows/azure-functions-deploy.yml
On push to main (paths under azure/DmcaCasesMcp.Functions/**), GitHub Actions builds the .NET 8 Isolated project and deploys to Function App dmca-cases-public-mcp.
Required repo secret:
- Azure Portal → Function App
dmca-cases-public-mcp→ Get publish profile - GitHub → Settings → Secrets and variables → Actions →
AZURE_FUNCTIONAPP_PUBLISH_PROFILE
Also set Function App setting DMCA_API_TOKEN in Azure (not in GitHub) for live API calls.
Frequently asked questions
What is DMCA.com Cases?
DMCA.com cases. Your own token via Authorization: Bearer. No function key, no shared token.
How do I install DMCA.com Cases?
It runs as a remote server. In Claude Code: claude mcp add --transport http dmca-com-cases 'https://mcp.dmca.com/runtime/webhooks/mcp' --header 'Authorization: <Bearer <your DMCA.com API token>. Per-caller token from your DMCA.com account API section or the login tool. No function key required.>'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does DMCA.com Cases need an API key?
Yes. It expects Authorization, which you set in its configuration.
Is DMCA.com Cases open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains DMCA.com Cases?
It is published by NetroDev. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.