url-text-fetcher
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@url-text-fetcherfetch the text from https://example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
url-text-fetcher
URL Text Fetcher Tools
This MCP server provides two utilities for web content analysis.
Related MCP server: URL Text Fetcher MCP Server
How to install
pip install -e .How to use with LM Studio
mcp.json file:
{
"mcpServers": {
"url-text-fetcher": {
"command": "python",
"args": [
"-m",
"url_text_fetcher.mcp_server"
]
}
}
}Tools Description
1. fetch_url_text(url: str) → str
Description:
Extracts all visible text content from a webpage, stripping HTML tags and normalizing whitespace.
Output Format:
Cleaned plain text with:
All HTML removed
Line breaks normalized (
\n)Leading/trailing whitespace stripped
2. fetch_page_links(url: str) → List[str]
Description:
Finds all absolute and relative links (from <a href> tags) on a webpage.
Output Format:
List of URLs including:
Absolute paths (
/about)Relative paths (
../contact)Full domain URLs (
https://example.com/page)
Available Tools
2 toolsfetch_page_linksB
Return a list of all URLs found on the given page.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states a simple read-like action ('Return'), but does not disclose potential caveats such as handling of relative URLs, redirects, unreachable pages, or deduplication. The behavior is underspecified beyond the basic operation.
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, front-loaded sentence with no extraneous words. It conveys the core function efficiently.
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?
Although an output schema exists (so return values are presumably defined), the description lacks usage context and behavioral caveats. For a one-parameter tool, the description is minimally adequate but leaves open questions about edge cases and alternative tool selection, especially without annotations to fill in safety and side-effect information.
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 description coverage is 0%, and the description adds minimal meaning by referring to the 'given page', which maps to the `url` parameter. However, it does not clarify expected URL format, requirements for absolute URLs, or any constraints, leaving the parameter semantics largely to the schema's property name.
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 'Return a list of all URLs found on the given page' uses a specific verb ('Return') and resource ('URLs found on the given page'), clearly distinguishing it from the sibling tool fetch_url_text, which is presumably about text extraction.
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 guidance is provided on when to use this tool versus alternatives. The sibling tool fetch_url_text is named in the context but not referenced in the description, leaving the agent without explicit selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_url_textB
Download the text from a URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description is the only source for behavioral traits. It mentions 'download' but does not disclose redirects, error handling, content type handling, size limits, or whether JavaScript is executed. Minimal behavioral information is present.
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, direct sentence with no redundancy or extraneous information. It is appropriately concise for a one-parameter 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?
Although an output schema exists and the tool is simple, the description omits use-case context, potential limitations, and guidance on when to choose this over the sibling tool. It is minimally adequate but leaves notable gaps.
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 only a 'url' string with 0% schema description coverage, and the description does not add any detail about URL format, schemes, or constraints beyond the parameter name itself. It fails to compensate for the low coverage.
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 specifies the verb 'download', the resource 'URL', and the outcome 'text', making it clear what the tool does. This implicitly distinguishes it from the sibling fetch_page_links, which targets links rather than text.
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 guidance is given on when to use this tool over fetch_page_links or other alternatives. It only states what it does, leaving usage circumstances entirely to the agent.
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.
2 tool updates
v0.1.0- First observed
fetch_page_links - First observed
fetch_url_text
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one fetches the text content of a URL, the other extracts links from a page. There is no overlap or ambiguity between them.
Both tool names follow the verb_noun pattern consistently: fetch_url_text and fetch_page_links. The naming is clear, predictable, and uniform.
With only two tools, the set feels thin. While the scope is narrow and both tools are useful, this falls at the borderline where 1-2 tools are considered minimal.
For a URL text fetcher, the two tools cover the primary needs: retrieving the text content and discovering links on a page. The surface is complete for this simple, read-only domain, with no obvious gaps.
Maintenance
Related MCP Connectors
Extract and parse web pages into clean HTML, links, or Markdown. Handle dynamic, complex, or block…
Fetch and extract data from any public web page, even JS-rendered or anti-bot protected
Web scraping for AI agents. Extract text and metadata from any URL worldwide. $0.005/page.
Search the web and extract clean, readable text from webpages. Process multiple URLs at once to sp…
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables web content scanning and analysis by fetching, analyzing, and extracting information from web pages using tools like page fetching, link extraction, site crawling, and more.613MIT
- FlicenseBqualityDmaintenanceEnables fetching visible text content and extracting all links from web pages through URL requests. Designed specifically for LM Studio integration to provide web scraping capabilities.22-
- AlicenseNot gradedqualityCmaintenanceEnables web crawling and content extraction from web pages, supporting multiple output formats like text, markdown, XML, and JSON, with robots.txt compliance and rate limiting.14 npm1MIT
- AlicenseAqualityCmaintenanceEnables AI agents to read web pages reliably, returning clean markdown content, hyperlinks, and metadata without navigation or ad noise.36 npmMIT