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
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 4 of 4 tools scored. Lowest: 3.5/5.
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.
Available Tools
4 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 |
Tool Definition Quality
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 |
Tool Definition Quality
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 | |||
Tool Definition Quality
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.
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. |
Tool Definition Quality
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
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
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 Servers
- Flicense-qualityDmaintenanceEnables 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.
- AlicenseBquality-maintenanceProvides 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
- Flicense-qualityDmaintenanceEnables 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