{"_id":"@anonymilyhq/mcp-server","name":"@anonymilyhq/mcp-server","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@anonymilyhq/mcp-server","version":"0.1.0","private":false,"description":"MCP server for Anonymily webhook inspector","bin":{"anonymily-mcp":"dist/index.js"},"main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc && chmod +x dist/index.js","dev":"tsc --watch","start":"node dist/index.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"devDependencies":{"@types/node":"^20.0.0","typescript":"^5.0.0"},"engines":{"node":">=18"},"_id":"@anonymilyhq/mcp-server@0.1.0","gitHead":"98eb736e580c8f054f0b8648bb0b730eb4fb8c83","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-Mq2GzZpeM8rQgjevrxIR+O6QfsJiujxVVlvqQcd/iWkAyyDnGu/3iJXXhRbdovWrDhOU8axKnYjPiLlJVMZDjg==","shasum":"68b58d8d049666c4acca7cd8ed63384712153cfe","tarball":"https://registry.npmjs.org/@anonymilyhq/mcp-server/-/mcp-server-0.1.0.tgz","fileCount":14,"unpackedSize":64418,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIF1cdrpHE2LDBNfPkiCe7BwpmskyFRgpD3NwZ5dgkPb/AiBn29QKrCy1fb/ff8d3hQJZFXmIkbXls9tXxmQCW/DsPA=="}]},"_npmUser":{"name":"anonymily","email":"opensource@anonymily.com"},"directories":{},"maintainers":[{"name":"anonymily","email":"opensource@anonymily.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_0.1.0_1781884059647_0.6352817952639678"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-19T15:47:39.482Z","0.1.0":"2026-06-19T15:47:39.781Z","modified":"2026-06-19T15:47:39.989Z"},"maintainers":[{"name":"anonymily","email":"opensource@anonymily.com"}],"description":"MCP server for Anonymily webhook inspector","readme":"# @anonymilyhq/mcp-server\n\nThe official Model Context Protocol (MCP) server for [Anonymily](https://anonymily.com). Use every Anonymily feature directly from Claude Code or any MCP-compatible AI assistant.\n\n---\n\n## Setup\n\nAdd to your Claude Code MCP config (`~/.claude/settings.json` or `.claude/settings.json` in your project):\n\n```json\n{\n  \"mcpServers\": {\n    \"anonymily\": {\n      \"command\": \"npx\",\n      \"args\": [\"@anonymilyhq/mcp-server\"],\n      \"env\": {\n        \"ANONYMILY_TOKEN\": \"<your-PAT>\",\n        \"ANONYMILY_API_URL\": \"https://api.anonymily.com\"\n      }\n    }\n  }\n}\n```\n\nGet your Personal Access Token from the Anonymily dashboard under Account → Access Tokens.\n\n---\n\n## Available Tools\n\n### Endpoint Management\n\n| Tool | Description |\n|---|---|\n| `list_endpoints` | List all webhook endpoints claimed by the authenticated user |\n| `create_endpoint` | Create (claim) a new anonymous webhook endpoint and return its URL |\n\n### Request Inspection\n\n| Tool | Description |\n|---|---|\n| `list_requests` | List captured requests for a hook. Supports `method`, `search`, and `limit` filters. |\n| `get_request` | Retrieve full details of a single captured request |\n\n### Replay & Triggers\n\n| Tool | Description |\n|---|---|\n| `replay_request` | Replay a captured request — optionally override body/headers/method, re-sign with stored secret |\n| `trigger_event` | Fire a realistic synthetic event for a given provider/event combo, correctly signed |\n| `list_event_templates` | List all available synthetic event templates grouped by provider |\n\n### AI Features *(Pro)*\n\n| Tool | Description |\n|---|---|\n| `diagnose_request` | AI-powered explanation of why a webhook exchange failed, with specific fix steps |\n| `generate_handler` | Generate a complete, production-ready Express/Next.js/NestJS handler from a captured payload |\n| `trigger_edge_case` | Describe an edge case in plain English → AI generates, signs, and fires a schema-valid event |\n\n---\n\n## Usage Examples\n\n```\n# From Claude Code or an MCP-enabled assistant:\n\n\"List my webhook endpoints\"\n→ calls list_endpoints\n\n\"Show me the last 10 requests on my stripe-dev hook\"\n→ calls list_requests(hook_id=\"stripe-dev\", limit=10)\n\n\"Why did request abc-123 fail?\"\n→ calls diagnose_request(hook_id=\"stripe-dev\", request_id=\"abc-123\")\n\n\"Generate a Next.js handler for that request\"\n→ calls generate_handler(hook_id=\"stripe-dev\", request_id=\"abc-123\", framework=\"nextjs\")\n\n\"Fire a disputed charge edge case\"\n→ calls trigger_edge_case(hook_id=\"stripe-dev\", provider=\"stripe\",\n    event=\"charge.dispute.created\", scenario=\"disputed charge after partial refund already issued\")\n```\n\n---\n\n## Environment Variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `ANONYMILY_TOKEN` | Yes | Personal Access Token from the Anonymily dashboard |\n| `ANONYMILY_API_URL` | No | Override API base URL (default: `https://api.anonymily.com`) |\n\n---\n\n## Running Locally\n\n```bash\n# Build\nnpm run build\n\n# Test with MCP Inspector\nnpx @modelcontextprotocol/inspector node dist/index.js\n```\n\n---\n\n## License\n\nMIT © [Anonymily](https://anonymily.com)\n","readmeFilename":"README.md","_rev":"1-ee0ab2afb73bb71f2aca29cca1575af8"}