DMCA.com Cases

com.dmcav1.2.1Updated Oct 7, 2026

DMCA.com cases. Your own token via Authorization: Bearer. No function key, no shared token.

VerifiedStreamable HTTPWeb executableBusiness & CommerceSecurity & Monitoring

Overview

AI-generated overview

Lets an assistant list, read, create, and update DMCA.com takedown and compliance cases, and fetch site reports, using your own DMCA.com API token.

What it does
Wraps the DMCA.com case API as MCP tools: login, listCases, listDIYCases, listComplianceCases, getCaseById, createCase, createDIYCase, createComplianceCase, updateCase, and getSiteReport. Responses are returned as upstream JSON without invented schemas. Registration, badge/protected-item APIs, and XARF are not exposed.
When to use it
Useful when you manage DMCA.com takedown, DIY, or compliance cases and want an assistant to look them up, summarize them, or draft and file new ones without leaving the chat. Not needed if you only want general copyright information.
Requirements
A DMCA.com account and API token, supplied as the environment variable DMCA_API_TOKEN (or DMCA_TOKEN) for the local npm package dmca-cases-mcp, or as the Authorization bearer header for the remote endpoint. The login tool can mint a token. Network access to api.dmca.com is required.
Before you install
The token is a credential: keep DMCA_API_TOKEN and the Authorization header value private. createCase, createDIYCase, createComplianceCase, and updateCase write to your DMCA.com account and may trigger real takedown or compliance actions, possibly with fees or legal consequences. Case data is sent to DMCA.com's API.

Installation

In SourceWeft

  1. Open DMCA.com Cases in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "dmca-cases": {
      "type": "http",
      "url": "https://mcp.dmca.com/runtime/webhooks/mcp"
    }
  }
}

README

dmca-cases-public-mcp

Public MCP for DMCA.com cases (company of record: DMCA.com).

Maintained as DMCA MCP Cases.

Tools

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

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)

bash
cd packages/mcp-stdionpm installnpm run buildDMCA_API_TOKEN=your_token node dist/index.js

Cursor / Claude Desktop:

json
{  "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 an x-functions-key header (the mcp_extension system 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):

bash
cd azure/DmcaCasesMcp.Functionsfunc 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:

  1. Azure Portal → Function App dmca-cases-public-mcp → Get publish profile
  2. 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.

Source: README.md at commit 9f0b786

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v1.2.1LatestOct 7, 2026