MCP FetchPage
Captura inteligente de páginas da web com suporte automático a cookies e extração de seletores CSS.
Documentação
MCP Fetch Page
Busca de páginas da web baseada em navegador com suporte automático a cookies e extração por seletores CSS.
Recursos
- 🤖 Automação de Navegador: Renderização completa de JavaScript com Puppeteer
- 🍪 Gerenciamento Automático de Cookies: Carrega todos os cookies salvos automaticamente
- 🎯 Suporte a Seletores CSS: Extraia conteúdo específico com seletores
- 🌐 Predefinições de Domínio: Seletores integrados para sites comuns
- 📱 Suporte a SPA: Suporta totalmente conteúdo dinâmico e AJAX
Início Rápido
1. Configurar o Servidor MCP
Adicione à configuração do seu Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"mcp-fetch-page": {
"command": "npx",
"args": ["-y", "mcp-fetch-page@latest"]
}
}
}
Para personalizar o diretório de dados em tempo de execução (recomendado em VPS), defina MCP_FETCH_PAGE_DATA_DIR no MCP env:
{
"mcpServers": {
"mcp-fetch-page": {
"command": "npx",
"args": ["-y", "mcp-fetch-page@latest"],
"env": {
"MCP_FETCH_PAGE_DATA_DIR": "/data/mcp-fetch-page"
}
}
}
}
Reinicie o Claude Desktop.
2. Instalar a Extensão do Chrome (Opcional - para páginas autenticadas)
Baixe e instale a extensão do Chrome para salvar cookies de sessões autenticadas:
📥 Baixar Extensão dos Releases
Passos de instalação:
- Baixe o
mcp-fetch-page-extension-vX.X.X.zipdo release mais recente - Descompacte o arquivo
- Abra o Chrome e vá para
chrome://extensions/ - Ative o "Modo de desenvolvedor" (canto superior direito)
- Clique em "Carregar sem compactação" e selecione a pasta descompactada
Uso
Uso Básico
- Faça login em um site no Chrome
- Clique no ícone da extensão "Fetch Page MCP Tools"
- Clique no botão "Salvar Cookies"
- Use no Claude/Cursor:
fetchpage(url="https://example.com")
Uso Avançado
// Basic fetching with automatic cookie loading
fetchpage(url="https://example.com")
// Extract specific content with CSS selector
fetchpage(url="https://example.com", waitFor="#main-content")
// WeChat articles (automatic selector)
fetchpage(url="https://mp.weixin.qq.com/s/xxxxx")
// Run in non-headless mode for debugging
fetchpage(url="https://example.com", headless=false)
Predefinições de Domínio
O sistema usa automaticamente seletores otimizados para:
- mp.weixin.qq.com →
.rich_media_wrp(artigos WeChat) - wx.zsxq.com →
.content(Knowledge Planet) - cnblogs.com →
.post(Blog Garden) - Adicione mais em
mcp-server/domain-rules.json(domain-selectors.jsoncontinua suportado para compatibilidade)
Ferramentas de Depuração
# Standalone debug script (recommended for development)
cd mcp-server
node debug.js test-page "https://example.com"
node debug.js test-spa "https://example.com" "#content"
# MCP Inspector (for integration testing)
npx @modelcontextprotocol/inspector
# Then visit http://localhost:6274
Diretório de Dados (Opcional)
Por padrão, os dados em tempo de execução são armazenados em ~/Downloads/mcp-fetch-page/:
- Cookies:
~/Downloads/mcp-fetch-page/cookies - Páginas:
~/Downloads/mcp-fetch-page/pages
Para uso com MCP, configure MCP_FETCH_PAGE_DATA_DIR no campo env da configuração do seu cliente MCP.
O servidor sempre usará:
<MCP_FETCH_PAGE_DATA_DIR>/cookies<MCP_FETCH_PAGE_DATA_DIR>/pages<MCP_FETCH_PAGE_DATA_DIR>/domain-rules.json(sobreposições opcionais do usuário mescladas com regras integradas)
node mcp-server/server.js é apenas para desenvolvimento/depuração local.
Parâmetros
url(obrigatório): A URL a ser buscadawaitFor(opcional): Seletor CSS para extrair conteúdo específicoheadless(opcional): Executar o navegador em modo headless (padrão: true)timeout(opcional): Tempo limite em milissegundos (padrão: 30000)
Estrutura de Arquivos
mcp-fetch-page/
├── package.json # npm package config
├── package-lock.json # npm lockfile
├── node_modules/ # npm dependencies
├── README.md # This file
├── README-zh.md # Chinese version
├── CLAUDE.md # Claude Code usage guide
├── chrome-extension/ # Chrome extension
│ ├── manifest.json
│ ├── popup.js
│ ├── popup.html
│ └── background.js
└── mcp-server/ # MCP server
├── server.js # Main server
├── debug.js # Debug tools
├── domain-rules.json # Domain rules config (selector + blocked markers)
└── domain-selectors.json # Legacy selector config (compatibility fallback)
Solução de Problemas
- Extensão não funciona: Certifique-se de estar em um site normal (não em páginas chrome://)
- Nenhum cookie encontrado: Tente fazer login novamente e salvar os cookies
- MCP não conecta: Verifique a instalação do Node.js e reinicie seu editor
- Erro de caminho: Defina
MCP_FETCH_PAGE_DATA_DIRnoenvda configuração MCP para um caminho absoluto gravável na sua máquina/VPS - Seletor CSS não funciona: Verifique se o seletor existe na página
É isso! 🍪