@craftrift/verify-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@craftrift/verify-mcpcheck if example.com is accessible"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@craftrift/verify-mcp
A Model Context Protocol (MCP) server for the CraftRift Verify API. Verify websites, SSL certificates, DNS propagation, and API health directly from Claude Desktop.
Features
🔍 Website Verification - Check if websites are live and accessible
🔐 SSL Certificate Validation - Verify SSL validity, expiration, and certificate chain
🌐 DNS Propagation Checks - Verify A, AAAA, CNAME, MX, and TXT record propagation
🏥 API Health Monitoring - Check API endpoints for health and expected responses
⚡ Fast & Reliable - Powered by CraftRift's global verification infrastructure
🔑 Demo Mode - Works without API key (rate limited by IP)
Related MCP server: @bounceprotect/mcp
Installation
npm
npm install -g @craftrift/verify-mcpnpx
npx @craftrift/verify-mcpClaude Desktop Configuration
Add this to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"verify": {
"command": "npx",
"args": ["-y", "@craftrift/verify-mcp"],
"env": {
"CRAFTRIFT_API_KEY": "your_api_key_here"
}
}
}
}Note: The
CRAFTRIFT_API_KEYis optional. Without it, the server runs in demo mode with IP-based rate limiting. Get a free API key at verify.craftrift.com.
Tools
verify_website
Verify if a website is live and accessible.
Parameter | Type | Required | Description |
target | string | Yes | Website URL (e.g., |
timeout_ms | number | No | Request timeout in ms (default: 10000) |
follow_redirects | boolean | No | Follow HTTP redirects (default: true) |
Example Response:
{
"verified": true,
"type": "website_live",
"target": "https://example.com",
"checks": [
{
"name": "http_response",
"passed": true,
"actual": "200 OK",
"detail": "Website returned successful HTTP status"
},
{
"name": "content_accessible",
"passed": true,
"actual": "1276 bytes",
"detail": "Website content is accessible"
}
],
"duration_ms": 245,
"timestamp": "2024-01-15T10:30:00Z",
"region": "us-east-1"
}verify_ssl
Verify if a website has a valid SSL certificate.
Parameter | Type | Required | Description |
target | string | Yes | Hostname (e.g., |
timeout_ms | number | No | Request timeout in ms (default: 10000) |
Example Response:
{
"verified": true,
"type": "ssl_valid",
"target": "example.com",
"checks": [
{
"name": "certificate_valid",
"passed": true,
"actual": "valid",
"detail": "SSL certificate is valid and trusted"
},
{
"name": "not_expired",
"passed": true,
"actual": "89 days remaining",
"detail": "Certificate expires on 2024-04-15"
},
{
"name": "chain_complete",
"passed": true,
"actual": "3 certificates",
"detail": "Full certificate chain is present"
}
],
"duration_ms": 312,
"timestamp": "2024-01-15T10:30:00Z",
"region": "us-east-1"
}verify_dns
Verify if DNS records have propagated.
Parameter | Type | Required | Description |
target | string | Yes | Domain name (e.g., |
record_type | string | No | DNS record type: A, AAAA, CNAME, MX, TXT, or ALL (default: ALL) |
timeout_ms | number | No | Request timeout in ms (default: 10000) |
Example Response:
{
"verified": true,
"type": "dns_propagated",
"target": "example.com",
"checks": [
{
"name": "a_record",
"passed": true,
"actual": "93.184.216.34",
"detail": "A record found and propagated"
},
{
"name": "mx_record",
"passed": true,
"actual": "10 mail.example.com",
"detail": "MX record found and propagated"
}
],
"duration_ms": 156,
"timestamp": "2024-01-15T10:30:00Z",
"region": "us-east-1"
}verify_api_health
Verify if an API endpoint is healthy and responding correctly.
Parameter | Type | Required | Description |
target | string | Yes | API endpoint URL (e.g., |
expect | object | No | Expected response criteria (status_code, contains) |
timeout_ms | number | No | Request timeout in ms (default: 10000) |
follow_redirects | boolean | No | Follow HTTP redirects (default: true) |
Example Response:
{
"verified": true,
"type": "api_healthy",
"target": "https://api.example.com/health",
"checks": [
{
"name": "status_code",
"passed": true,
"actual": "200",
"detail": "Expected status code 200, got 200"
},
{
"name": "response_time",
"passed": true,
"actual": "45ms",
"detail": "API responded within acceptable time"
},
{
"name": "content_match",
"passed": true,
"actual": "found",
"detail": "Expected content found in response"
}
],
"duration_ms": 67,
"timestamp": "2024-01-15T10:30:00Z",
"region": "us-east-1"
}Pricing
Plan | Requests/Month | Price |
Free | 100 | $0 |
Starter | 2,000 | $19/mo |
Pro | 10,000 | $49/mo |
Get your API key at verify.craftrift.com
Development
# Install dependencies
npm install
# Build
npm run build
# Run locally
npm run devLinks
License
MIT © 2026 Jibran / CraftRift
Available Tools
4 toolsverify_api_healthA
Verify if an API endpoint is healthy and responding correctly. Can check for expected status codes or response content.
| Name | Required | Description | Default |
|---|---|---|---|
| expect | No | Expected response criteria | |
| target | Yes | The API endpoint URL to verify (e.g., https://api.example.com/health) | |
| timeout_ms | No | Request timeout in milliseconds (default: 10000) | |
| follow_redirects | No | Follow HTTP redirects (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description partially discloses behavior (checks status/content) but omits details like return format, failure handling, or side effects. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no redundancy, and immediately conveys the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks explanation of return values (e.g., pass/fail format), which is critical for health checks. Also misses guidance on the nested 'expect' object structure. Incomplete for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal value beyond stating the tool's general capability. It does not clarify parameter usage beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it verifies API endpoint health, with specific mention of status codes and response content. This distinguishes it from sibling tools like verify_dns and verify_ssl.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for API health checks but provides no explicit when-to-use or when-not-to-use guidance, nor does it reference alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_dnsB
Verify if DNS records have propagated. Checks A, AAAA, CNAME, MX, and TXT records.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | The domain name to verify DNS for (e.g., example.com) | |
| timeout_ms | No | Request timeout in milliseconds (default: 10000) | |
| record_type | No | DNS record type to check (A, AAAA, CNAME, MX, TXT, or ALL) | ALL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It only lists record types checked but lacks details on failure behavior, idempotency, resolver selection, or whether it queries multiple nameservers. Incomplete disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that front-loads the core purpose without any extraneous words. Efficient and direct.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain what the tool returns (e.g., success/failure per record type, propagation status). It does not. Given the tool's verification nature, this is a significant omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all parameters have descriptions). The description repeats the record types already listed in the schema, adding marginal value. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: verify DNS propagation, and lists specific record types checked. It distinguishes from sibling tools (verify_api_health, verify_ssl, verify_website) which focus on different aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. Siblings target different domains, so usage is generally implied, but no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_sslB
Verify if a website has a valid SSL certificate. Checks certificate validity, expiration, and chain.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | The hostname to verify SSL for (e.g., example.com) | |
| timeout_ms | No | Request timeout in milliseconds (default: 10000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether it is read-only, what happens on failure, or any side effects. It only lists checks performed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core purpose. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain the return value structure or behavior. It does not mention what the tool returns, leaving agents uncertain about the response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal value beyond the parameter descriptions. It reiterates the intent but offers no additional semantic hints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies SSL certificates, checking validity, expiration, and chain. It distinguishes from sibling tools like verify_dns and verify_website by focusing on SSL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or conditions. It only states the basic function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_websiteB
Verify if a website is live and accessible. Checks HTTP response and content availability.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | The website URL to verify (e.g., https://example.com) | |
| timeout_ms | No | Request timeout in milliseconds (default: 10000) | |
| follow_redirects | No | Follow HTTP redirects (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It mentions 'checks HTTP response and content availability' but does not explain success/failure criteria, handling of timeouts, or response format. This is insufficient for a live check tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states the purpose, the second adds detail. Could be considered efficient, but it lacks a brief usage context or return value hint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, no output schema, and no annotations, the description is incomplete. It does not describe what the tool returns (e.g., boolean, message), how to interpret results, or any side effects. A verification tool should provide expected output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no additional meaning beyond the parameter names and descriptions. For example, it doesn't clarify that 'target' might need a protocol prefix or that 'timeout_ms' affects behavior. The description repeats schema content without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'verify' and the resource 'website', and specifies that it checks HTTP response and content availability. This distinguishes it from sibling tools like verify_dns or verify_ssl, which focus on different aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies basic web accessibility checking but does not explicitly state when to use this tool versus siblings. No alternative tools are mentioned, and there is no guidance on prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v1.0.0- First observed
verify_api_health - First observed
verify_dns - First observed
verify_ssl - First observed
verify_website
TDQS
Each tool targets a distinct verification aspect (API health, DNS, SSL, website) with no overlap, making it easy for an agent to choose the correct one.
All tools follow a consistent 'verify_' prefix followed by a specific noun (e.g., verify_api_health, verify_dns), forming a predictable verb_noun pattern.
Four tools is well-scoped for a verification-focused server; each tool covers a common infrastructure check without overloading or underserving the domain.
The set covers the most common verification needs (API, DNS, SSL, website) but lacks checks like port availability or email delivery, which are minor gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- sentinelOAuthio.rootstuff
Uptime, SSL, DNS and domain monitoring you can talk to from Claude or any MCP client.
Manage hosts, redirects, SSL, and traffic analytics from Claude and other AI assistants.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Build, clone & publish websites by chatting with Claude. Live in seconds, custom domains + SSL.
Related MCP Servers
AlicenseAqualityAmaintenanceLets you use Claude Desktop, or any MCP Client, to use natural language to accomplish things on your Cloudflare account.21,6234,145Apache 2.0
@bounceprotect/mcpofficial
AlicenseAqualityDmaintenanceEmail validation and SMTP verification for Claude Desktop, Cursor, and Claude Code6121MIT- AlicenseCqualityCmaintenanceEnables AI-powered automated testing, security scanning, code review, and maintenance tasks directly within Claude Code or desktop.124MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to perform network ping tests and internet connectivity checks.1-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jiibran/verify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server