{"_id":"@craftrift/verify-mcp","name":"@craftrift/verify-mcp","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@craftrift/verify-mcp","version":"1.0.0","description":"MCP server for CraftRift Verify API - verify websites, SSL certificates, DNS propagation, and API health","type":"module","main":"dist/index.js","bin":{"verify-mcp":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsc && node dist/index.js","prepublishOnly":"npm run build"},"keywords":["mcp","model-context-protocol","mcp-server","verification","website-verification","ssl-check","dns-check","api-health","uptime-monitoring","craftrift","claude","anthropic"],"author":{"name":"Jibran","email":"jibran@craftrift.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Jiibran/verify-mcp.git"},"homepage":"https://github.com/Jiibran/verify-mcp#readme","bugs":{"url":"https://github.com/Jiibran/verify-mcp/issues"},"mcp":{"protocolVersion":"2024-11-05","capabilities":{"tools":{}}},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.4"},"devDependencies":{"@types/node":"^22.10.2","typescript":"^5.7.2"},"engines":{"node":">=18.0.0"},"_id":"@craftrift/verify-mcp@1.0.0","gitHead":"5501f5540c70a5c35fe656784d376f00cd08896f","types":"./dist/index.d.ts","_nodeVersion":"20.20.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Qf/8BxujgoW8nCUWaB7aEOJPDx5aDP5pLGy2536ZhRd/KC0AEeN2TaDDQvx2tMAhYBPKJwvGu3N/nCsJXEC22g==","shasum":"bf14435e6c226f21c0de2438b83cb0e35d166bdd","tarball":"https://registry.npmjs.org/@craftrift/verify-mcp/-/verify-mcp-1.0.0.tgz","fileCount":15,"unpackedSize":27699,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDskP6c6FkwZ9X1JrXDnwcmNGH/yV9oMBUmS9DnSIUA1gIhAIhgH2kOkD6kmtdGzQTasswFdWc99HywGoWp9Mp+XeGv"}]},"_npmUser":{"name":"jiibran","email":"mjibrantariq246@gmail.com"},"directories":{},"maintainers":[{"name":"jiibran","email":"mjibrantariq246@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/verify-mcp_1.0.0_1774964643238_0.4457955845479087"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-31T13:44:03.174Z","1.0.0":"2026-03-31T13:44:03.372Z","modified":"2026-03-31T13:44:03.555Z"},"maintainers":[{"name":"jiibran","email":"mjibrantariq246@gmail.com"}],"description":"MCP server for CraftRift Verify API - verify websites, SSL certificates, DNS propagation, and API health","homepage":"https://github.com/Jiibran/verify-mcp#readme","keywords":["mcp","model-context-protocol","mcp-server","verification","website-verification","ssl-check","dns-check","api-health","uptime-monitoring","craftrift","claude","anthropic"],"repository":{"type":"git","url":"git+https://github.com/Jiibran/verify-mcp.git"},"author":{"name":"Jibran","email":"jibran@craftrift.com"},"bugs":{"url":"https://github.com/Jiibran/verify-mcp/issues"},"license":"MIT","readme":"# @craftrift/verify-mcp\n\n[![npm version](https://badge.fury.io/js/%40craftrift%2Fverify-mcp.svg)](https://www.npmjs.com/package/@craftrift/verify-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node Version](https://img.shields.io/node/%3E%3D18.0.0-brightgreen)](https://nodejs.org)\n\nA Model Context Protocol (MCP) server for the [CraftRift Verify API](https://verify.craftrift.com). Verify websites, SSL certificates, DNS propagation, and API health directly from Claude Desktop.\n\n## Features\n\n- 🔍 **Website Verification** - Check if websites are live and accessible\n- 🔐 **SSL Certificate Validation** - Verify SSL validity, expiration, and certificate chain\n- 🌐 **DNS Propagation Checks** - Verify A, AAAA, CNAME, MX, and TXT record propagation\n- 🏥 **API Health Monitoring** - Check API endpoints for health and expected responses\n- ⚡ **Fast & Reliable** - Powered by CraftRift's global verification infrastructure\n- 🔑 **Demo Mode** - Works without API key (rate limited by IP)\n\n## Installation\n\n### npm\n\n```bash\nnpm install -g @craftrift/verify-mcp\n```\n\n### npx\n\n```bash\nnpx @craftrift/verify-mcp\n```\n\n## Claude Desktop Configuration\n\nAdd this to your Claude Desktop config file:\n\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"verify\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@craftrift/verify-mcp\"],\n      \"env\": {\n        \"CRAFTRIFT_API_KEY\": \"your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\n> **Note**: The `CRAFTRIFT_API_KEY` is optional. Without it, the server runs in demo mode with IP-based rate limiting. Get a free API key at [verify.craftrift.com](https://verify.craftrift.com).\n\n## Tools\n\n### verify_website\n\nVerify if a website is live and accessible.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| target | string | Yes | Website URL (e.g., `https://example.com`) |\n| timeout_ms | number | No | Request timeout in ms (default: 10000) |\n| follow_redirects | boolean | No | Follow HTTP redirects (default: true) |\n\n**Example Response**:\n```json\n{\n  \"verified\": true,\n  \"type\": \"website_live\",\n  \"target\": \"https://example.com\",\n  \"checks\": [\n    {\n      \"name\": \"http_response\",\n      \"passed\": true,\n      \"actual\": \"200 OK\",\n      \"detail\": \"Website returned successful HTTP status\"\n    },\n    {\n      \"name\": \"content_accessible\",\n      \"passed\": true,\n      \"actual\": \"1276 bytes\",\n      \"detail\": \"Website content is accessible\"\n    }\n  ],\n  \"duration_ms\": 245,\n  \"timestamp\": \"2024-01-15T10:30:00Z\",\n  \"region\": \"us-east-1\"\n}\n```\n\n### verify_ssl\n\nVerify if a website has a valid SSL certificate.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| target | string | Yes | Hostname (e.g., `example.com`) |\n| timeout_ms | number | No | Request timeout in ms (default: 10000) |\n\n**Example Response**:\n```json\n{\n  \"verified\": true,\n  \"type\": \"ssl_valid\",\n  \"target\": \"example.com\",\n  \"checks\": [\n    {\n      \"name\": \"certificate_valid\",\n      \"passed\": true,\n      \"actual\": \"valid\",\n      \"detail\": \"SSL certificate is valid and trusted\"\n    },\n    {\n      \"name\": \"not_expired\",\n      \"passed\": true,\n      \"actual\": \"89 days remaining\",\n      \"detail\": \"Certificate expires on 2024-04-15\"\n    },\n    {\n      \"name\": \"chain_complete\",\n      \"passed\": true,\n      \"actual\": \"3 certificates\",\n      \"detail\": \"Full certificate chain is present\"\n    }\n  ],\n  \"duration_ms\": 312,\n  \"timestamp\": \"2024-01-15T10:30:00Z\",\n  \"region\": \"us-east-1\"\n}\n```\n\n### verify_dns\n\nVerify if DNS records have propagated.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| target | string | Yes | Domain name (e.g., `example.com`) |\n| record_type | string | No | DNS record type: A, AAAA, CNAME, MX, TXT, or ALL (default: ALL) |\n| timeout_ms | number | No | Request timeout in ms (default: 10000) |\n\n**Example Response**:\n```json\n{\n  \"verified\": true,\n  \"type\": \"dns_propagated\",\n  \"target\": \"example.com\",\n  \"checks\": [\n    {\n      \"name\": \"a_record\",\n      \"passed\": true,\n      \"actual\": \"93.184.216.34\",\n      \"detail\": \"A record found and propagated\"\n    },\n    {\n      \"name\": \"mx_record\",\n      \"passed\": true,\n      \"actual\": \"10 mail.example.com\",\n      \"detail\": \"MX record found and propagated\"\n    }\n  ],\n  \"duration_ms\": 156,\n  \"timestamp\": \"2024-01-15T10:30:00Z\",\n  \"region\": \"us-east-1\"\n}\n```\n\n### verify_api_health\n\nVerify if an API endpoint is healthy and responding correctly.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| target | string | Yes | API endpoint URL (e.g., `https://api.example.com/health`) |\n| expect | object | No | Expected response criteria (status_code, contains) |\n| timeout_ms | number | No | Request timeout in ms (default: 10000) |\n| follow_redirects | boolean | No | Follow HTTP redirects (default: true) |\n\n**Example Response**:\n```json\n{\n  \"verified\": true,\n  \"type\": \"api_healthy\",\n  \"target\": \"https://api.example.com/health\",\n  \"checks\": [\n    {\n      \"name\": \"status_code\",\n      \"passed\": true,\n      \"actual\": \"200\",\n      \"detail\": \"Expected status code 200, got 200\"\n    },\n    {\n      \"name\": \"response_time\",\n      \"passed\": true,\n      \"actual\": \"45ms\",\n      \"detail\": \"API responded within acceptable time\"\n    },\n    {\n      \"name\": \"content_match\",\n      \"passed\": true,\n      \"actual\": \"found\",\n      \"detail\": \"Expected content found in response\"\n    }\n  ],\n  \"duration_ms\": 67,\n  \"timestamp\": \"2024-01-15T10:30:00Z\",\n  \"region\": \"us-east-1\"\n}\n```\n\n## Pricing\n\n| Plan | Requests/Month | Price |\n|------|----------------|-------|\n| Free | 100 | $0 |\n| Starter | 2,000 | $19/mo |\n| Pro | 10,000 | $49/mo |\n\nGet your API key at [verify.craftrift.com](https://verify.craftrift.com)\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Run locally\nnpm run dev\n```\n\n## Links\n\n- [CraftRift Verify API](https://verify.craftrift.com)\n- [GitHub Repository](https://github.com/Jiibran/verify-mcp)\n- [Report Issues](https://github.com/Jiibran/verify-mcp/issues)\n\n## License\n\nMIT © 2026 [Jibran / CraftRift](https://craftrift.com)\n","readmeFilename":"README.md","_rev":"1-3563c2eb3673b75b2ce332553a48771a"}