{
  "markdown": "# @sidearmdrm/mcp\n\nMCP server for the [Sidearm API](https://sdrm.io) — protect media from AI training, detect AI-generated content, and search for stolen work.\n\nThis package exposes the Sidearm REST API as [Model Context Protocol](https://modelcontextprotocol.io) (MCP) tools that AI agents (Cursor, Claude Desktop, Windsurf, etc.) can call directly.\n\n## Quick Start\n\n### 1. Get an API key\n\nSign up at [sdrm.io](https://sdrm.io) and create an API key at [sdrm.io/api-keys](https://sdrm.io/api-keys).\n\n### 2. Configure your agent\n\nAdd to your MCP configuration file:\n\n**Cursor** (`.cursor/mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"sdrm\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@sidearmdrm/mcp\"],\n      \"env\": {\n        \"SDRM_API_KEY\": \"sk_live_...\"\n      }\n    }\n  }\n}\n```\n\n**Claude Desktop** (`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"sdrm\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@sidearmdrm/mcp\"],\n      \"env\": {\n        \"SDRM_API_KEY\": \"sk_live_...\"\n      }\n    }\n  }\n}\n```\n\n**Windsurf** (`~/.codeium/windsurf/mcp_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"sdrm\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@sidearmdrm/mcp\"],\n      \"env\": {\n        \"SDRM_API_KEY\": \"sk_live_...\"\n      }\n    }\n  }\n}\n```\n\nThat's it. Your agent can now call Sidearm tools.\n\n## Tools (27)\n\n### Discovery\n\n| Tool | Description |\n|------|-------------|\n| `list_algorithms` | Browse available protection algorithms. Filter by category or media type. |\n\n### Protection & Extraction\n\n| Tool | Description |\n|------|-------------|\n| `run_algorithm` | Run specific algorithms on media by ID. Returns a job for async processing. |\n| `protect_media` | Protect media with a preset level (standard/maximum). Auto-selects algorithms. |\n| `extract_embeddings` | Extract raw embedding vectors from media for downstream similarity search or ML pipelines. |\n\n### Jobs\n\n| Tool | Description |\n|------|-------------|\n| `check_job` | Poll async job status. Returns progress and results when complete. |\n\n### Detection\n\n| Tool | Description |\n|------|-------------|\n| `detect_ai` | Detect whether media was AI-generated. Supports image, video, audio, text. |\n| `detect_fingerprint` | Check if media has been previously registered using fingerprint matching. |\n| `detect_membership` | Test whether your content was used to train a suspect AI model. |\n\n### Search\n\n| Tool | Description |\n|------|-------------|\n| `search_media` | Search for similar media across your indexed library. |\n| `list_searches` | List previous searches on your account. |\n\n### Media Management\n\n| Tool | Description |\n|------|-------------|\n| `register_media` | Register and index media with optional protection mode (register, search_ready, standard, maximum). |\n| `list_media` | List media assets in your library (paginated, filterable). |\n| `get_media` | Get details of a specific media asset including protection status and algorithms applied. |\n| `update_media` | Update media metadata (e.g., original URL). |\n| `delete_media` | Permanently delete a media asset and all associated data. |\n\n### Account, Rights & Billing\n\n| Tool | Description |\n|------|-------------|\n| `get_account` | Get your account details — ID, name, email, credit balance, and plan info. |\n| `get_rights` | Get C2PA, IPTC, and rights information for a media asset. |\n| `get_billing` | View credit balance, usage breakdown, per-algorithm costs, and billing portal link. |\n\n### Provenance & Identification\n\n| Tool | Description |\n|------|-------------|\n| `get_provenance` | Get the full provenance chain for an asset — algorithms, C2PA manifest, membership results. |\n| `identify_media` | Identify media by its embedded Sidearm fingerprint and extract its C2PA provenance chain. |\n\n### Shares\n\n| Tool | Description |\n|------|-------------|\n| `create_share` | Create a shareable link for a detection, search, or provenance result (starts private). |\n| `get_share` | Get a shared result by its share ID. |\n| `publish_share` | Make a shared result publicly accessible. |\n\n### Deletion Records\n\n| Tool | Description |\n|------|-------------|\n| `list_deletions` | List deletion records documenting permanently deleted assets. |\n| `get_deletion` | Get details of a specific deletion record including purged algorithms and storage status. |\n\n### Documentation\n\n| Tool | Description |\n|------|-------------|\n| `search_docs` | Search the Sidearm API documentation. Returns relevant sections from the full developer reference. |\n| `navigate_ui` | Look up how to perform actions in the Sidearm dashboard. Returns step-by-step instructions. |\n\n## Example Agent Conversations\n\n> \"Protect this image from AI training\"\n>\n> Agent calls `protect_media` with the image URL, then `check_job` to get the protected file.\n\n> \"What algorithms are available for audio?\"\n>\n> Agent calls `list_algorithms` with `media_type: \"audio\"`.\n\n> \"Run Nightshade and Glaze on my artwork\"\n>\n> Agent calls `run_algorithm` with `algorithms: [\"nightshade\", \"glaze\"]`.\n\n> \"Is this photo AI-generated?\"\n>\n> Agent calls `detect_ai` with the image, then `check_job` for results.\n\n> \"Was my artwork used to train Stable Diffusion?\"\n>\n> Agent calls `detect_membership` with your media IDs and the model name.\n\n> \"How do I upload files in the dashboard?\"\n>\n> Agent calls `navigate_ui` with `query: \"upload files\"` for step-by-step instructions.\n\n## Environment Variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `SDRM_API_KEY` | Yes | Your Sidearm API key (`sk_live_...` or `sk_test_...`) |\n| `SDRM_BASE_URL` | No | Override the API base URL (default: `https://api.sdrm.io`) |\n\n## Development\n\n```bash\ngit clone https://github.com/sidearmDRM/mcp-server.git\ncd mcp-server\nnpm install\nnpm run build\n```\n\nTest locally with the [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector):\n\n```bash\nSDRM_API_KEY=sk_test_... npx @modelcontextprotocol/inspector node dist/index.js\n```\n\n## License\n\nMIT\n",
  "bytes": 5963,
  "sha": "418bec3e89dbd57e2a3dc0a1af5f67e428c4b8fc766f8ea2ea9a44e35b0fac74",
  "repo_slug": "sidearmdrm/mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ebadros_sidearm_c98afa6c/readme"
}