URL Text Fetcher MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation4/5
Most tools have distinct purposes: search-and-fetch, fetch links, fetch text, get server info, and test search. However, 'brave_search_and_fetch' and 'test_brave_search' could cause some confusion as both involve Brave Search queries, though their primary functions differ (content fetching vs. API testing).
Naming Consistency3/5The naming is mixed with no clear pattern: 'brave_search_and_fetch' uses underscores and compound verbs, 'fetch_page_links' and 'fetch_url_text' follow a verb_noun style, while 'get_server_info' and 'test_brave_search' use different verb styles. This inconsistency makes the set less predictable but still readable.
Tool Count5/5With 5 tools, this server is well-scoped for its URL text fetching purpose. Each tool earns its place by covering core functionalities like searching, fetching text/links, server info, and API testing, without being overly sparse or bloated.
Completeness4/5The toolset covers the main workflows for a URL text fetcher: searching, fetching text and links, and server management. A minor gap is the lack of tools for advanced text processing or filtering, but agents can work around this with the provided fetch operations.
Average 3.6/5 across 5 of 5 tools scored. Lowest: 2.9/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 4 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool tests 'connection and configuration,' implying a read-only diagnostic operation, but does not specify details like authentication requirements, rate limits, error handling, or what the test entails (e.g., whether it performs an actual search or just pings the API). This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with the main purpose stated clearly in the first sentence. The additional 'Args' section is concise and adds necessary parameter information without redundancy. There is no wasted text, making it efficient, though it could be slightly more structured for better readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no annotations, but with an output schema), the description is minimally complete. It covers the basic purpose and parameter, but lacks details on usage context, behavioral traits, and how it differs from siblings. The presence of an output schema means return values are documented elsewhere, so the description need not explain them, but overall it leaves gaps in guiding effective tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal semantics beyond the input schema: it explains that the 'query' parameter is a 'Test query to search for' with a default of 'test'. However, with 0% schema description coverage, the schema only provides basic type and title information. The description compensates slightly by clarifying the parameter's purpose, but it does not elaborate on format, constraints, or how the query is used in the test, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Test the Brave Search API connection and configuration.' It specifies the action ('Test') and the target ('Brave Search API connection and configuration'), which is clear and specific. However, it does not explicitly differentiate from sibling tools like 'brave_search_and_fetch', which might also involve API interactions, leaving room for ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 any prerequisites, exclusions, or comparisons to sibling tools such as 'brave_search_and_fetch' or 'get_server_info', which could be related for testing or configuration purposes. This lack of context makes it unclear when this tool is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns a list of links but doesn't cover critical aspects like whether it performs web scraping (implying network calls and potential rate limits), error handling (e.g., for invalid URLs), or output format details. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a clear purpose statement followed by parameter details in a labeled 'Args' section. It avoids unnecessary words, though the formatting could be slightly more polished (e.g., bullet points). Every sentence adds value, making it efficient for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (web scraping for links), no annotations, and an output schema (which handles return values), the description is minimally adequate. It covers the basic purpose and parameter but lacks details on behavioral traits like network dependencies or error scenarios. The output schema reduces the need for return value explanation, but more context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context for the single parameter 'url' by specifying 'The URL to fetch links from,' which clarifies its role beyond the schema's basic title 'Url.' Since schema description coverage is 0%, this compensates well, though it doesn't detail URL format requirements or validation rules. With only one parameter, the baseline is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Return a list of all links on the page.' It specifies the verb ('Return') and resource ('list of all links'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'fetch_url_text' (which might fetch text content rather than links), leaving room for minor ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 doesn't mention sibling tools such as 'fetch_url_text' or 'brave_search_and_fetch', nor does it specify prerequisites, exclusions, or contextual cues for selection. This lack of comparative context limits its utility in guiding the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states what the tool does, not behavioral traits. It doesn't disclose rate limits, authentication needs, error handling, what 'visible text' means (e.g., excludes scripts/styles), or performance characteristics. The description is minimal beyond the core function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with zero waste: a clear purpose statement followed by a brief parameter explanation. It's front-loaded with the main function and structured with a labeled 'Args' section, making it easy to parse efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no annotations but has output schema), the description is reasonably complete for basic use. It covers purpose and parameter semantics adequately. However, it lacks details on behavioral aspects like text extraction scope or error cases, which could be important for an agent's decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context for the single parameter 'url' by specifying it's 'The URL to fetch text from,' which clarifies its role beyond the schema's basic type definition. With 0% schema description coverage and only 1 parameter, this adequately compensates, though more detail on URL format expectations could improve it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Download all visible text') and resource ('from a URL'), distinguishing it from sibling tools like fetch_page_links (which gets links) or brave_search_and_fetch (which includes search). The verb 'download' and scope 'all visible text' provide precise differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for extracting text content from URLs, but provides no explicit guidance on when to use this tool versus alternatives like fetch_page_links or when not to use it (e.g., for non-text content). The context is clear but lacks sibling differentiation or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'automatically fetch content from the top results,' which hints at behavior, but it lacks details on rate limits, authentication needs, error handling, or what 'fetch content' entails (e.g., full text, summaries). This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with the core purpose in the first sentence and parameter details in a structured 'Args' section. Every sentence adds value without redundancy, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, 0% schema description coverage, but an output schema exists, the description is moderately complete. It covers the purpose and parameters but lacks behavioral details like permissions or rate limits. The output schema likely handles return values, so the description doesn't need to explain those, but it should address other contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining that 'query' is for search and 'max_results' controls how many top results to fetch content for, including default and max values. This clarifies beyond the basic schema, though it doesn't detail parameter formats or constraints fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('search the web using Brave Search' and 'fetch content from the top results'), and it distinguishes itself from siblings like 'fetch_page_links' and 'fetch_url_text' by combining search with content fetching in one operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for web search and content retrieval, but it does not explicitly state when to use this tool versus alternatives like 'test_brave_search' (which might be for testing) or 'fetch_url_text' (which requires a URL). No exclusions or specific contexts are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by specifying what information is returned. It discloses the return format ('Server information including version, implementation type, and available features'), though it doesn't mention potential limitations like rate limits, authentication needs, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly front-loaded with the core purpose in the first sentence, followed by a clear returns section. Both sentences earn their place by providing essential information without any redundant or unnecessary content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no annotations, but has output schema), the description is complete enough. It explains what the tool does and what it returns, and with an output schema present, it doesn't need to detail return value structure. The description covers all essential aspects for this straightforward informational tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, focusing instead on what the tool returns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get information') and resource ('this MCP server'), with explicit details about what information is retrieved ('version, implementation, and capabilities'). It distinguishes itself from sibling tools like search/fetch tools by focusing on server metadata rather than web operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving server metadata, but provides no explicit guidance on when to use this tool versus alternatives. There's no mention of prerequisites, timing considerations, or comparison with other tools that might provide similar information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/billallison/brsearch-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server