diff --git a/CLAUDE.md b/CLAUDE.md index 597ddde..6ed42bf 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## Project Overview -MCP PDF Tools is a FastMCP server that provides comprehensive PDF processing capabilities including text extraction, table extraction, OCR, image extraction, and format conversion. The server is built on the FastMCP framework and provides intelligent method selection with automatic fallbacks. +MCP PDF is a FastMCP server that provides comprehensive PDF processing capabilities including text extraction, table extraction, OCR, image extraction, and format conversion. The server is built on the FastMCP framework and provides intelligent method selection with automatic fallbacks. ## Development Commands @@ -59,7 +59,7 @@ uv run safety check --json && uv run pip-audit --format=json ### Running the Server ```bash # Run MCP server directly -uv run mcp-pdf-tools +uv run mcp-pdf # Verify installation uv run python examples/verify_installation.py diff --git a/README.md b/README.md index 1f4960f..8085d50 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@
|
-### 🏆 **Why MCP PDF Tools Leads**
+### 🏆 **Why MCP PDF Leads**
- **🚀 23 Specialized Tools** for every PDF scenario
- **🧠 AI-Powered Intelligence** beyond basic extraction
- **🔄 Multi-Library Fallbacks** for 99.9% reliability
@@ -59,8 +59,8 @@
```bash
# 1️⃣ Clone and install
-git clone https://github.com/rpm/mcp-pdf-tools
-cd mcp-pdf-tools
+git clone https://github.com/rpm/mcp-pdf
+cd mcp-pdf
uv sync
# 2️⃣ Install system dependencies (Ubuntu/Debian)
@@ -70,7 +70,7 @@ sudo apt-get install tesseract-ocr tesseract-ocr-eng poppler-utils ghostscript
uv run python examples/verify_installation.py
# 4️⃣ Run the MCP server
-uv run mcp-pdf-tools
+uv run mcp-pdf
```
@@ -82,8 +82,8 @@ Add to your `claude_desktop_config.json`:
"mcpServers": {
"pdf-tools": {
"command": "uv",
- "args": ["run", "mcp-pdf-tools"],
- "cwd": "/path/to/mcp-pdf-tools"
+ "args": ["run", "mcp-pdf"],
+ "cwd": "/path/to/mcp-pdf"
}
}
}
@@ -406,7 +406,7 @@ classification = await classify_content("mystery-document.pdf")
| 🔧 **Processing Need** | 📄 **PDF Files** | 📊 **Office Files** | 🔗 **Integration** |
|-----------------------|------------------|-------------------|-------------------|
-| **Text Extraction** | MCP PDF Tools ✅ | [MCP Office Tools](https://git.supported.systems/MCP/mcp-office-tools) ✅ | **Unified API** |
+| **Text Extraction** | MCP PDF ✅ | [MCP Office Tools](https://git.supported.systems/MCP/mcp-office-tools) ✅ | **Unified API** |
| **Table Processing** | Advanced ✅ | Advanced ✅ | **Cross-Format** |
| **Image Extraction** | Smart ✅ | Smart ✅ | **Consistent** |
| **Format Detection** | AI-Powered ✅ | AI-Powered ✅ | **Intelligent** |
@@ -464,8 +464,8 @@ comparison = await compare_cross_format_documents([
```bash
# Clone repository
-git clone https://github.com/rpm/mcp-pdf-tools
-cd mcp-pdf-tools
+git clone https://github.com/rpm/mcp-pdf
+cd mcp-pdf
# Install with uv (fastest)
uv sync
@@ -491,7 +491,7 @@ RUN apt-get update && apt-get install -y \
COPY . /app
WORKDIR /app
RUN pip install -e .
-CMD ["mcp-pdf-tools"]
+CMD ["mcp-pdf"]
```
@@ -504,8 +504,8 @@ CMD ["mcp-pdf-tools"]
"mcpServers": {
"pdf-tools": {
"command": "uv",
- "args": ["run", "mcp-pdf-tools"],
- "cwd": "/path/to/mcp-pdf-tools"
+ "args": ["run", "mcp-pdf"],
+ "cwd": "/path/to/mcp-pdf"
},
"office-tools": {
"command": "mcp-office-tools"
@@ -523,8 +523,8 @@ CMD ["mcp-pdf-tools"]
```bash
# Clone and setup
-git clone https://github.com/rpm/mcp-pdf-tools
-cd mcp-pdf-tools
+git clone https://github.com/rpm/mcp-pdf
+cd mcp-pdf
uv sync --dev
# Quality checks
@@ -620,8 +620,8 @@ uv run python examples/verify_installation.py
### **🌟 Join the PDF Intelligence Revolution!**
-[](https://github.com/rpm/mcp-pdf-tools)
-[](https://github.com/rpm/mcp-pdf-tools/issues)
+[](https://github.com/rpm/mcp-pdf)
+[](https://github.com/rpm/mcp-pdf/issues)
[](https://git.supported.systems/MCP/mcp-office-tools)
**💬 Enterprise Support Available** • **🐛 Bug Bounty Program** • **💡 Feature Requests Welcome**
@@ -649,7 +649,7 @@ uv run python examples/verify_installation.py
### **🔗 Complete Document Processing Solution**
-**PDF Intelligence** ➜ **[MCP PDF Tools](https://github.com/rpm/mcp-pdf-tools)** (You are here!)
+**PDF Intelligence** ➜ **[MCP PDF](https://github.com/rpm/mcp-pdf)** (You are here!)
**Office Intelligence** ➜ **[MCP Office Tools](https://git.supported.systems/MCP/mcp-office-tools)**
**Unified Power** ➜ **Both Tools Together**
@@ -657,7 +657,7 @@ uv run python examples/verify_installation.py
### **⭐ Star both repositories for the complete solution! ⭐**
-**📄 [Star MCP PDF Tools](https://github.com/rpm/mcp-pdf-tools)** • **📊 [Star MCP Office Tools](https://git.supported.systems/MCP/mcp-office-tools)**
+**📄 [Star MCP PDF](https://github.com/rpm/mcp-pdf)** • **📊 [Star MCP Office Tools](https://git.supported.systems/MCP/mcp-office-tools)**
*Building the future of intelligent document processing* 🚀
diff --git a/examples/test_demo.avi b/examples/test_demo.avi
new file mode 100644
index 0000000..e9bb446
Binary files /dev/null and b/examples/test_demo.avi differ
diff --git a/examples/test_demo.mp4 b/examples/test_demo.mp4
new file mode 100644
index 0000000..e9bb446
Binary files /dev/null and b/examples/test_demo.mp4 differ
diff --git a/examples/test_pdf_tools.py b/examples/test_pdf_tools.py
index 2d505e4..a9763b8 100644
--- a/examples/test_pdf_tools.py
+++ b/examples/test_pdf_tools.py
@@ -12,7 +12,7 @@ from pathlib import Path
# Add the src directory to the path
sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
-from mcp_pdf_tools.server import create_server
+from mcp_pdf.server import create_server
async def call_tool(mcp, tool_name: str, **kwargs):
diff --git a/examples/url_examples.py b/examples/url_examples.py
index 2e30336..f7d1339 100644
--- a/examples/url_examples.py
+++ b/examples/url_examples.py
@@ -10,7 +10,7 @@ import os
# Add src to path for development
sys.path.insert(0, '../src')
-from mcp_pdf_tools.server import (
+from mcp_pdf.server import (
extract_text, extract_metadata, pdf_to_markdown,
extract_tables, is_scanned_pdf
)
diff --git a/examples/verify_installation.py b/examples/verify_installation.py
index b79e7db..0726795 100644
--- a/examples/verify_installation.py
+++ b/examples/verify_installation.py
@@ -12,7 +12,7 @@ sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
async def main():
try:
- from mcp_pdf_tools import create_server, __version__
+ from mcp_pdf import create_server, __version__
print(f"✅ MCP PDF Tools v{__version__} imported successfully!")
diff --git a/pyproject.toml b/pyproject.toml
index 73805b2..2908688 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,8 +1,8 @@
[project]
-name = "mcp-pdf-tools"
-version = "0.1.0"
-description = "FastMCP server for comprehensive PDF processing - text extraction, OCR, table extraction, and more"
-authors = [{name = "RPM", email = "rpm@example.com"}]
+name = "mcp-pdf"
+version = "1.0.0"
+description = "Secure FastMCP server for comprehensive PDF processing - text extraction, OCR, table extraction, forms, annotations, and more"
+authors = [{name = "MCP Team", email = "team@fastmcp.org"}]
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.10"
@@ -48,13 +48,14 @@ dependencies = [
]
[project.urls]
-Homepage = "https://github.com/rpm/mcp-pdf-tools"
-Documentation = "https://github.com/rpm/mcp-pdf-tools#readme"
-Repository = "https://github.com/rpm/mcp-pdf-tools.git"
-Issues = "https://github.com/rpm/mcp-pdf-tools/issues"
+Homepage = "https://github.com/rsp2k/mcp-pdf"
+Documentation = "https://github.com/rsp2k/mcp-pdf#readme"
+Repository = "https://github.com/rsp2k/mcp-pdf.git"
+Issues = "https://github.com/rsp2k/mcp-pdf/issues"
+Changelog = "https://github.com/rsp2k/mcp-pdf/releases"
[project.scripts]
-mcp-pdf-tools = "mcp_pdf_tools.server:main"
+mcp-pdf = "mcp_pdf.server:main"
[project.optional-dependencies]
dev = [
diff --git a/src/mcp_pdf_tools/__init__.py b/src/mcp_pdf/__init__.py
similarity index 100%
rename from src/mcp_pdf_tools/__init__.py
rename to src/mcp_pdf/__init__.py
diff --git a/src/mcp_pdf_tools/server.py b/src/mcp_pdf/server.py
similarity index 100%
rename from src/mcp_pdf_tools/server.py
rename to src/mcp_pdf/server.py
diff --git a/test_integration.py b/test_integration.py
index cf0c18a..deeaadb 100644
--- a/test_integration.py
+++ b/test_integration.py
@@ -6,7 +6,7 @@ Integration test to verify basic functionality after security hardening
import tempfile
from pathlib import Path
from reportlab.pdfgen import canvas
-from src.mcp_pdf_tools.server import create_server, validate_pdf_path, validate_page_count
+from src.mcp_pdf.server import create_server, validate_pdf_path, validate_page_count
import fitz
diff --git a/test_pages_parameter.py b/test_pages_parameter.py
index 459cc0f..b03f382 100644
--- a/test_pages_parameter.py
+++ b/test_pages_parameter.py
@@ -10,7 +10,7 @@ import os
# Add src to path
sys.path.insert(0, 'src')
-from mcp_pdf_tools.server import parse_pages_parameter
+from mcp_pdf.server import parse_pages_parameter
def test_page_parsing():
"""Test page parameter parsing (1-based user input -> 0-based internal)"""
diff --git a/test_security_features.py b/test_security_features.py
index 2905aef..1192653 100644
--- a/test_security_features.py
+++ b/test_security_features.py
@@ -7,7 +7,7 @@ Tests the security hardening we implemented
import pytest
import tempfile
from pathlib import Path
-from src.mcp_pdf_tools.server import (
+from src.mcp_pdf.server import (
validate_image_id,
validate_output_path,
safe_json_parse,
diff --git a/test_url_support.py b/test_url_support.py
index 8ef2918..fef4f0e 100644
--- a/test_url_support.py
+++ b/test_url_support.py
@@ -10,7 +10,7 @@ import os
# Add src to path
sys.path.insert(0, 'src')
-from mcp_pdf_tools.server import validate_pdf_path, download_pdf_from_url
+from mcp_pdf.server import validate_pdf_path, download_pdf_from_url
async def test_url_validation():
"""Test URL validation and download"""
diff --git a/tests/test_server.py b/tests/test_server.py
index d4e052b..c9acdd7 100644
--- a/tests/test_server.py
+++ b/tests/test_server.py
@@ -7,7 +7,7 @@ import base64
import pandas as pd
from pathlib import Path
-from mcp_pdf_tools.server import (
+from mcp_pdf.server import (
create_server,
validate_pdf_path,
detect_scanned_pdf,
diff --git a/uv.lock b/uv.lock
index 5db14dd..64a1416 100644
--- a/uv.lock
+++ b/uv.lock
@@ -1031,8 +1031,8 @@ wheels = [
]
[[package]]
-name = "mcp-pdf-tools"
-version = "0.1.0"
+name = "mcp-pdf"
+version = "1.0.0"
source = { editable = "." }
dependencies = [
{ name = "camelot-py", extra = ["cv"] },
|