{
  "markdown": "<!-- mcp-name: io.github.R09722akaBennett/nano-pdf-mcp -->\n# NanoPDF MCP Server\n\nNanoPDF MCP Server is a Model Context Protocol (MCP) implementation that brings AI-powered PDF editing and generation capabilities directly to Claude Desktop. It enables users to modify existing PDF pages or generate new ones using Google's Gemini 3 Pro model, all within a privacy-focused local environment.\n\n## 🚀 Key Features\n\n- **AI-Driven Editing**: Modify PDF slides using natural language prompts.\n- **Smart Generation**: Create new, visually consistent slides after any page.\n- **Visual Previews**: View specific PDF pages as high-quality images.\n- **Privacy First**: All versioning and temporary files are stored locally on your machine.\n- **State Preservation**: Uses Tesseract OCR to maintain searchable text layers in AI-generated pages.\n- **Version Control**: Built-in undo functionality for safe experimentation.\n\n## 📋 Prerequisites\n\n### System Dependencies\n\nThe server requires `poppler` (for PDF rendering) and `tesseract` (for OCR) installed on your system.\n\n- **macOS (Homebrew):**\n  ```bash\n  brew install poppler tesseract\n  ```\n- **Ubuntu/Debian:**\n  ```bash\n  sudo apt-get install poppler-utils tesseract-ocr\n  ```\n\n### Environment Variables\n\nA Google Gemini API key is required to power the AI features.\n\n- `GEMINI_API_KEY`: Your Google AI Studio API key.\n\n## 🛠️ Installation & Setup\n\n### 1. Development Environment\n\nThis project uses `uv` for lightning-fast Python package management.\n\n```bash\n# Navigate to the server directory\ncd mcp-server\n\n# Install dependencies\nuv sync\n```\n\n### 2. Configure Claude Desktop\n\nAdd the NanoPDF server to your Claude Desktop configuration:\n\n**Path:** `~/Library/Application Support/Claude/claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"nanopdf\": {\n      \"command\": \"/Users/username/.local/bin/uv\", # replace with your uv path\n      \"args\": [\n        \"run\",\n        \"--directory\",\n        \"/Users/username/nano-pdf-mcp/mcp-server\", # replace with your mcp-server path\n        \"server.py\"\n      ]\n    }\n  }\n}\n```\n\n> [!IMPORTANT]\n> Change `username` to your actual macOS username. Ensure the `--directory` path is the absolute path to your `mcp-server` folder.\n\n## 📖 Usage Guide\n\nFor detailed tool descriptions and workflow examples, please refer to the [Usage Guide](USAGE.md).\n\n### Core Workflow\n\n1. **Open PDF**: `open_pdf(pdf_path=\"/path/to/document.pdf\")`\n2. **Edit/Add**: `edit_pdf_page(session_id=\"...\", page_number=1, prompt=\"...\")`\n\n## 📂 Project Structure\n\n- `mcp-server/`: Core MCP server implementation.\n  - `server.py`: Main entry point and tool definitions.\n  - `mcp_pdf_utils.py`: PDF processing, OCR, and rendering logic.\n  - `mcp_ai_utils.py`: Gemini Pro Vision API integration.\n  - `history_manager.py`: Local session and version history tracker.\n  - `output/`: Local storage for sessions and previews.\n- `LICENSE`: Project license (MIT).\n- `USAGE.md`: Detailed usage instructions and examples.\n\n## 🤝 Acknowledgements\n\nBased on the original [NanoPDF](https://github.com/gavrielc/Nano-PDF) project. Adapted for the Model Context Protocol.\n\n## 📄 License\n\nMIT License\n",
  "bytes": 3139,
  "sha": "f5751598f0e1db0918261373ad9d7a78f3edcecabf50ef83932d547ffecd3dc2",
  "repo_slug": "r09722akabennett/nano-pdf-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_r09722akabennett_nano_pdf_mcp_61d79f4a/readme"
}