---
description: 'APPLY when working with mcp-http-fetch package TO understand package structure, architecture, available tools, and development guidelines'
globs:
alwaysApply: true
---
# @ver0/mcp-http-fetch – Overview Rule
## Context
- This rule is injected whenever files under `packages/mcp-http-fetch` are referenced.
- It gives the AI a quick mental model of the package so it can navigate and edit confidently.
- Use it for orientation; it is not exhaustive documentation.
## Core Idea
`@ver0/mcp-http-fetch` is an **MCP (Model Context Protocol)** server exposing HTTP fetch operations as tools over **stdio**. It provides content-optimized fetching with **HTML minification**, **markdown conversion**, and **content limiting** for efficient AI processing.
## Key Directories
```text
src/
index.ts // Server bootstrap + tool registration
types.ts // Shared type definitions
tools/ // One file per HTTP tool (fetch-html-tool.ts, fetch-markdown-tool.ts, ...)
```
## Implemented Tools
fetch-html · fetch-markdown · fetch-json
Each tool follows the same pattern:
1. Declare an `inputSchema` with Zod.
2. Execute HTTP fetch with native `fetch` API.
3. Process content (minify HTML, convert to markdown, etc.).
4. Return structured response with metadata + content.
5. Include comprehensive error handling.
## Development Guidelines
- Keep changes minimal & *pure-function* oriented.
- Validate **all** inputs with Zod schemas.
- Throw clear, actionable errors.
- Process content efficiently for AI consumption.
- Respect project-wide code quality & comment standards.
## Gotchas
- All tools return metadata as first content item (JSON string).
- Content processing (minification/conversion) may fail gracefully.
- `start`/`end` parameters work on final processed content.