DMCA.com Cases
DMCA.com cases. Your own token via Authorization: Bearer. No function key, no shared token.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"dmca-cases": {
"command": "npx",
"args": [
"dmca-cases-mcp"
]
}
}
}Runnable packages
1.2.1stdioRemote endpoints
https://mcp.dmca.com/runtime/webhooks/mcpstreamable-httpWhat it can do
Tool inventory
Tools (10)
🟡createCase(subject, description, copiedFromUrl, infringingUrl, infringingSiteIp, ...)
POST https://api.dmca.com/createCase — create managed takedown case. Uses the session/`token` DMCA API token.
Input Schema
{
"type": "object",
"properties": {
"subject": {
"type": "string",
"description": "Case subject."
},
"description": {
"type": "string",
"description": "Case description."
},
"copiedFromUrl": {
"type": "string",
"description": "Optional original / copied-from URL."
},
"infringingUrl": {
"type": "string",
"description": "Optional infringing URL."
},
"infringingSiteIp": {
"type": "string",
"description": "Optional infringing site IP."
},
"token": {
"type": "string",
"description": "DMCA API token from the login tool; optional if the server/session already has one."
}
},
"required": [
"subject",
"description"
]
}🟡createComplianceCase(submitterEmail, submitterFirstName, submitterLastName, description, siteId, ...)
POST https://api.dmca.com/createComplianceCase — create compliance case. siteId site owner must have feature enabled. Uses the session/`token` DMCA API token.
Input Schema
{
"type": "object",
"properties": {
"submitterEmail": {
"type": "string",
"description": "Submitter email."
},
"submitterFirstName": {
"type": "string",
"description": "Submitter first name."
},
"submitterLastName": {
"type": "string",
"description": "Submitter last name."
},
"description": {
"type": "string",
"description": "Case description."
},
"siteId": {
"type": "string",
"description": "Id of the site the case is submitted to (site owner must have feature enabled)."
},
"submitterCompanyName": {
"type": "string",
"description": "Optional submitter company name."
},
"copiedFromUrl": {
"type": "string",
"description": "Optional original / copied-from URL."
},
"infringingUrl": {
"type": "string",
"description": "Optional infringing URL."
},
"infringingSiteIp": {
"type": "string",
"description": "Optional infringing site IP."
},
"token": {
"type": "string",
"description": "DMCA API token from the login tool; optional if the server/session already has one."
}
},
"required": [
"submitterEmail",
"submitterFirstName",
"submitterLastName",
"description",
"siteId"
]
}🟡createDIYCase(subject, description, type, copiedFromUrl, infringingUrl, ...)
POST https://api.dmca.com/createDIYCase — create DIY case. Uses the session/`token` DMCA API token.
Input Schema
{
"type": "object",
"properties": {
"subject": {
"type": "string",
"description": "Case subject."
},
"description": {
"type": "string",
"description": "Case description."
},
"type": {
"type": "string",
"description": "DIY case type: Business - General | Personal - General | Toolkit Business Request CAN|EU|India | Toolkit Personal Request CAN|EU|India."
},
"copiedFromUrl": {
"type": "string",
"description": "Optional original / copied-from URL."
},
"infringingUrl": {
"type": "string",
"description": "Optional infringing URL."
},
"infringingSiteIp": {
"type": "string",
"description": "Optional infringing site IP."
},
"token": {
"type": "string",
"description": "DMCA API token from the login tool; optional if the server/session already has one."
}
},
"required": [
"subject",
"description",
"type"
]
}🟢getCaseById(id, token)
GET https://api.dmca.com/getCaseById?id= — fetch one case by id.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Case ID returned by listCases (or equivalent)."
},
"token": {
"type": "string",
"description": "DMCA API token from the login tool; optional if the server/session already has one."
}
},
"required": [
"id"
]
}🟢getSiteReport(domain, token)
GET https://api.dmca.com/getSiteReport/{domain} — site report for a fully qualified domain name. Uses the session/`token` DMCA API token.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Fully qualified domain name (upstream path /getSiteReport/{domain})."
},
"token": {
"type": "string",
"description": "DMCA API token from the login tool; optional if the server/session already has one."
}
},
"required": [
"domain"
]
}🟢listCases(page, token)
GET https://api.dmca.com/listCases — list managed takedown cases. Optional page.
Input Schema
{
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Optional page number (max 50 results per page)."
},
"token": {
"type": "string",
"description": "DMCA API token from the login tool; optional if the server/session already has one."
}
},
"required": []
}🟢listComplianceCases(page, token)
GET https://api.dmca.com/listComplianceCases — list compliance cases. Optional page.
Input Schema
{
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Optional page number (max 50 results per page)."
},
"token": {
"type": "string",
"description": "DMCA API token from the login tool; optional if the server/session already has one."
}
},
"required": []
}🟢listDIYCases(page, token)
GET https://api.dmca.com/listDIYCases — list DIY cases. Optional page. An empty account comes back as an empty list.
Input Schema
{
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Optional page number (max 50 results per page)."
},
"token": {
"type": "string",
"description": "DMCA API token from the login tool; optional if the server/session already has one."
}
},
"required": []
}🟡login(email, password)
POST https://api.dmca.com/login — email/password, no Token header. Returns the DMCA API token; it is reused automatically for the rest of this MCP session, or pass it as `token`. Password never logged.
Input Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "DMCA.com account email."
},
"password": {
"type": "string",
"description": "DMCA.com account password. Never logged."
}
},
"required": [
"email",
"password"
]
}🟡updateCase(case_id, subject, description, status, copiedFromUrl, ...)
POST https://api.dmca.com/updateCase — update managed takedown case. Status and priority are kept as they are unless you pass them. Uses the session/`token` DMCA API token.
Input Schema
{
"type": "object",
"properties": {
"case_id": {
"type": "string",
"description": "Case ID to update."
},
"subject": {
"type": "string",
"description": "Case subject."
},
"description": {
"type": "string",
"description": "Case description."
},
"status": {
"type": "string",
"description": "Optional new case status. Left unchanged when omitted."
},
"copiedFromUrl": {
"type": "string",
"description": "Optional original / copied-from URL."
},
"infringingUrl": {
"type": "string",
"description": "Optional infringing URL."
},
"infringingSiteIp": {
"type": "string",
"description": "Optional infringing site IP."
},
"priority": {
"type": "string",
"description": "Optional new priority. Left unchanged when omitted."
},
"token": {
"type": "string",
"description": "DMCA API token from the login tool; optional if the server/session already has one."
}
},
"required": [
"case_id",
"subject",
"description"
]
}Community
Evidence