Skip to main content
Glama
wolfyy970

Docs Fetch MCP Server

by wolfyy970

ドキュメントフェッチMCPサーバー

再帰的な探索機能を備えたWebコンテンツを取得するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、LLMはWebページやドキュメントを自律的に探索し、特定のトピックについて学習できるようになります。

概要

Docs Fetch MCPサーバーは、LLMがWebコンテンツを取得・探索するためのシンプルかつ強力な手段を提供します。これにより、以下のことが可能になります。

  • あらゆるウェブページからクリーンで読みやすいコンテンツを取得する

  • 指定された深さまでのリンクされたページを再帰的に探索する

  • 包括的な情報を収集するための同一ドメインリンクトラバーサル

  • ナビゲーションリンクをスマートにフィルタリングして、コンテンツが豊富なページに焦点を当てます

このツールは、ユーザーが LLM でドキュメントや Web コンテンツを調べて特定のトピックについて学習したい場合に特に役立ちます。

Related MCP server: Spider MCP Server

特徴

  • コンテンツ抽出: ナビゲーション、広告、無関係な要素などの不要な要素を削除し、Webページから主要なコンテンツをきれいに抽出します。

  • リンク分析: ページからリンクを識別して抽出し、関連性を評価します

  • 再帰探索:同じドメイン内の関連コンテンツへのリンクを、指定された深さまでたどります。

  • 並列処理:同時リクエストと適切なエラー処理によりコンテンツを効率的にクロールします

  • 堅牢なエラー処理: ネットワークの問題、タイムアウト、不正なページを適切に処理します

  • デュアル戦略アプローチ: 最初に高速な axios リクエストを使用し、より複雑なページのフォールバックとして puppeteer を使用します。

  • タイムアウト防止: MCP の時間制限内での信頼性の高い操作を確保するために、グローバル タイムアウト処理を実装します。

  • 部分的な結果: 一部のページが完全に読み込まれなかった場合でも利用可能なコンテンツを返します

使用法

サーバーは単一の MCP ツールを公開します。

fetch_doc_content

指定された深さまでリンクされたページを探索する機能を使用して、Web ページ コンテンツを取得します。

パラメータ:

  • url (文字列、必須): 取得するウェブページのURL

  • depth (数値、オプション、デフォルト:1):ディレクトリ/リンク探索の最大深度(1-5)

戻り値:

{
  "rootUrl": "https://example.com/docs",
  "explorationDepth": 2,
  "pagesExplored": 5,
  "content": [
    {
      "url": "https://example.com/docs",
      "title": "Documentation",
      "content": "Main page content...",
      "links": [
        {
          "url": "https://example.com/docs/topic1",
          "text": "Topic 1"
        },
        ...
      ]
    },
    ...
  ]
}

インストール

  1. このリポジトリをクローンします:

git clone https://github.com/wolfyy970/docs-fetch-mcp.git
cd docs-fetch-mcp
  1. 依存関係をインストールします:

npm install
  1. プロジェクトをビルドします。

npm run build
  1. Claude クライアントで MCP 設定を構成します。

{
  "mcpServers": {
    "docs-fetch": {
      "command": "node",
      "args": [
        "/path/to/docs-fetch-mcp/build/index.js"
      ],
      "env": {
        "MCP_TRANSPORT": "pipe"
      }
    }
  }
}

依存関係

  • @modelcontextprotocol/sdk : MCP サーバー SDK

  • puppeteer : ウェブページインタラクションのためのヘッドレスブラウザ

  • axios : リクエストを行うためのHTTPクライアント

発達

サーバーを開発モードで実行するには:

npm run dev

ライセンス

マサチューセッツ工科大学

Available Tools

1 tool
fetch_doc_contentC

Fetch web page content with the ability to explore linked pages up to a specified depth

NameRequiredDescriptionDefault
depthNoMaximum depth of directory/link exploration (default: 1)
urlYesURL of the web page to fetch

TDQS

C2.9/5.0
Behavior2/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 the core functionality (fetching and exploring links) but lacks details on permissions, rate limits, error handling, or what the response looks like (e.g., format, size limits). This leaves significant gaps for a tool that interacts with external web resources.

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 a single, efficient sentence that clearly states the tool's purpose and key feature (exploring linked pages). It is front-loaded with the main action and includes no redundant information, making it highly concise and well-structured.

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

Completeness2/5

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

Given the complexity of fetching web content with link exploration, no annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like authentication needs, rate limits, or response format, which are critical for effective tool use in this context.

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 schema description coverage is 100%, so the schema already documents both parameters ('url' and 'depth') with descriptions and constraints. The description adds minimal value by implying the depth parameter relates to link exploration, but it doesn't provide additional syntax or format details beyond what the schema specifies.

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 a specific verb ('fetch') and resource ('web page content'), and it adds valuable context about exploring linked pages. However, since there are no sibling tools mentioned, it doesn't need to differentiate from alternatives, which keeps it from reaching 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 Guidelines2/5

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, prerequisites, or exclusions. It mentions the ability to explore linked pages up to a specified depth, but this is more about functionality than usage context.

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.

  1. 1 tool updatev1.0.0
    • First observedfetch_doc_content

TDQS

B3.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'fetch_doc_content' has a clear and distinct purpose, making it impossible for an agent to confuse it with other tools.

Naming Consistency5/5

Since there is only one tool, it inherently follows a consistent naming pattern. The tool name 'fetch_doc_content' uses a verb_noun structure, which is clear and predictable, and there are no other tools to cause inconsistency.

Tool Count2/5

A single tool is too few for a server named 'Docs Fetch MCP Server', which implies a domain involving document fetching and exploration. While the tool is well-described, one tool feels thin and insufficient for comprehensive operations like managing fetched content or handling different document types, limiting the server's utility.

Completeness2/5

The tool surface is severely incomplete for the inferred domain of document fetching. It only provides a fetch operation with depth control, missing essential functions such as listing fetched documents, updating or deleting cached content, searching within documents, or handling errors, which are necessary for a complete workflow.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI agents and coding assistants with advanced web crawling and RAG capabilities, allowing them to scrape websites and leverage that knowledge through various retrieval strategies.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables crawling and extracting clean content from documentation websites with optional LLM-powered analysis for intelligent summaries, code example extraction, and content classification.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables LLMs to fetch and extract web content using browser automation, OCR, and multiple extraction methods, handling JavaScript rendering and anti-scraping techniques.
    17
    MIT