{
  "markdown": "# easy2257-mcp: the Easy2257 MCP connector\n\nThis repository is the public listing for the Easy2257 [Model Context\nProtocol](https://modelcontextprotocol.io) server. The server itself is hosted\nby Easy2257 and reached over the network, so there is nothing here to install\nand no engine source: this repo holds the registry metadata, the privacy\nstatement, and the setup notes.\n\n**Endpoint:** `https://easy2257.com/api/mcp` (Streamable HTTP)\n**Setup and screenshots:** <https://easy2257.com/ai-assistant>\n\nThis connector reads one account's own compliance state. It is not the Easy2257\nPartner API, which is the separate integration surface a platform uses to\nreceive compliance events.\n\nEasy2257 keeps 18 U.S.C. 2257 records for adult content producers: who was in a\nscene, that their identity was verified, which paperwork is signed, and a\ncertificate proving the record existed at a point in time. This connector lets\nthe AI assistant you already use read that compliance state and answer in plain\nlanguage.\n\nMCP is an open, vendor-neutral standard, so one connection serves any MCP\nclient: Claude Code, Claude on the web and desktop, ChatGPT, Cursor, VS Code\nwith Copilot, Windsurf, Gemini CLI, Codex CLI, and others.\n\n## Read-only, and narrow on purpose\n\nThe connection reports state. It cannot create a scene, change a record, sign\nanything, attest to anything, or spend money. Paid actions and attestations\nhappen at easy2257.com, by a person, on purpose.\n\nWhat comes back is compliance state: ids, public codes (`SCENE-`, `PROD-`,\n`LOG-`), statuses, counts, dates, integrity hashes, and the short titles you\nwrote yourself, returned only to the account that owns them. It never returns a\nperformer's name, date of birth, ID number, image, file path, address, or the\ncontents of anyone's document: those columns are not selected. That is a\ndeliberate boundary, not a gap, and it is what makes this surface safe to point\na shared assistant at.\n\nThree guarantees, restated plainly:\n\n- **It only reads.** No tool creates, changes, signs, or deletes a record.\n- **No identity data crosses the wire.** Statuses, codes, counts, dates,\n  integrity hashes, and your own titles only.\n- **No money moves.** No tool touches checkout, scene activation, or any paid\n  action.\n\n## Connecting\n\nTwo ways in. Both land on the same read-only view of your own records, and the\ntools cannot tell them apart.\n\n### Sign in (no key to copy)\n\nFor ChatGPT, Claude on the web and desktop, and any assistant with a connectors\nor integrations screen: add a custom connector pointing at\n`https://easy2257.com/api/mcp`. The assistant sends you to Easy2257, you sign\nin, and you approve read-only access. The assistant never sees a password or a\nkey. OAuth 2.1 with PKCE; the single scope is `mcp:read`.\n\n### Paste a key\n\nFor Claude Code, Cursor, VS Code with Copilot, Windsurf, Gemini CLI, Codex CLI,\nand anything else that lets you set a connection header. Several of these can\nalso sign in; either route works. Create a key under\n**Account, then MCP Keys** at\n<https://easy2257.com/profile/account/api-keys>. Keys start with `ez_mcp_`,\nare shown once, and are stored as a hash plus the first four characters, which\nis how the settings screen tells one key from another. You can hold ten at a\ntime and revoke any of them at any moment.\n\nCommand-line assistants usually take one line:\n\n```\n--header \"Authorization: Bearer YOUR_KEY\"\n```\n\nEditors and other assistants usually take a config block:\n\n```json\n{\n  \"mcpServers\": {\n    \"easy2257\": {\n      \"type\": \"http\",\n      \"url\": \"https://easy2257.com/api/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_KEY\"\n      }\n    }\n  }\n}\n```\n\nEvery connected assistant, key or sign-in, is listed on the same settings\nscreen with a one-click disconnect. Revoking ends access immediately.\n\nIncluded with every Easy2257 plan. The two content log tools are part of the\nsolo creator plan; on other plans they refuse and say so.\n\n## The sixteen tools\n\n### Productions and scenes\n\n| Tool | What it answers |\n|------|-----------------|\n| `list_productions` | Your productions with their documentation status and certificate state. |\n| `get_production` | One production, scene by scene. |\n| `get_scene_compliance` | Per-participant state for one scene: invite state, identity verification, form and document counts, and model release. Participants appear by role and an opaque id, never by name. |\n| `list_compliance_gaps` | Every scene with outstanding compliance work, in one call, so an assistant can answer \"which scenes still need something?\". Cancelled scenes are excluded, and expiring paperwork has its own tool. |\n| `list_expiring_documents` | Paperwork that expires within a window you choose, with dates. Anything already overdue is included. |\n\n### Certificates and archives\n\n| Tool | What it answers |\n|------|-----------------|\n| `get_certificate` | A production's compliance certificates and where each one stands. |\n| `verify_certificate` | Whether a certificate someone handed you is current, superseded, or revoked. |\n| `get_archive_status` | The sealed archive's hashes for a finalized production. |\n\n### Your account\n\n| Tool | What it answers |\n|------|-----------------|\n| `get_account_status` | Plan, allowance, and published custodian statement. |\n| `get_compliance_requirements` | The document tiers this platform applies, kept separate, plus the participant roles, the checks that produce a gap, and the templates this account can use. |\n| `get_removal_requests_summary` | Removal and takedown requests linked to your own records, by status and legal basis. Nothing about who filed one. |\n| `list_notifications` | Account notifications. |\n| `list_webhook_deliveries` | Webhook delivery outcomes. |\n\n### Solo creators and public codes\n\n| Tool | What it answers |\n|------|-----------------|\n| `list_content_logs` | A solo creator's own content logs. |\n| `get_content_log` | One content log. |\n| `verify_record` | The evidence state behind a public record code, which is how a platform confirms what a creator sent it. |\n\nLooking up a code that is not yours is rate limited per credential, the same\nwhether you signed in or pasted a key, and an exhausted credential learns\nnothing, not even whether a code exists. Your own records are free through\n`verify_record`. `verify_certificate` always counts, even for your own\ncertificates; use `get_certificate` for those.\n\nExample questions are in [`docs/example-prompts.md`](docs/example-prompts.md).\n\n## Privacy\n\n[`PRIVACY.md`](PRIVACY.md) covers what this connector transmits and what it\nnever transmits. The hosted policy is at <https://easy2257.com/privacy>.\n\n## Publishing\n\n`server.json` is the entry in the [official MCP\nregistry](https://registry.modelcontextprotocol.io) under\n`io.github.Agaveis/easy2257-mcp`. It is republished by the\n[`publish-registry`](.github/workflows/publish-registry.yml) workflow, which\nauthenticates with GitHub Actions OIDC, so there is no interactive login and no\nstored credential.\n\n## Support\n\nQuestions and problems: <https://easy2257.com/contact>.\n",
  "bytes": 7075,
  "sha": "62e5c0277fc43b184b40b70d6a77151ccf49dc4416cdbff0d4490170683a4466",
  "repo_slug": "agaveis/easy2257-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_agaveis_easy2257_mcp_061133b6/readme"
}