bulk-url-checker
Server Details
Validate up to 75,000 URLs per job (status, redirects, response times). OAuth 2.1.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
5 toolsget_job_resultsARead-onlyIdempotentInspect
Fetch paginated results for a job. Each result has the URL, HTTP status code (null if unreachable), response time in ms, and an error message if the check failed.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| job_id | Yes | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond the annotations by specifying the exact fields of each result, including that status code is null if unreachable and that results include response time and error messages. It also mentions pagination, which is not in the annotations.
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 two sentences, front-loaded with the action, and every word adds value. It avoids redundancy with the annotations and schema, presenting only the necessary information about result contents and pagination in a compact form.
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?
For a read-only paginated listing tool, the description is almost complete. It explains what each result contains, fills in the absence of an output schema, and implies pagination. It does not explicitly mention offset/limit semantics, but these are defined in the schema. Given the sibling tools and the straightforward nature of the operation, no critical context is missing.
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 0%, so the description must compensate for parameter meaning. It mentions 'paginated results' but does not explicitly explain that limit and offset control pagination, nor does it define job_id. While these are inferable from the schema's names and defaults, the description leaves room for ambiguity. It partially compensates by hinting at pagination, but lacks explicit parameter details.
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 uses a specific verb ('Fetch') and resource ('paginated results for a job'), clearly distinguishing it from sibling tools like get_job_status and get_usage by focusing on actual result data (URL, status code, response time, errors). This is unambiguous and directly answers 'what does this tool do?'.
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 clearly implies usage context: to retrieve the results of a job rather than its status or usage. However, it does not explicitly name alternatives or state when not to use this tool. Given the sibling tool names, an agent can infer the distinction, but explicit guidance would push this to a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_job_statusBRead-onlyIdempotentInspect
Get the current status and progress of a job.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the description doesn't need to repeat that. It adds a slight behavioral cue by mentioning 'progress,' but doesn't disclose response format, error behavior, or any other traits. It's adequate but shallow.
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 one sentence, immediately front-loaded with the verb and object. There is no filler or irrelevant information, making it highly concise.
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?
The tool has no output schema, so the description should explain what 'status and progress' means in practical terms. It doesn't mention possible statuses, return format, or error cases. For an AI agent, this leaves too much ambiguity about the tool's behavior.
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?
The input schema has a single required parameter job_id with no description, and schema_description_coverage is 0%. The description only says 'a job,' which adds minimal meaning beyond the parameter name. It fails to explain what job_id represents or how it relates to other tools.
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 uses a specific verb 'Get' and identifies the resource as 'current status and progress of a job,' which clearly distinguishes it from sibling tools like get_job_results (results) and submit_urls (submission). The purpose is unambiguous.
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. It does not mention that this is for checking job progress or that get_job_results is for retrieving outputs. No exclusions or contextual hints are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageARead-onlyIdempotentInspect
Return the current credit balance for this API key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it is a safe read. The description adds scope context ('for this API key') but does not disclose response format or any additional behavioral traits. The bar is lower with annotations, and this adequately aligns.
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, focused sentence with no wasted words. It delivers the essential information immediately and is appropriately sized for a simple tool.
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?
For a no-parameter, read-only tool with strong annotations, the description is sufficient. It clearly states the purpose and scope, though the return value format is not explicitly described. Given the simplicity, this is acceptable but could mention output format for full completeness.
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?
The input schema has zero parameters, so the baseline is 4. The description adds meaningful context that the API key is the implicit authentication context, which is useful. No parameters need further explanation.
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 'Return' with a specific resource 'current credit balance' and scope 'for this API key'. This distinguishes it from sibling tools focused on job results, status, and submission.
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 guidance or alternative comparisons are provided. The usage is implied by the description's clarity, but there is no mention of exclusions or relation to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_verified_domainsARead-onlyIdempotentInspect
List domains this API key's owner has proven ownership of. Verified domains are checked substantially faster than unverified ones. If you are repeatedly checking a single site the user owns and it is not in this list, mention that verifying it once will speed up every later check. Verification is interactive (it requires placing a DNS TXT record or a meta tag), so it is done in the web dashboard under Verified domains, not through this API.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds behavioral context beyond that by stating the verification process is interactive and happens in the web dashboard, not through the API, while also explaining the performance benefit of verified domains. This is genuinely useful 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?
The description is compact yet fully uses its sentences: one sentence states the purpose, one explains performance impact, one gives concrete user-facing behavior, and one explains how verification works. No sentence is wasted or redundant.
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?
For a zero-parameter, read-only list operation, the description is remarkably complete. It covers purpose, scope, performance implications, how the verification process works, and practical guidance for the user. The tool's trivial, provides no output schema, so few other details are needed.
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?
There are zero parameters and the input schema confirms it, so no parameter documentation is needed. The description adds the natural implication that the result is scoped to the authenticated API key's owner, which gives semantic context beyond the empty schema.
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 opens with the specific verb-resource pair 'List domains' and clarifies exactly what is being listed: domains whose ownership this API key can demonstrate. This clearly differentiates the tool from siblings like get_job_results, get_job_status, and submit_urls, which concern jobs and usage.
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?
It gives clear usage context by saying verified domains are checked 'substantially faster' and explicitly advises recommending verification when a single site keeps being checked but is missing from the list. It does not name alternatives or explicitly say when not to use it, but the caller can infer this is the correct tool for auditing verified domains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_urlsADestructiveInspect
Submit a list of URLs to be checked. Returns a job_id that can be polled via get_job_status or fetched via get_job_results. For up to ~200 URLs this tool waits for completion (up to 60 seconds) and returns the results directly; for larger jobs it returns early with job_id and the agent should poll.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | URLs to check. Each must include http:// or https:// scheme. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavioral traits beyond annotations: return value (job_id), synchronous vs asynchronous behavior depending on job size, timeout, and how to retrieve results via sibling tools. This is valuable context for the agent's decision-making.
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 redundancy. The first sentence states the purpose, the second explains return behavior and polling. Well-structured and front-loaded.
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?
For a job-submission tool with no output schema, this description covers all essential aspects: the action, the return value, how to use sibling tools, and how to handle different job sizes. It gives an agent complete guidance for correct invocation and follow-up.
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?
The schema already fully documents the 'urls' parameter including the scheme requirement. The description adds a meaningful constraint (~200 URL threshold for synchronous processing) that affects how the parameter value is used, going beyond the schema.
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 submits a list of URLs for checking, using a specific verb and resource. It also distinguishes itself from sibling tools by mentioning the resulting job_id and the polling/fetching options.
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?
Explicitly explains the behavior for two cases: small jobs (≤~200 URLs) wait up to 60s and return results directly, larger jobs return early with a job_id to poll. This gives concrete when-to-use and how-to-proceed guidance, differentiating it from the sibling polling tools.
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.
1 tool update
- Added
get_verified_domains
4 tool updates
- First observed
get_job_results - First observed
get_job_status - First observed
get_usage - First observed
submit_urls
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Validate HTML/CSS, audit SEO and JSON-LD, check links, and capture responsive screenshots.
Rule-based site audits: accessibility, SEO, security headers, performance. Metered per call.
Deterministic axe-core accessibility scans (WCAG 2.1 AA, EN 301 549, PDF/UA) via your account.
Accessibility pre-checks (WCAG/BFSG) in a real browser + statement drafts. Pay per call.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables scanning web pages and entire domains to identify broken links, checking hyperlinks, images, scripts, and other resources. Provides comprehensive link validation with robots.txt compliance and detailed reporting of link status across single pages or complete websites.-
- AlicenseBqualityNot gradedmaintenanceProvides comprehensive website validation across performance, accessibility, SEO, and security dimensions using multiple testing services including WebPageTest, Google PageSpeed Insights, Axe DevTools, Mozilla Observatory, and SSL Labs. Enables automated website health assessments through browser automation and API integrations.1231-
- FlicenseNot gradedqualityDmaintenanceEnables auditing of websites for performance, SEO, accessibility, security, and mobile readiness, with tools to validate URLs, run page audits, save results, and retrieve reports.1-
- AlicenseAqualityAmaintenancePoint your coding agent at a URL and get a real-browser QA audit: broken signup/login/checkout flows, JS console errors, missing analytics, consent + security headers, mobile tap targets, and accessibility — returned as machine-verified findings graded A-F.442Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool has a clearly distinct purpose: submitting URLs, checking job status, fetching results, and retrieving credit balance. No overlap or ambiguity.
All tools follow a consistent verb_noun pattern in snake_case (e.g., get_job_status, submit_urls), making them predictable and easy to understand.
With 4 tools, the server is well-scoped for its purpose. Each tool serves a necessary function without redundancy or unnecessary complexity.
The tool set covers the full lifecycle: submission, status polling, result retrieval, and usage tracking. No obvious gaps for a bulk URL checker.