Corrie Site Check
Server Details
Free HTTPS and security header check from Corrie, uptime monitoring for small teams. No auth.
- Status
- Healthy
- Uptime
- 100.0% over 19 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 1 tool
There is only one tool, so there is no possibility of confusing it with another; its purpose (single-URL HTTPS/security-header check) is unambiguous.
A single snake_case verb_noun name (check_website) is internally consistent and reads clearly as an action on a resource.
One tool is thin in absolute terms, but it is a deliberately narrow single-purpose server and the lone tool earns its place by covering the whole advertised function.
Within its declared scope the surface is thorough: TLS/certificate details, all major security headers, cookie flags, mixed content and per-finding fixes, with explicit out-of-scope statements that prevent dead ends.
Available Tools
1 toolcheck_websiteCheck a website's HTTPS and security headersARead-onlyIdempotentInspect
Loads the homepage of one public website over HTTPS, the way a visitor's browser would, and reports its HTTPS setup, TLS certificate and security headers (Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, cookie flags, mixed content and server banners). Returns a score from 0 to 100, a verdict, the TLS certificate issuer and expiry date, and each finding with a severity (critical, high, medium or low) and a plain-English fix that includes nginx or Cloudflare examples. Use it for questions like 'is example.com secure?', 'what security headers is my site missing?', 'when does this site's certificate expire?' or 'why does Chrome say my site is not secure?'. Input is a bare domain (example.com) or an https:// address. A bare domain checks the homepage; if you include a path, that one page is loaded instead. It does not log in, submit forms, scan ports, crawl other pages or test for vulnerabilities, and nothing is stored. It refuses private, internal and local addresses, plain http://, ports other than 443 and addresses with a user name; those come back as an isError result with a message saying what to change. A check usually takes 1 to 10 seconds. Running it twice on the same site gives the same result unless the site changed. Read corrie://docs/scoring for how the score and verdict work.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The public website to check: a bare domain such as example.com, or an https:// address such as https://www.example.com/. If you leave out the scheme, https:// is added. Only port 443 is allowed. Private, internal and local addresses (10.x, 192.168.x, 127.0.0.1, localhost, *.local) are refused. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | The normalized https:// address that was requested. |
| score | Yes | Starts at 100. Each finding subtracts points: critical 35, high 15, medium 6, low 2. Never below 0. |
| counts | Yes | Number of findings at each severity. |
| verdict | Yes | One-line summary based on the most severe finding. |
| findings | Yes | Problems found, most severe first. Empty when nothing was found. |
| final_url | Yes | The address after following up to 3 redirects. |
| report_url | Yes | Where a person can run the same check in a browser. |
| certificate | Yes | Facts about the site's TLS certificate. Fields are null when not observed. |
| http_status | Yes | HTTP status code of the final response. |
| limitations | Yes | What this quick check does not cover. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses refusal cases (private/internal/local, plain http, non-443 ports, user names) and the isError outcome, latency (1-10s), idempotency caveat ('same result unless the site changed'), statelessness ('nothing is stored'), and a pointer to corrie://docs/scoring for the scoring model. Annotations only cover safety hints, and the description adds substantive operational context on top.
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?
It is a long description, but it is front-loaded (what it loads, what it returns) before examples, exclusions and limits. Nearly every sentence carries distinct, decision-relevant information, though the enumeration of headers and the examples section could be trimmed slightly.
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?
Output schema exists, so return-value explanation was not required, yet the description still maps the result shape (score, verdict, certificate issuer/expiry, findings with severity and fixes). Combined with the refusal behavior and timing, an agent has everything needed to call this correctly and interpret failures.
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 baseline is 3, but the description adds meaning the schema does not: bare domain checks the homepage while including a path loads only that page instead. That is a genuine semantic addition beyond the documented parameter.
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?
States a specific verb and resource — loads a public website's homepage over HTTPS and reports its HTTPS/TLS/header posture. The scope is exact enough that an agent knows precisely what is and is not covered; no sibling tools exist to disambiguate from.
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?
Gives concrete trigger questions ('is example.com secure?', 'what headers is my site missing?', 'why does Chrome say my site is not secure?') and explicit exclusions (no logins, forms, port scans, crawling or vulnerability testing). It also spells out the refused input classes and that they surface as isError with a corrective message, so routing is unambiguous.
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.
1 tool update
- Changed
check_website22 fields changed- changed
Input schema / properties / url / descriptionPrevious value: -"A public domain or HTTPS address, for example example.com or https://example.com/."New value: +"The public website to check: a bare domain such as example.com, or an https:// address such as https://www.example.com/. If you leave out the scheme, https:// is added. Only port 443 is allowed. Private, internal and local addresses (10.x, 192.168.x, 127.0.0.1, localhost, *.local) are refused." - added
Input schema / properties / url / examplesAdded value: +[ + "example.com", + "https://www.example.com/", + "shop.example.org" +] - added
Input schema / properties / url / minLengthAdded value: +1 - added
Output schema / properties / certificate / descriptionAdded value: +"Facts about the site's TLS certificate. Fields are null when not observed." - added
Output schema / properties / certificate / propertiesAdded value: +{ + "days_left": { + "description": "Whole days until expiry.", + "type": [ + "integer", + "null" + ] + }, + "expires": { + "description": "Expiry date, YYYY-MM-DD (UTC).", + "type": [ + "string", + "null" + ] + }, + "issuer": { + "description": "Issuer common name.", + "type": [ + "string", + "null" + ] + } +} - added
Output schema / properties / counts / descriptionAdded value: +"Number of findings at each severity." - added
Output schema / properties / counts / propertiesAdded value: +{ + "critical": { + "minimum": 0, + "type": "integer" + }, + "high": { + "minimum": 0, + "type": "integer" + }, + "low": { + "minimum": 0, + "type": "integer" + }, + "medium": { + "minimum": 0, + "type": "integer" + } +} - added
Output schema / properties / counts / requiredAdded value: +[ + "critical", + "high", + "medium", + "low" +] - added
Output schema / properties / final_url / descriptionAdded value: +"The address after following up to 3 redirects." - added
Output schema / properties / findings / descriptionAdded value: +"Problems found, most severe first. Empty when nothing was found." - added
Output schema / properties / findings / items / propertiesAdded value: +{ + "category": { + "description": "Area of the finding: headers, tls, cookies, mixed_content or reachability.", + "type": "string" + }, + "detail": { + "description": "What is wrong, in plain English.", + "type": "string" + }, + "fix": { + "description": "How to fix it, often with an nginx or Cloudflare example.", + "type": "string" + }, + "severity": { + "description": "How much it matters. See corrie://docs/scoring.", + "enum": [ + "critical", + "high", + "medium", + "low" + ], + "type": "string" + } +} - added
Output schema / properties / findings / items / requiredAdded value: +[ + "severity", + "category", + "detail", + "fix" +] - added
Output schema / properties / http_status / descriptionAdded value: +"HTTP status code of the final response." - added
Output schema / properties / limitations / descriptionAdded value: +"What this quick check does not cover." - added
Output schema / properties / report_url / descriptionAdded value: +"Where a person can run the same check in a browser." - added
Output schema / properties / score / descriptionAdded value: +"Starts at 100. Each finding subtracts points: critical 35, high 15, medium 6, low 2. Never below 0." - added
Output schema / properties / score / maximumAdded value: +100 - added
Output schema / properties / score / minimumAdded value: +0 - added
Output schema / properties / url / descriptionAdded value: +"The normalized https:// address that was requested." - added
Output schema / properties / verdict / descriptionAdded value: +"One-line summary based on the most severe finding." - added
Output schema / properties / verdict / enumAdded value: +[ + "Needs urgent attention", + "A few important fixes", + "Looks good, with minor suggestions", + "Looks good" +] - changed
Output schema / requiredPrevious value: -[ - "url", - "score", - "verdict", - "findings" -]New value: +[ + "url", + "final_url", + "http_status", + "score", + "verdict", + "counts", + "findings", + "certificate", + "limitations", + "report_url" +]
1 tool update
- First observed
check_website
Related MCP Connectors
Free anonymous website, DNS, email and TLS checks, plus monitor read and opt-in write access.
Check if any website is up (status, latency, redirects, security headers) and set uptime alerts.
Scan a website's HTTP security headers (HSTS, CSP, framing, COOP/CORP, cookies). Score + fixes.
Monitor SSL certs (incl. origin behind Cloudflare), domain expiry, DNS, email auth and blacklists.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAnalyze and score HTTP security headers (CSP, HSTS, CORS, cookies) with actionable fix recommendations for web applications.-
- AlicenseAqualityCmaintenanceEnables AI agents and developers to audit any URL or domain for seven critical OWASP HTTP security headers, returning an A+ to F grade plus actionable Nginx, Apache, Caddy, and Cloudflare remediation snippets. It also probes /.well-known/security.txt and /security.txt to surface responsible vulnerability disclosure contacts, bug bounty scopes, and PGP keys.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables live TLS/SSL certificate health checks for any hostname, providing expiry, hostname match, trust verdict, and a health score. Supports both free and paid deep tiers with protocol/cipher analysis.MIT
- AlicenseAqualityAmaintenanceWebsite monitoring for AI assistants. Visual Sentinel catches pages that look broken even when the site is up. DNS, SSL, speed and website checks need no account; monitors, incidents and alerts need an API key (Business and Agency plans).169 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.