Skip to main content
Glama
tatn

MCP Server Fetch TypeScript

by tatn

mcp-server-fetch-typescript MCP Server

A Model Context Protocol server that provides web content fetching and conversion capabilities. This server implements a comprehensive web content retrieval system with support for various formats and rendering methods, making it ideal for tasks ranging from simple data extraction to sophisticated web scraping.

Features

Tools

  • get_raw_text - Retrieve raw text content directly from URLs

    • Takes url as a required parameter pointing to text-based resources

    • Returns unprocessed text content without browser rendering

    • Ideal for JSON, XML, CSV, TSV, or plain text files

    • Best used when fast, direct access to source content is needed

  • get_rendered_html - Fetch fully rendered HTML content

    • Takes url as a required parameter

    • Returns complete HTML content after JavaScript execution

    • Uses Playwright for headless browser rendering

    • Essential for modern web applications and SPAs

  • get_markdown - Convert web content to Markdown format

    • Takes url as a required parameter

    • Returns well-formatted Markdown preserving structural elements

    • Supports tables and definition lists

    • Recommended for content archiving and documentation

  • get_markdown_summary - Extract and convert main content

    • Takes url as a required parameter

    • Returns clean Markdown focusing on main content

    • Automatically removes navigation, headers, footers

    • Perfect for article and blog post extraction

Related MCP server: MCP Server for Google Search

Installation

As a Global Package

npm install -g mcp-server-fetch-typescript

As a Project Dependency

npm install mcp-server-fetch-typescript

Usage

Using with Claude Desktop

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json

"mcpServers": {
  "mcp-server-fetch-typescript": {
    "command": "npx",
    "args": [
      "-y",
      "mcp-server-fetch-typescript"
    ]
  }
}

or Add the following configuration:

git clone https://github.com/tatn/mcp-server-fetch-typescript.git
cd mcp-server-fetch-typescript
npm install
npm run build
"mcpServers": {
  "mcp-server-fetch-typescript": {
    "command": "node",
    "args": [
      "/path/to/mcp-server-fetch-typescript/build/index.js"
    ]
  }
}

Debugging

To debug the MCP server:

npx @modelcontextprotocol/inspector npx -y mcp-server-fetch-typescript
npx @modelcontextprotocol/inspector node /path/to/mcp-server-fetch-typescript/build/index.js

Available Tools

4 tools
get_markdownA

Converts web page content to well-formatted Markdown, preserving structural elements like tables and definition lists. Recommended as the default tool for web content extraction when a clean, readable text format is needed while maintaining document structure.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the web page to convert to Markdown format, supporting various HTML elements and structures.

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses key behavioral traits: conversion to Markdown, preservation of structural elements, and suitability as a default extraction tool. However, it lacks details on error handling, performance characteristics, or limitations (e.g., URL accessibility, content size). The description adds value but is incomplete for full transparency.

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?

The description is appropriately sized and front-loaded, with two sentences that efficiently convey purpose and usage guidelines. Every sentence earns its place by defining the tool's function and providing contextual recommendations without unnecessary details.

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

Completeness4/5

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

Given the tool's moderate complexity (single parameter, no output schema, no annotations), the description is mostly complete. It covers purpose, usage context, and key behavioral aspects. However, it lacks explicit mention of output format details or potential limitations, leaving some gaps in full context for an agent.

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 description coverage is 100%, with the single parameter 'url' well-documented in the schema. The description adds no specific parameter semantics beyond what the schema provides, but it implies the URL should point to a web page with content convertible to Markdown. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

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 specific action ('Converts web page content to well-formatted Markdown') and resource ('web page'), distinguishing it from siblings by emphasizing preservation of structural elements like tables and definition lists. It explicitly contrasts with other tools by positioning itself as the default for clean, readable text format extraction.

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?

The description provides explicit guidance on when to use this tool ('Recommended as the default tool for web content extraction when a clean, readable text format is needed while maintaining document structure'), implying alternatives through sibling tool names (get_markdown_summary, get_raw_text, get_rendered_html) and specifying the context of needing structured, readable output.

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

get_markdown_summaryA

Extracts and converts the main content area of a web page to Markdown format, automatically removing navigation menus, headers, footers, and other peripheral content. Perfect for capturing the core content of articles, blog posts, or documentation pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the web page whose main content should be extracted and converted to Markdown.

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes key behaviors like automatic removal of navigation menus and headers, which is useful context, but lacks details on potential limitations, error handling, or performance aspects that could affect tool selection.

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?

The description is appropriately sized and front-loaded, with two concise sentences that efficiently convey the tool's purpose and use case without any wasted words, making it easy for an agent to quickly understand the tool's value.

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

Completeness3/5

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

Given the tool's moderate complexity (content extraction and conversion), no annotations, and no output schema, the description is somewhat complete but lacks details on output format, error conditions, or performance characteristics that would help an agent use it effectively in varied contexts.

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 description coverage is 100%, so the input schema already documents the 'url' parameter thoroughly. The description does not add any additional meaning or details beyond what the schema provides, such as URL format constraints or examples, resulting in a baseline score of 3.

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's purpose with specific verbs ('extracts and converts') and resources ('main content area of a web page to Markdown format'), distinguishing it from siblings like get_raw_text or get_rendered_html by emphasizing content extraction and conversion to Markdown.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool ('Perfect for capturing the core content of articles, blog posts, or documentation pages'), but does not explicitly state when not to use it or name alternatives among the sibling tools, leaving some room for improvement in distinguishing usage scenarios.

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

get_raw_textA

Retrieves raw text content directly from a URL without browser rendering. Ideal for structured data formats like JSON, XML, CSV, TSV, or plain text files. Best used when fast, direct access to the source content is needed without processing dynamic elements.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the target resource containing raw text content (JSON, XML, CSV, TSV, plain text, etc.).

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses key behavioral traits like 'without browser rendering' and 'fast, direct access', but lacks details on error handling, rate limits, or authentication needs. It does not contradict 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?

The description is front-loaded with the core purpose, followed by usage guidelines, all in three concise sentences with zero waste. Every sentence adds value without redundancy.

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

Completeness3/5

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

Given no annotations and no output schema, the description is adequate for a simple retrieval tool but lacks details on return values, error cases, or performance constraints. It covers the basics but could be more complete for a tool with potential complexity in handling various data formats.

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 description coverage is 100%, so the schema already documents the 'url' parameter. The description adds some context by listing acceptable formats (JSON, XML, CSV, TSV, plain text), but does not provide additional syntax or format details beyond what the schema implies.

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 specific action ('retrieves raw text content') and resource ('from a URL'), distinguishing it from siblings like get_markdown or get_rendered_html by emphasizing 'without browser rendering' and 'direct access to source content'.

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

Usage Guidelines4/5

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

It provides clear context on when to use ('ideal for structured data formats', 'best used when fast, direct access to source content is needed without processing dynamic elements'), but does not explicitly mention when not to use or name specific alternatives among siblings.

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

get_rendered_htmlA

Fetches fully rendered HTML content using a headless browser, including JavaScript-generated content. Essential for modern web applications, single-page applications (SPAs), or any content that requires client-side rendering to be complete.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the target web page that requires JavaScript execution or dynamic content rendering.

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the tool's approach ('using a headless browser') and scope ('including JavaScript-generated content'), which adds value beyond the input schema. However, it omits details like performance characteristics, error handling, or output format, leaving gaps for a mutation-like operation (fetching rendered content).

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?

The description is appropriately sized with two sentences that are front-loaded and zero waste. The first sentence states the core functionality, and the second provides essential usage context, making it efficient and well-structured.

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

Completeness3/5

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

Given the tool's complexity (rendering dynamic content) and lack of annotations and output schema, the description is adequate but incomplete. It covers the purpose and usage context but misses details like what the returned HTML includes (e.g., full DOM, specific elements), potential limitations, or error scenarios, which are crucial for such an operation.

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?

The input schema has 100% description coverage, with the 'url' parameter well-documented in the schema itself. The description adds marginal context by implying the URL must target pages needing JavaScript execution, but doesn't provide additional syntax, format, or validation details beyond what the schema already states.

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

Purpose4/5

Does 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 ('fetches fully rendered HTML content') and resources ('using a headless browser'), distinguishing it from sibling tools that fetch markdown or raw text. However, it doesn't explicitly differentiate from potential non-sibling alternatives like basic HTML fetchers, keeping it from a perfect score.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool ('modern web applications, single-page applications (SPAs), or any content that requires client-side rendering'), which implicitly distinguishes it from sibling tools that handle markdown or raw text. It lacks explicit exclusions or named alternatives, preventing a score of 5.

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

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: get_markdown preserves full structure, get_markdown_summary focuses on core content, get_raw_text handles raw data formats, and get_rendered_html captures JavaScript-rendered content. The descriptions explicitly differentiate use cases, leaving no ambiguity for agent selection.

Naming Consistency5/5

All tool names follow a consistent 'get_*' verb_noun pattern with snake_case, making them predictable and easy to parse. The naming convention is uniform across all four tools, enhancing readability and coherence.

Tool Count5/5

With 4 tools, the set is well-scoped for a web content fetching server, covering key extraction methods (Markdown, raw text, rendered HTML) and a specialized summary variant. Each tool earns its place without redundancy or excessive complexity.

Completeness5/5

The tool surface comprehensively covers the domain of web content fetching: it includes raw extraction, rendered content, and two Markdown variants for different needs. There are no obvious gaps, as the tools handle static, dynamic, and structured content effectively.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

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/tatn/mcp-server-fetch-typescript'

If you have feedback or need assistance with the MCP directory API, please join our Discord server