Skip to main content
Glama

Endpoint Reachability Check

check_endpoint
Read-onlyIdempotent

Perform a live unauthenticated fetch against a public URL to check its HTTP status, content type, and response sample. Verifies endpoint reachability before recommending or documenting.

Instructions

Perform one live, unauthenticated fetch against a public URL or API endpoint before you recommend it, document it, or build on top of it. Use this when the question is simply whether an endpoint currently responds and what kind of response it returns. It reports HTTP status, content type, elapsed time, likely auth/rate-limit signals, and a short response sample. A successful result only proves basic reachability at fetch time. Do not use it to validate authenticated flows, POST side effects, JavaScript execution, or deeper business logic.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesPublic http(s) URL or bare domain to probe. Bare domains like google.com are accepted and normalized to https:// automatically.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputUrlNoOriginal user input when normalization changed it, for example when https:// was added.
urlYesNormalized URL that was actually fetched.
accessibleYesTrue when the endpoint returned a 2xx HTTP status.
statusNoHTTP status code returned by the endpoint, when a response was received.
contentTypeNoResponse Content-Type header, if present.
responseTimeMsNoElapsed request time in milliseconds.
authRequiredNoTrue when the server responded with 401 or 403, which usually means credentials are required.
rateLimitedNoTrue when the server responded with 429 Too Many Requests.
sampleResponseNoFirst 1,000 characters of the response body for quick inspection. Use this as a debugging hint only; it may be truncated and should not be treated as a complete page capture.
errorNoValidation or network error when the request could not be completed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.4.4
    • changedOutput schema / properties / sampleResponse / description
      Previous value: -"First 1,000 characters of the response body for quick inspection."New value: +"First 1,000 characters of the response body for quick inspection. Use this as a debugging hint only; it may be truncated and should not be treated as a complete page capture."
  2. Changed4 schema fields changedv0.1.1
    • changedInput schema / properties / url / description
      Previous value: -"The URL to probe"New value: +"Public http(s) URL or bare domain to probe. Bare domains like google.com are accepted and normalized to https:// automatically."
    • removedInput schema / properties / url / format
      Removed value: -"uri"
    • addedInput schema / properties / url / minLength
      Added value: +1
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "accessible": {
      +      "description": "True when the endpoint returned a 2xx HTTP status.",
      +      "type": "boolean"
      +    },
      +    "authRequired": {
      +      "description": "True when the server responded with 401 or 403, which usually means credentials are required.",
      +      "type": "boolean"
      +    },
      +    "contentType": {
      +      "description": "Response Content-Type header, if present.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "error": {
      +      "description": "Validation or network error when the request could not be completed.",
      +      "type": "string"
      +    },
      +    "inputUrl": {
      +      "description": "Original user input when normalization changed it, for example when https:// was added.",
      +      "type": "string"
      +    },
      +    "rateLimited": {
      +      "description": "True when the server responded with 429 Too Many Requests.",
      +      "type": "boolean"
      +    },
      +    "responseTimeMs": {
      +      "description": "Elapsed request time in milliseconds.",
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "sampleResponse": {
      +      "description": "First 1,000 characters of the response body for quick inspection.",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "HTTP status code returned by the endpoint, when a response was received.",
      +      "type": "integer"
      +    },
      +    "url": {
      +      "description": "Normalized URL that was actually fetched.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "url",
      +    "accessible"
      +  ],
      +  "type": "object"
      +}
  3. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds that the tool is unauthenticated, reports specific fields (HTTP status, content type, etc.), and warns that success only proves basic reachability. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: purpose and usage, what is reported, and limitations/caveats. Front-loaded, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one simple parameter, output schema mentioned, and annotations covering safety, the description is complete. It covers main use case, output contents, and limitations. Adequate for an agent to decide when to use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a detailed description of the url parameter (public http(s) URL, normalization). The tool description adds usage context but no new parameter semantics beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a live, unauthenticated fetch against a public URL/API endpoint. It uses specific verbs and resources, and the context distinguishes it from siblings like inspect_security_headers or verify_claim.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('simply whether an endpoint currently responds') and when not to use (authenticated flows, POST side effects, JavaScript execution, deeper business logic). Provides clear guidance on appropriate use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.