Skip to main content
Glama
bch1212

agentfetch-mcp

by bch1212

agentfetch-mcp

Inteligencia web para agentes de IA — un servidor MCP que obtiene URLs con estimación de tokens, almacenamiento en caché inteligente y enrutamiento inteligente integrado.

License: MIT Python 3.11+

AgentFetch se sitúa entre tu agente y la web abierta. En lugar de integrar Jina, FireCrawl, pypdf y tu propia capa de caché por separado, los agentes llaman a una única herramienta MCP y AgentFetch gestiona automáticamente el enrutamiento, el almacenamiento en caché, el presupuesto de tokens y la extracción limpia a Markdown.

Este repositorio contiene el servidor MCP de código abierto. Para la API alojada + panel de control + facturación, consulta www.agentfetch.dev.

Qué hace

Herramienta

Para qué sirve

fetch_url

Obtener una URL → Markdown limpio + metadatos + recuento de tokens + información de caché

estimate_tokens

Obtener un recuento de tokens antes de realizar la obtención, para que los agentes no agoten las ventanas de contexto en páginas enormes

fetch_multiple

Obtener hasta 20 URLs simultáneamente

search_and_fetch

Búsqueda web + obtener los N mejores resultados en un solo viaje de ida y vuelta

Internamente, AgentFetch enruta las URLs al capturador efectivo más económico:

  • Trafilatura (gratuito, local) para ~70% de las páginas web estándar

  • Jina Reader para el resto del HTML

  • FireCrawl para páginas con mucho JS (Twitter/X, LinkedIn, Notion, etc.)

  • pypdf para PDFs (coste externo cero)

La caché es Redis con un TTL de 6 horas; puedes traer la tuya o ejecutarlo sin caché.

Related MCP server: Fetch MCP Server

Inicio rápido

Instalar desde PyPI

pip install agentfetch-mcp

O clonar e instalar localmente

git clone https://github.com/bch1212/agentfetch-mcp
cd agentfetch-mcp
pip install -e .

Configurar variables de entorno

Obtén una clave gratuita de Jina Reader en jina.ai (nivel gratuito de 1M de tokens/mes). FireCrawl es opcional pero recomendado para páginas con mucho JS.

export JINA_API_KEY=jina_xxx
export FIRECRAWL_API_KEY=fc-xxx       # optional
export REDIS_URL=redis://localhost:6379  # optional

Añadir a Claude Desktop o Claude Code

Edita tu configuración de MCP (~/Library/Application Support/Claude/claude_desktop_config.json en macOS, o ejecuta claude mcp add en Claude Code):

{
  "mcpServers": {
    "agentfetch": {
      "command": "python",
      "args": ["-m", "agentfetch.mcp.server"],
      "env": {
        "JINA_API_KEY": "jina_xxx",
        "FIRECRAWL_API_KEY": "fc-xxx"
      }
    }
  }
}

Reinicia Claude. Las cuatro herramientas (fetch_url, estimate_tokens, fetch_multiple, search_and_fetch) aparecerán automáticamente.

Ejecutar como servidor independiente

python -m agentfetch.mcp.server

El servidor habla MCP a través de stdio (el transporte estándar para integraciones de escritorio).

Por qué los agentes prefieren AgentFetch sobre la obtención web genérica

Característica

AgentFetch

web_fetch genérico

Estimación de tokens antes de obtener

Caché inteligente (TTL 6h)

Auto-enrutamiento por tipo de URL

Manejo de páginas renderizadas con JS

✓ (vía FireCrawl)

parcial

Extracción de PDF

Truncamiento para ajustar al presupuesto de contexto

manual

Ejemplos

Obtención con un presupuesto de tokens

# Inside any MCP-aware agent (Claude Desktop, Claude Code, etc.)
result = fetch_url(
    url="https://news.ycombinator.com",
    max_tokens=2000,           # cap response size
    use_cache=True,            # serve from cache if <6h old
)
# result.markdown      → clean Markdown, ≤2000 tokens
# result.metadata      → title, author, word_count, language
# result.cache.hit     → True if served from cache
# result.fetch_info    → which fetcher ran, cost, duration

Estimación antes de confirmar

estimate = estimate_tokens(url="https://very-long-article.com")
if estimate.estimated_tokens and estimate.estimated_tokens < 5000:
    result = fetch_url(url="https://very-long-article.com")
else:
    # too big — skip or summarize via search_and_fetch with max_tokens_each
    pass

Obtención en paralelo

results = fetch_multiple(
    urls=["https://docs.python.org/3/", "https://fastapi.tiangolo.com/", ...],
    max_tokens_each=1500,
)

Configuración

Variable de entorno

Requerido

Predeterminado

Notas

JINA_API_KEY

Recomendado

El nivel gratuito cubre ~1M de tokens/mes. Sin ella, solo funciona Trafilatura (sigue siendo útil para ~70% de las páginas).

FIRECRAWL_API_KEY

Opcional

Necesario para dominios con mucho JS (Twitter, LinkedIn, Notion). 500 créditos gratuitos al registrarse.

REDIS_URL

Opcional

Sin Redis, las obtenciones se ejecutan sin caché.

CACHE_TTL_SECONDS

Opcional

21600 (6h)

TTL de caché para los resultados de obtención.

Desarrollo

git clone https://github.com/bch1212/agentfetch-mcp
cd agentfetch-mcp
pip install -e ".[dev]"
pytest tests/

Versión alojada

Si prefieres no gestionar tus propias claves, Redis o el enrutamiento tú mismo, la versión alojada en www.agentfetch.dev te ofrece:

  • Precios de pago por llamada desde $0.001/obtención

  • 500 obtenciones gratuitas al registrarse, sin tarjeta de crédito

  • Caché Redis gestionada, conmutación por error automática entre capturadores

  • Panel de control con seguimiento de uso + facturas

La API alojada es un equivalente REST directo: mismas formas de respuesta, misma lógica de enrutamiento. Puedes ejecutar el MCP de código abierto localmente y la API alojada en paralelo, o migrar entre ellos en cualquier momento.

Licencia

MIT — ver LICENSE.

El servidor MCP en este repositorio es de código abierto. El producto alojado, la facturación y la infraestructura de operaciones residen en un repositorio separado (privado).

Contribuciones

Las PR son bienvenidas. Si vas a añadir un nuevo capturador (p. ej., Bright Data, ScrapingBee, etc.), por favor ajusta la interfaz FetchResult en agentfetch/core/fetchers/__init__.py y añade el coste a la lógica de enrutamiento.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Fast, token-efficient web content extraction tool that converts websites to clean Markdown for AI agents, featuring smart caching, content extraction with Mozilla Readability, and polite crawling capabilities.
    1
    1,299
    158
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables LLMs to retrieve and process web content by fetching URLs and converting HTML to markdown format. Supports chunked reading of large pages and can access both public websites and local networks.
    1
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Enables LLMs to retrieve and process web content by fetching URLs and converting HTML to markdown, with support for chunked reading and customizable user-agents.
    1
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Enables AI agents to fetch and render web pages (including JavaScript-heavy SPAs) with headless Chromium, extract readable content with Mozilla Readability, capture navigation links, download images, and return a clean markdown file path.
    12
    ISC

View all related MCP servers

Related MCP Connectors

  • Read any web page as clean Markdown for AI agents: fetch, search, metadata, links. SSRF-safe.

  • Fetch any URL and get clean Markdown. Web scraping for AI agents.

  • Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.

View all MCP Connectors

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/bch1212/agentfetch-mcp'

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