{"_id":"@affirmed/mcp-server","_rev":"5-f27b76a83aa2c672de7e1ebf32712dfb","name":"@affirmed/mcp-server","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@affirmed/mcp-server","version":"1.0.0","keywords":["mcp","affirmed","security","vulnerability","claude"],"license":"MIT","_id":"@affirmed/mcp-server@1.0.0","maintainers":[{"name":"imransd","email":"9121imran@gmail.com"}],"homepage":"https://github.com/affirmed-ai/mcp-server#readme","bugs":{"url":"https://github.com/affirmed-ai/mcp-server/issues"},"bin":{"affirmed-mcp":"dist/index.js"},"dist":{"shasum":"1817ac637916fa6a7dc2794c2b416e502a2d4098","tarball":"https://registry.npmjs.org/@affirmed/mcp-server/-/mcp-server-1.0.0.tgz","fileCount":8,"integrity":"sha512-gE1lnJGhcDeIxStSmuYyyfb2ZXNjsomcc9ez5Vadih8f+2+CEClwnm5bJ9exUjn26RgoVZQ8CYzAvJKy1Lc6Vg==","signatures":[{"sig":"MEYCIQCAGJLlRpcsnXHkdkUieB1F/J2hOUR2aNSQtv6Jka01WgIhAMx6GCpcKNzvY1V2ba1gaatJnI+DZttoPVj0YNQ2BE4D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19601},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"build":"tsc","start":"node dist/index.js","prepare":"npm run build"},"_npmUser":{"name":"imransd","email":"9121imran@gmail.com"},"repository":{"url":"git+https://github.com/affirmed-ai/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP server for Affirmed.ai — query findings, endpoints, and upload scans from Claude Desktop","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^3.23.0","form-data":"^4.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.0_1779693126348_0.03316247090358959","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@affirmed/mcp-server","version":"1.0.1","keywords":["mcp","affirmed","security","vulnerability","claude"],"license":"MIT","_id":"@affirmed/mcp-server@1.0.1","maintainers":[{"name":"imransd","email":"9121imran@gmail.com"}],"homepage":"https://github.com/affirmed-ai/mcp-server#readme","bugs":{"url":"https://github.com/affirmed-ai/mcp-server/issues"},"bin":{"affirmed-mcp":"dist/index.js"},"dist":{"shasum":"f95d2f0941ec1a7641b96343dd52c08a9f0956f4","tarball":"https://registry.npmjs.org/@affirmed/mcp-server/-/mcp-server-1.0.1.tgz","fileCount":8,"integrity":"sha512-oBIhIMsfHkc7x5NwOlqgTYOPoBAKsuROTH9/y8fSeuagzz0TSc4YVVzzb287muYFsKJKBgTBVC4iOjA+KMP1/w==","signatures":[{"sig":"MEYCIQD3C/I0Z2AogYE/e1qWhE/wNqLWmqM6/3MEygOHB1+v8wIhAP9wC5qNTzCxQXQOHq6A1HhOJqKMViqzmCLT5sRetxY2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19631},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"build":"tsc","start":"node dist/index.js","prepare":"npm run build"},"_npmUser":{"name":"imransd","email":"9121imran@gmail.com"},"repository":{"url":"git+https://github.com/affirmed-ai/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP server for Affirmed.ai — query findings, endpoints, and upload scans from Claude Desktop","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^3.23.0","form-data":"^4.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.1_1779693201597_0.5569485454249392","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@affirmed/mcp-server","version":"1.0.2","keywords":["mcp","affirmed","security","vulnerability","claude"],"license":"MIT","_id":"@affirmed/mcp-server@1.0.2","maintainers":[{"name":"imransd","email":"9121imran@gmail.com"}],"homepage":"https://github.com/affirmed-ai/mcp-server#readme","bugs":{"url":"https://github.com/affirmed-ai/mcp-server/issues"},"bin":{"affirmed-mcp":"dist/index.js"},"dist":{"shasum":"b4a7434853931c8aaa027aca9f71b07f465cd511","tarball":"https://registry.npmjs.org/@affirmed/mcp-server/-/mcp-server-1.0.2.tgz","fileCount":8,"integrity":"sha512-ZPuRJ0s98lFKFz2sfvo+NB5PtwdDzoYHF1ErEOrBmHcxI4qH4+4MigqH9QyFttnDsDsVpvzrkLWKtSbVrbcyPQ==","signatures":[{"sig":"MEUCIQCQl8lSZ+s6KqhmhLftbowul/sW7Rxnmg8Znaw3Hk4JSwIgb1m2bDo1olRKir9iQxCahBJNiVUCYbRl5hTLLkt0owo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19647},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"build":"tsc","start":"node dist/index.js","prepare":"npm run build"},"_npmUser":{"name":"imransd","email":"9121imran@gmail.com"},"repository":{"url":"git+https://github.com/affirmed-ai/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP server for Affirmed.ai — query findings, endpoints, and upload scans from Claude Desktop","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^3.23.0","form-data":"^4.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.2_1779700573466_0.3150606829552185","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@affirmed/mcp-server","version":"1.0.3","keywords":["mcp","affirmed","security","vulnerability","claude"],"license":"MIT","_id":"@affirmed/mcp-server@1.0.3","maintainers":[{"name":"imransd","email":"9121imran@gmail.com"}],"homepage":"https://github.com/affirmed-ai/mcp-server#readme","bugs":{"url":"https://github.com/affirmed-ai/mcp-server/issues"},"bin":{"affirmed-mcp":"dist/index.js"},"dist":{"shasum":"67d4c00c188233c4d42142b1c6d87faac78f41e2","tarball":"https://registry.npmjs.org/@affirmed/mcp-server/-/mcp-server-1.0.3.tgz","fileCount":8,"integrity":"sha512-0/O1rZjicMHirFXj2/9/evULqZY+SHwy45DFYJeRBVDJwCKeBzymTbYiQ1LBEKKD6OBqXqf5Au4yiJ/NScWldQ==","signatures":[{"sig":"MEUCIGJ5Jn2Q/0HfoOkqLLC5K7TbGRHazoq5fC5neOWYtTwqAiEAtnbUcO7eK4f6brHkr/SBPEZb00rYpS5jiS6UJZ15CFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21664},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"build":"tsc","start":"node dist/index.js","prepare":"npm run build"},"_npmUser":{"name":"imransd","email":"9121imran@gmail.com"},"repository":{"url":"git+https://github.com/affirmed-ai/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP server for Affirmed.ai — query findings, endpoints, and upload scans from Claude Desktop","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^3.23.0","form-data":"^4.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.3_1779797085045_0.7216448014856158","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@affirmed/mcp-server","version":"1.0.4","description":"MCP server for Affirmed.ai — query findings, endpoints, and upload scans from Claude Desktop","type":"module","bin":{"affirmed-mcp":"dist/index.js"},"main":"./dist/index.js","scripts":{"build":"tsc","start":"node dist/index.js","prepare":"npm run build"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","form-data":"^4.0.0","node-fetch":"^3.3.2","zod":"^3.23.0"},"devDependencies":{"@types/node":"^20.0.0","typescript":"^5.3.0"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/affirmed-ai/mcp-server.git"},"keywords":["mcp","affirmed","security","vulnerability","claude"],"license":"MIT","types":"./dist/index.d.ts","_id":"@affirmed/mcp-server@1.0.4","bugs":{"url":"https://github.com/affirmed-ai/mcp-server/issues"},"homepage":"https://github.com/affirmed-ai/mcp-server#readme","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-VMigwGlUAYuGxJK84WBp7+dH+JOaGc9lDqsVjSo4ewLl4g9hTDqTFdCMofPMJKd3sPZbMdVjB05u3C9JNP9PpQ==","shasum":"17b4e4f6382c6e1ea3abf12be053f105af40b033","tarball":"https://registry.npmjs.org/@affirmed/mcp-server/-/mcp-server-1.0.4.tgz","fileCount":8,"unpackedSize":21651,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC2Sgfyk02/wR7l+tAAm6lsn7hQNpY6YtwiuAO4+h/uhgIhAJ74QM+y4UeH9DGf31GKlq6DiGWuVu82Wohu2nyD6EhR"}]},"_npmUser":{"name":"imransd","email":"9121imran@gmail.com"},"directories":{},"maintainers":[{"name":"imransd","email":"9121imran@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_1.0.4_1779797170546_0.6300735765158725"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-25T07:12:06.210Z","modified":"2026-05-26T12:06:10.828Z","1.0.0":"2026-05-25T07:12:06.490Z","1.0.1":"2026-05-25T07:13:21.748Z","1.0.2":"2026-05-25T09:16:13.600Z","1.0.3":"2026-05-26T12:04:45.209Z","1.0.4":"2026-05-26T12:06:10.681Z"},"bugs":{"url":"https://github.com/affirmed-ai/mcp-server/issues"},"license":"MIT","homepage":"https://github.com/affirmed-ai/mcp-server#readme","keywords":["mcp","affirmed","security","vulnerability","claude"],"repository":{"type":"git","url":"git+https://github.com/affirmed-ai/mcp-server.git"},"description":"MCP server for Affirmed.ai — query findings, endpoints, and upload scans from Claude Desktop","maintainers":[{"name":"imransd","email":"9121imran@gmail.com"}],"readme":"# @affirmed/mcp-server\n\nConnect [Affirmed.ai](https://app.affirmed.ai) to Claude Desktop. Once installed, Claude can upload scan files, query security findings, and browse your endpoint inventory directly from the chat window.\n\n---\n\n## Prerequisites\n\n- [Node.js](https://nodejs.org) ≥ 18\n- [Claude Desktop](https://claude.ai/download) installed\n\n---\n\n## Installation\n\n```bash\nnpm install -g @affirmed/mcp-server\n```\n\n---\n\n## Get your API key\n\n1. Log in to Affirmed.ai as an **org admin**\n2. Go to **Settings → Configuration**\n3. Open the **Claude MCP** tab\n4. Click **Generate API Key**\n5. Copy the key — it starts with `aff_`\n\n---\n\n## Configure Claude Desktop\n\nAdd this block to your Claude Desktop config file:\n\n**Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`  \n**Windows:** `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"affirmed\": {\n      \"command\": \"affirmed-mcp\",\n      \"env\": {\n        \"AFFIRMED_API_KEY\": \"aff_your_key_here\",\n        \"AFFIRMED_BASE_URL\": \"https://app.affirmed.ai\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. The three Affirmed tools will appear in Claude's tool list.\n\n---\n\n## Available tools\n\n| Tool | Description |\n|------|-------------|\n| `upload_scan_file` | Upload a scan file (Trivy, Bandit, ZAP, Semgrep, etc.) and get a test ID back |\n| `get_findings` | Query findings filtered by product, scan ID, severity, or active status |\n| `get_endpoints` | Browse the endpoint inventory for a product |\n\n---\n\n## Example prompts\n\n```\n\"Upload /tmp/trivy-results.json to product ID 42 as a Trivy scan\"\n\"Show me all critical findings from test 100\"\n\"List the endpoints for product 42\"\n```\n\n---\n\n## Security\n\nYour API key is read from the environment at startup and sent only in `Authorization` headers to the Affirmed API. It is never logged, never returned in tool responses, and never visible to Claude.\n","readmeFilename":"README.md"}