Web content fetching and conversion to markdown for efficient LLM consumption. Provides 1 tool for fetching URLs and extracting content.
Fetches URLs from the internet and converts web content to markdown format for easier LLM analysis. Supports chunked reading, raw HTML extraction, and content length control.
Version: 2025.4.7 (locked 2026-01-20)
| Tool | Description |
|---|---|
| fetch | Fetches a URL from the internet and optionally extracts its contents as markdown |
⚠️ Always check tools/ for exact parameter names before calling.
| Prompt | Description |
|---|---|
| fetch | Fetch a URL and extract its contents as markdown |
See prompts.md for details.
⚠️ Before calling any tool, read its documentation in tools/ to get the exact parameter names.
# List available tools and their schemas
node ./scripts/mcp-caller.mjs list
# Then check tools/<tool-name>.md for parameter details
Run from this skill directory:
node ./scripts/mcp-caller.mjs call <tool> '<json-args>'
node ./scripts/mcp-caller.mjs resource <uri>
node ./scripts/mcp-caller.mjs prompt <name> '<json-args>'
node ./scripts/mcp-caller.mjs list
Example:
node ./scripts/mcp-caller.mjs call fetch '{"url": "https://example.com"}'
For batch operations or complex logic, use the API module:
// example.mjs - Run from this skill directory
import { callTool, listTools } from './scripts/api.mjs';
// First, check available tools and their schemas
const tools = await listTools();
console.log(tools.map(t => ({ name: t.name, params: Object.keys(t.inputSchema?.properties || {}) })));
// Then call with correct parameters (see tools/*.md for details)
const result = await callTool('toolName', { /* check tools/toolName.md for params */ });
// Parallel calls
const results = await Promise.all([
callTool('tool1', { /* params from tools/tool1.md */ }),
callTool('tool2', { /* params from tools/tool2.md */ }),
]);
console.log(JSON.stringify(results, null, 2));
Available API functions:
callTool(name, args) - Call a toollistTools() - List available tools (includes inputSchema with parameter info)readResource(uri) - Read a resourcelistResources() - List resourcesgetPrompt(name, args) - Get a promptlistPrompts() - List promptsclose() - Close connection (optional cleanup)If a tool call fails (e.g., "method not found", parameter changes):
Do not retry failed calls repeatedly - prioritize finding alternatives.
To update this skill with newer MCP server version: