Name | document-mcp JSON |
Version |
0.0.3
JSON |
| download |
home_page | None |
Summary | A MCP server for managing structured Markdown documents |
upload_time | 2025-08-01 05:46:59 |
maintainer | None |
docs_url | None |
author | clchinkc |
requires_python | >=3.10 |
license | None |
keywords |
mcp
document
management
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
[](https://codecov.io/gh/clchinkc/document-mcp)
[](https://github.com/clchinkc/document-mcp/actions/workflows/python-test.yml)
# Document MCP
[](https://badge.fury.io/py/document-mcp)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
Document MCP exists to **complement and diversify the predominantly STEM-oriented toolsets (e.g. Claude Code, bash/grep agents)** by giving writers, researchers, and knowledge-managers first-class, local-first control over large-scale Markdown documents with **built-in safety features** that prevent content loss.
## ๐ Quick Start
### Installation
**PyPI Installation (Recommended):**
```bash
# Simple one-command install
pip install document-mcp
# Verify installation
document-mcp --version
```
**Development Setup:**
```bash
# Install uv package manager (if not already installed)
# macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Clone and install with development dependencies
git clone https://github.com/clchinkc/document-mcp.git
cd document-mcp
uv sync
# Install with development dependencies (includes testing tools)
uv pip install ".[dev]"
```
**Dependencies Information:**
- **Core Runtime**: The package includes all necessary dependencies for normal operation
- **Development Dependencies**: Additional tools for testing and development are available via `pip install ".[dev]"`:
- `pytest`, `pytest-asyncio`, `pytest-cov` - Testing framework
- `ruff`, `mypy` - Code quality and type checking
- `memory-profiler`, `psutil` - Performance monitoring
- `twine` - Package validation and publishing
# Alternative: Traditional virtual environment setup
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e ".[dev]"
```
### Configuration
```bash
# Create .env file with your API key
echo "OPENAI_API_KEY=your_openai_api_key_here" > .env
# OR for Google Gemini:
echo "GEMINI_API_KEY=your_gemini_api_key_here" > .env
# Verify your setup
python3 src/agents/simple_agent/main.py --check-config
```
### Quick Test
```bash
# Start MCP server (in one terminal)
# If installed via PyPI:
document-mcp stdio
# If using development setup:
python3 -m document_mcp.doc_tool_server stdio
# Test basic functionality (in another terminal)
python3 -c "from document_mcp import __version__; print(f'Document MCP v{__version__} ready')"
```
**๐ [Complete Manual Testing Guide](docs/manual_testing.md)** - Step-by-step workflows for creative writing, editing, and document management
## ๐ ๏ธ Development
### Modern Toolchain
This project uses modern Python development tools for enhanced performance and developer experience:
- **`uv`**: Ultra-fast Python package manager and dependency resolver (10-100x faster than pip)
- **`ruff`**: Lightning-fast Python linter and formatter (replaces black, isort, flake8, pydocstyle, autoflake)
- **`mypy`**: Static type checking for enhanced code quality
- **`pytest`**: Comprehensive testing framework with async support
### Testing Strategy
```bash
# Run all tests with uv (recommended)
uv run pytest
# Run with traditional python3 (for compatibility)
python3 -m pytest
# Run by test tier
uv run pytest tests/unit/ # Unit tests (fastest, no external deps)
uv run pytest tests/integration/ # Integration tests (real MCP, mocked LLM)
uv run pytest tests/e2e/ # E2E tests (requires API keys, 600s timeout)
# Run with coverage
uv run pytest --cov=document_mcp --cov-report=html
# Code quality checks
uv run ruff check # Lint code
uv run ruff check --fix # Auto-fix linting issues
uv run ruff format # Format code
uv run mypy document_mcp/ # Type checking
# Quality checks script (uses uv and ruff internally)
python3 scripts/quality.py full
```
### Running the System
```bash
# Start MCP server (stdio transport)
uv run python -m document_mcp.doc_tool_server stdio
# Alternative: python3 -m document_mcp.doc_tool_server stdio
# Test agents
uv run python src/agents/simple_agent/main.py --query "list all documents"
uv run python src/agents/react_agent/main.py --query "create a book with multiple chapters"
# Interactive mode
uv run python src/agents/simple_agent/main.py --interactive
uv run python src/agents/react_agent/main.py --interactive
# Optimize agent prompts
uv run python -m prompt_optimizer simple # Optimize specific agent
uv run python -m prompt_optimizer all # Optimize all agents
uv run python -m prompt_optimizer simple # Development use within repo only
# Development infrastructure testing
python3 scripts/development/metrics/test_production.py # Test production metrics
python3 scripts/development/telemetry/scripts/test.py # Test telemetry infrastructure
scripts/development/telemetry/scripts/start.sh # Start development telemetry
```
### Environment Configuration
Create a `.env` file with your API key according to `.env.example`, and fill in the required values.
### Running the System
## ๐ What is Document MCP?
Document MCP provides a structured way to manage large documents composed of multiple chapters. Think of it as a file system specifically designed for books, research papers, documentation, or any content that benefits from being split into manageable sections.
### Key Features
- **๐ก๏ธ Built-in Safety Features**: Write-safety system, automatic micro-snapshots, and comprehensive version control prevent content loss.
- **๐ Document Structure**: Organize content as directories with chapter files.
- **๐ง 25 MCP Tools**: Comprehensive document manipulation API organized in 6 functional categories with tools for atomic paragraph operations, content analysis, semantic search, fine-grain summaries, and more.
- **๐ค AI Agents**:
- **Simple Agent**: Stateless, single-turn execution for discrete operations.
- **ReAct Agent**: Stateful, multi-turn agent for complex workflows.
- **Planner Agent**: Strategic planning with execution for complex task decomposition.
- **๐ Prompt Optimizer**: Automated prompt optimization with performance benchmarking and real LLM evaluation.
- **๐ Observability**: Structured logging with OpenTelemetry and Prometheus metrics.
- **โ
Robust Testing**: 3-tier testing strategy (unit, integration, E2E, evaluation).
- **๐ Version Control Friendly**: Plain Markdown files work great with Git.
### Document Organization
```
.documents_storage/
โโโ my_novel/ # A document
โ โโโ 01-prologue.md # Chapters ordered by filename
โ โโโ 02-chapter-one.md
โ โโโ 03-chapter-two.md
โโโ research_paper/ # Another document
โโโ 00-abstract.md
โโโ 01-introduction.md
โโโ 02-methodology.md
```
## ๐ก๏ธ Safety Features
Document MCP includes comprehensive safety features designed to prevent content loss and enable safe writing workflows:
### Write-Safety System
- **Content Freshness Checking**: Automatically validates content modification status before writes
- **Conflict Detection**: Warns about potential overwrites if content has been modified externally
- **Safe Write Operations**: All write operations include safety information and warnings
### Automatic Version Control
- **Micro-Snapshots**: Automatic snapshots created before destructive operations
- **Named Snapshots**: Create checkpoints with messages using `snapshot_document`
- **Version Restoration**: Restore to any previous version using `restore_snapshot`
- **Intelligent Diffs**: Compare versions with prose-aware diff algorithms
### Modification History
- **Complete Tracking**: All document changes tracked with timestamps and operation details
- **Audit Trail**: Full history accessible via `get_modification_history`
- **Pattern Analysis**: Understand content change patterns over time
## ๐๏ธ Project Structure
```
document-mcp/
โโโ document_mcp/ # Core MCP server package
โ โโโ doc_tool_server.py # Main server with modular tool registrations
โ โโโ tools/ # Modular tool architecture (26 tools)
โ โ โโโ __init__.py # Tool registration system
โ โ โโโ document_tools.py # Document management and summaries (6 tools)
โ โ โโโ chapter_tools.py # Chapter operations (5 tools)
โ โ โโโ paragraph_tools.py # Paragraph editing (7 tools)
โ โ โโโ content_tools.py # Unified content access (5 tools)
โ โ โโโ safety_tools.py # Version control (3 tools)
โ โโโ logger_config.py # Structured logging with OpenTelemetry
โ โโโ metrics_config.py # Prometheus metrics and monitoring
โโโ src/agents/ # AI agent implementations
โ โโโ simple_agent/ # Stateless single-turn agent package
โ โ โโโ main.py # Agent execution logic
โ โ โโโ prompts.py # System prompts
โ โโโ react_agent/ # Stateful multi-turn ReAct agent
โ โ โโโ main.py
โ โโโ shared/ # Shared agent utilities
โ โโโ cli.py # Common CLI functionality
โ โโโ config.py # Enhanced Pydantic Settings
โ โโโ error_handling.py
โโโ prompt_optimizer/ # Automated prompt optimization tool
โ โโโ core.py # Main PromptOptimizer class
โ โโโ evaluation.py # Performance evaluation system
โ โโโ cli.py # Command-line interface
โโโ tests/ # 3-tier testing strategy
โโโ unit/ # Isolated component tests (mocked)
โโโ integration/ # Agent-server tests (real MCP, mocked LLM)
โโโ e2e/ # Full system tests (real APIs)
โโโ evaluation/ # Performance benchmarking and prompt evaluation
```
## ๐ค Agent Examples and Tutorials
### Agent Architecture Overview
This project provides two distinct agent implementations for document management using the Model Context Protocol (MCP). Both agents interact with the same document management tools but use different architectural approaches and execution patterns.
#### Quick Reference
| Feature | Simple Agent | ReAct Agent |
|---------|-------------|-------------|
| **Architecture** | Single-step execution | Multi-step reasoning loop with intelligent termination |
| **Chat History** | No memory between queries | Full history maintained across steps |
| **Context Retention** | Each query is independent | Builds context from all previous steps |
| **Best For** | Simple queries, direct operations | Complex multi-step tasks |
| **Output** | Structured JSON response | Step-by-step execution log |
| **Error Handling** | Basic timeout handling | Advanced retry & circuit breaker |
| **Performance** | Fast for simple tasks | Optimized for complex workflows |
| **Complexity** | Simple, straightforward | Advanced with caching & optimization |
| **Termination Logic** | N/A (single step) | **Intelligent completion detection**: task completion, step limits, error recovery, timeout management |
| **Conversational Flow** | **Independent query processing** | **Multi-round conversation support** |
| **State Management** | **Clean isolation between queries** | **Persistent context with proper cleanup** |
### Getting Started with the Agents
Choose between three agent implementations:
- **Simple Agent**: Single-step operations, structured JSON output, fast performance
- **ReAct Agent**: Multi-step workflows, contextual reasoning, production reliability
- **Planner Agent**: Strategic planning with execution, complex task decomposition
**Agent Selection:**
- Use Simple Agent for: direct operations, JSON output, prototyping
- Use ReAct Agent for: complex workflows, multi-step planning, production environments, reasoning transparency
- Use Planner Agent for: strategic planning, complex task decomposition, hierarchical execution
### ๐ Prompt Optimization
The system includes an automated prompt optimizer that uses real performance benchmarks to improve agent efficiency:
```bash
# Optimize specific agent
python3 -m prompt_optimizer simple
python3 -m prompt_optimizer react
python3 -m prompt_optimizer planner
# Optimize all agents
python3 -m prompt_optimizer all
```
**Key Features:**
- **Safe Optimization**: Conservative changes that preserve all existing functionality
- **Performance-Based**: Uses real execution metrics to evaluate improvements
- **Comprehensive Testing**: Validates changes against 296 tests (unit + integration + E2E + evaluation)
- **Automatic Backup**: Safe rollback if optimization fails or breaks functionality
- **Multi-Agent Support**: Works with Simple, ReAct, and Planner agents
### Practical Examples - Step by Step
Once you have both the MCP server and an agent running, try these structured examples:
#### Example 1: Create Your First Document
```bash
๐ค User: Create a new document called 'Getting Started Guide'
๐ค Agent: โ
Successfully created the new document named 'Getting Started Guide'.
```
#### Example 2: Add Content with Chapters
```bash
๐ค User: Add a chapter named '01-introduction.md' to 'Getting Started Guide' with content '# Introduction\nWelcome to Document MCP!'
๐ค Agent: โ
Chapter '01-introduction.md' created successfully in document 'Getting Started Guide'.
```
#### Example 3: View Your Documents
```bash
๐ค User: List all my documents
๐ค Agent: โ
Found 1 document: 'Getting Started Guide' with 1 chapter, 4 words total.
```
#### Example 4: Analyze Document Statistics
```bash
๐ค User: Get statistics for 'Getting Started Guide'
๐ค Agent: โ
Document 'Getting Started Guide' contains 1 chapter, 4 words, and 1 paragraph.
```
#### Example 5: Read Full Content
```bash
๐ค User: Read the full document 'Getting Started Guide'
๐ค Agent: โ
Retrieved the full content of document 'Getting Started Guide'.
Content: # Introduction
Welcome to Document MCP!
```
#### Advanced Examples
**Search and Replace Operations:**
```bash
๐ค User: Find "Welcome" in document 'Getting Started Guide'
๐ค Agent: โ
Found 1 paragraph containing "Welcome" in chapter '01-introduction.md'.
๐ค User: Replace "Welcome" with "Hello" in document 'Getting Started Guide'
๐ค Agent: โ
Replaced 1 occurrence across 1 chapter in document 'Getting Started Guide'.
```
**Complex Multi-Step Workflows (ReAct Agent):**
```bash
๐ค User: Create a research paper structure with an abstract, introduction, methodology, and conclusion
๐ค ReAct Agent:
Thought: I need to create a document and then add multiple chapters for a research paper structure.
Action: create_document with name 'Research Paper'
Observation: Document created successfully
Thought: Now I need to add the abstract chapter...
Action: add_chapter with name '00-abstract.md'...
[Continues with step-by-step execution]
```
#### Try It Now - Interactive Walkthrough
Once you have the MCP server running, you can immediately test all features:
**Quick Configuration Check:**
```bash
# Verify your setup is working
python src/agents/simple_agent/main.py --check-config
```
**Test the Complete Workflow:**
```bash
# Start with simple operations
python src/agents/simple_agent/main.py --query "Create a new document called 'Test Document'"
python src/agents/simple_agent/main.py --query "Add a chapter named '01-intro.md' with content 'Hello World!'"
python src/agents/simple_agent/main.py --query "List all my documents"
python src/agents/simple_agent/main.py --query "Read the full document 'Test Document'"
# Try complex multi-step workflows
python src/agents/react_agent/main.py --query "Create a book outline with 3 chapters"
```
**Interactive Mode for Extended Testing:**
```bash
# Simple agent for straightforward tasks
python src/agents/simple_agent/main.py --interactive
# ReAct agent for complex reasoning
python src/agents/react_agent/main.py --interactive
```
This immediate hands-on approach lets you:
- โ
Verify your configuration works correctly
- ๐ See real responses from both agent types
- ๐ง Experience the ReAct agent's reasoning process
- ๐ Build confidence before diving deeper
### Automatic LLM Detection
The system automatically detects which LLM to use based on your `.env` configuration:
1. **OpenAI** (Priority 1): If `OPENAI_API_KEY` is set, uses OpenAI models (default: `gpt-4.1-mini`)
2. **Gemini** (Priority 2): If `GEMINI_API_KEY` is set, uses Gemini models (default: `gemini-2.5-flash`)
When an agent starts, it will display which model it's using:
```
Using OpenAI model: gpt-4.1-mini
```
or
```
Using Gemini model: gemini-2.5-flash
```
### Configuration
Both agents share the same configuration system and support the same command-line interface:
```bash
# Check configuration (both agents)
python src/agents/simple_agent/main.py --check-config
python src/agents/react_agent/main.py --check-config
# Single query mode (both agents)
python src/agents/simple_agent/main.py --query "list all documents"
python src/agents/react_agent/main.py --query "create a book with multiple chapters"
# Interactive mode (both agents)
python src/agents/simple_agent/main.py --interactive
python src/agents/react_agent/main.py --interactive
```
## ๐ง Troubleshooting
### Setup Verification Checklist
Run through this checklist if you're having issues:
- [ ] โ
`.env` file exists with valid API key
- [ ] โ
Virtual environment activated (`source .venv/bin/activate`)
- [ ] โ
Package and dependencies installed (`pip install -e ".[dev]"`)
- [ ] โ
MCP server running on localhost:3001
- [ ] โ
Configuration check passes (`--check-config`)
### Getting Help
If you're experiencing issues, follow this support hierarchy:
1. **๐ [Check the Manual Testing Guide](docs/manual_testing.md#troubleshooting-guide)** - Comprehensive troubleshooting for common issues
2. **๐ง Run diagnostics**: `python src/agents/simple_agent/main.py --check-config`
3. **๐งช Test basic functionality**: `python src/agents/simple_agent/main.py --query "list documents"`
4. **๐ Search existing issues**: [GitHub Issues](https://github.com/clchinkc/document-mcp/issues)
5. **๐ฌ Open a new issue**: Include output from `--check-config` and system details
**Common Solutions:**
- API key issues โ See [Configuration](#configuration)
- MCP server connection โ Check if `document-mcp stdio` is running
- Model loading failures โ Try different model in `.env`
- Timeout issues โ See [Performance troubleshooting](docs/manual_testing.md#performance-and-load-testing)
### Testing Strategy
```bash
# Run all tests
pytest
# Run by test tier
python3 -m pytest tests/unit/ # Unit tests (fastest, no external deps)
python3 -m pytest tests/integration/ # Integration tests (real MCP, mocked LLM)
python3 -m pytest tests/e2e/ # E2E tests (requires API keys)
# Run with coverage
python3 -m pytest --cov=document_mcp --cov-report=html
# Quality checks
python3 scripts/quality.py full
```
## ๐ ๏ธ Development Setup
### Prerequisites
- Python 3.8+
- Git
### Local Development
```bash
# Clone the repository
git clone https://github.com/document-mcp/document-mcp.git
cd document-mcp
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install package in editable mode with development dependencies
pip install -e ".[dev]"
```
### Running Tests
```bash
# Use the pytest runner
python scripts/run_pytest.py
# Or run pytest directly
python -m pytest tests/ -v
```
### Code Quality Management
This project maintains high code quality standards through automated tools and scripts. The quality system is managed through a dedicated script:
```bash
# Quick quality check (linting and type checking only)
python scripts/quality.py check
# Apply automatic fixes and format code
python scripts/quality.py fix # Remove unused imports, fix issues
python scripts/quality.py format # Black formatting + isort
# Run specific quality tools
python scripts/quality.py lint # flake8 linting
python scripts/quality.py typecheck # mypy type checking
# Complete quality pass (recommended before commits)
python scripts/quality.py full # fix + format + check
# Get detailed output for debugging
python scripts/quality.py check --verbose
```
#### Quality Tools Configured
- **Black**: Code formatting (88 character line length)
- **isort**: Import sorting and organization
- **flake8**: Linting and style checking (configured in `.flake8`)
- **mypy**: Static type checking (configured in `pyproject.toml`)
- **autoflake**: Automated cleanup of unused imports/variables
- **pytest**: Comprehensive test suite execution
#### Quality Standards
- **Line Length**: 88 characters (Black standard)
- **Import Style**: Black-compatible with isort
- **Type Hints**: Encouraged for public APIs
- **Complexity**: Maximum cyclomatic complexity of 10
- **Test Coverage**: Comprehensive 3-tier testing (296 tests with 100% pass rate)
#### Recommended Workflow
```bash
# During development
python scripts/quality.py format # Format as you code
# Before committing
python scripts/quality.py full # Complete quality pass
python scripts/run_pytest.py # Run tests
# Quick check
python scripts/quality.py check # Verify quality standards
```
The quality management system provides comprehensive automation for maintaining code standards throughout development.
#### Test Coverage
The system provides enterprise-grade reliability with **300 comprehensive tests** covering:
**Core Testing Areas:**
- **Document Operations**: Full CRUD operations and management (131 unit tests)
- **Agent Architecture**: Complete testing of both Simple and React agent implementations (153 integration tests)
- **MCP Protocol**: End-to-end server-client communication validation (6 E2E tests)
- **Performance Benchmarking**: Real API testing and prompt optimization (4 evaluation tests)
- **Monitoring & Metrics**: OpenTelemetry and Prometheus integration (6 metrics tests)
- **Quality Assurance**: Centralized fixtures and comprehensive cleanup validation
**Test Results:** 100% success rate (296/296 tests passing) with execution time under 3.5 minutes
The test suite spans unit, integration, and end-to-end categories, ensuring production-ready reliability with proper resource management and state isolation.
## ๐ Documentation
### User Guides
- **๐ [Manual Testing & User Workflows](docs/manual_testing.md)** - Complete guide for creative writing, editing workflows, and troubleshooting
- **๐ [Quick Start Examples](#-quick-start)** - Get up and running in minutes
- **๐ค [Agent Architecture Guide](#-agent-examples-and-tutorials)** - Choose the right agent for your workflow
### Technical Reference
- **[Package Documentation](document_mcp/README.md)** - MCP server API reference
- **[API Reference](document_mcp/doc_tool_server.py)** - Complete MCP tools documentation
- **[Testing Strategy](tests/README.md)** - 3-tier testing architecture and best practices
## ๐ค Contributing
I welcome any contribution!
## ๐ Related Resources
- **[Pydantic AI Documentation](https://ai.pydantic.dev/)**: Learn more about Pydantic AI
- **[MCP Specification](https://spec.modelcontextprotocol.io/)**: Model Context Protocol details
- **[Model Context Protocol (MCP)](https://github.com/modelcontextprotocol)**: Official MCP repository
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgments
- Built with [Model Context Protocol (MCP)](https://github.com/modelcontextprotocol)
- Powered by [Pydantic AI](https://github.com/pydantic/pydantic-ai)
- Agents support both [OpenAI](https://openai.com/) and [Google Gemini](https://ai.google.dev/)
---
โญ **Star this repo** if you find it useful!
Raw data
{
"_id": null,
"home_page": null,
"name": "document-mcp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "mcp, document, management",
"author": "clchinkc",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/71/1c/38cd6d7b92381b777257f3909d84beb4332add5c195beb3af75f6126da76/document_mcp-0.0.3.tar.gz",
"platform": null,
"description": "[](https://codecov.io/gh/clchinkc/document-mcp)\n[](https://github.com/clchinkc/document-mcp/actions/workflows/python-test.yml)\n# Document MCP\n\n[](https://badge.fury.io/py/document-mcp)\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n\nDocument MCP exists to **complement and diversify the predominantly STEM-oriented toolsets (e.g. Claude Code, bash/grep agents)** by giving writers, researchers, and knowledge-managers first-class, local-first control over large-scale Markdown documents with **built-in safety features** that prevent content loss.\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n**PyPI Installation (Recommended):**\n```bash\n# Simple one-command install\npip install document-mcp\n\n# Verify installation\ndocument-mcp --version\n```\n\n**Development Setup:**\n```bash\n# Install uv package manager (if not already installed)\n# macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh\n# Windows: powershell -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n\n# Clone and install with development dependencies\ngit clone https://github.com/clchinkc/document-mcp.git\ncd document-mcp\nuv sync\n\n# Install with development dependencies (includes testing tools)\nuv pip install \".[dev]\"\n```\n\n**Dependencies Information:**\n- **Core Runtime**: The package includes all necessary dependencies for normal operation\n- **Development Dependencies**: Additional tools for testing and development are available via `pip install \".[dev]\"`:\n - `pytest`, `pytest-asyncio`, `pytest-cov` - Testing framework\n - `ruff`, `mypy` - Code quality and type checking \n - `memory-profiler`, `psutil` - Performance monitoring\n - `twine` - Package validation and publishing\n\n# Alternative: Traditional virtual environment setup\npython3 -m venv venv\nsource venv/bin/activate # On Windows: venv\\Scripts\\activate\npip install -e \".[dev]\"\n```\n\n### Configuration\n\n```bash\n# Create .env file with your API key\necho \"OPENAI_API_KEY=your_openai_api_key_here\" > .env\n# OR for Google Gemini:\necho \"GEMINI_API_KEY=your_gemini_api_key_here\" > .env\n\n# Verify your setup\npython3 src/agents/simple_agent/main.py --check-config\n```\n\n### Quick Test\n\n```bash\n# Start MCP server (in one terminal)\n# If installed via PyPI:\ndocument-mcp stdio\n\n# If using development setup: \npython3 -m document_mcp.doc_tool_server stdio\n\n# Test basic functionality (in another terminal) \npython3 -c \"from document_mcp import __version__; print(f'Document MCP v{__version__} ready')\"\n```\n\n**\ud83d\udcd6 [Complete Manual Testing Guide](docs/manual_testing.md)** - Step-by-step workflows for creative writing, editing, and document management\n\n## \ud83d\udee0\ufe0f Development\n\n### Modern Toolchain\nThis project uses modern Python development tools for enhanced performance and developer experience:\n\n- **`uv`**: Ultra-fast Python package manager and dependency resolver (10-100x faster than pip)\n- **`ruff`**: Lightning-fast Python linter and formatter (replaces black, isort, flake8, pydocstyle, autoflake)\n- **`mypy`**: Static type checking for enhanced code quality\n- **`pytest`**: Comprehensive testing framework with async support\n\n### Testing Strategy\n```bash\n# Run all tests with uv (recommended)\nuv run pytest\n\n# Run with traditional python3 (for compatibility)\npython3 -m pytest\n\n# Run by test tier\nuv run pytest tests/unit/ # Unit tests (fastest, no external deps)\nuv run pytest tests/integration/ # Integration tests (real MCP, mocked LLM)\nuv run pytest tests/e2e/ # E2E tests (requires API keys, 600s timeout)\n\n# Run with coverage\nuv run pytest --cov=document_mcp --cov-report=html\n\n# Code quality checks\nuv run ruff check # Lint code\nuv run ruff check --fix # Auto-fix linting issues \nuv run ruff format # Format code\nuv run mypy document_mcp/ # Type checking\n\n# Quality checks script (uses uv and ruff internally)\npython3 scripts/quality.py full\n```\n\n### Running the System\n```bash\n# Start MCP server (stdio transport)\nuv run python -m document_mcp.doc_tool_server stdio\n# Alternative: python3 -m document_mcp.doc_tool_server stdio\n\n# Test agents\nuv run python src/agents/simple_agent/main.py --query \"list all documents\"\nuv run python src/agents/react_agent/main.py --query \"create a book with multiple chapters\"\n\n# Interactive mode\nuv run python src/agents/simple_agent/main.py --interactive\nuv run python src/agents/react_agent/main.py --interactive\n\n# Optimize agent prompts\nuv run python -m prompt_optimizer simple # Optimize specific agent\nuv run python -m prompt_optimizer all # Optimize all agents\nuv run python -m prompt_optimizer simple # Development use within repo only\n\n# Development infrastructure testing\npython3 scripts/development/metrics/test_production.py # Test production metrics\npython3 scripts/development/telemetry/scripts/test.py # Test telemetry infrastructure\nscripts/development/telemetry/scripts/start.sh # Start development telemetry\n```\n\n### Environment Configuration\n\nCreate a `.env` file with your API key according to `.env.example`, and fill in the required values.\n\n### Running the System\n\n## \ud83d\udcd6 What is Document MCP?\n\nDocument MCP provides a structured way to manage large documents composed of multiple chapters. Think of it as a file system specifically designed for books, research papers, documentation, or any content that benefits from being split into manageable sections.\n\n### Key Features\n\n- **\ud83d\udee1\ufe0f Built-in Safety Features**: Write-safety system, automatic micro-snapshots, and comprehensive version control prevent content loss.\n- **\ud83d\udcc1 Document Structure**: Organize content as directories with chapter files.\n- **\ud83d\udd27 25 MCP Tools**: Comprehensive document manipulation API organized in 6 functional categories with tools for atomic paragraph operations, content analysis, semantic search, fine-grain summaries, and more.\n- **\ud83e\udd16 AI Agents**: \n - **Simple Agent**: Stateless, single-turn execution for discrete operations.\n - **ReAct Agent**: Stateful, multi-turn agent for complex workflows.\n - **Planner Agent**: Strategic planning with execution for complex task decomposition.\n- **\ud83d\ude80 Prompt Optimizer**: Automated prompt optimization with performance benchmarking and real LLM evaluation.\n- **\ud83d\udcca Observability**: Structured logging with OpenTelemetry and Prometheus metrics.\n- **\u2705 Robust Testing**: 3-tier testing strategy (unit, integration, E2E, evaluation).\n- **\ud83d\udd04 Version Control Friendly**: Plain Markdown files work great with Git.\n\n### Document Organization\n\n```\n.documents_storage/\n\u251c\u2500\u2500 my_novel/ # A document\n\u2502 \u251c\u2500\u2500 01-prologue.md # Chapters ordered by filename\n\u2502 \u251c\u2500\u2500 02-chapter-one.md\n\u2502 \u2514\u2500\u2500 03-chapter-two.md\n\u2514\u2500\u2500 research_paper/ # Another document\n \u251c\u2500\u2500 00-abstract.md\n \u251c\u2500\u2500 01-introduction.md\n \u2514\u2500\u2500 02-methodology.md\n```\n\n## \ud83d\udee1\ufe0f Safety Features\n\nDocument MCP includes comprehensive safety features designed to prevent content loss and enable safe writing workflows:\n\n### Write-Safety System\n- **Content Freshness Checking**: Automatically validates content modification status before writes\n- **Conflict Detection**: Warns about potential overwrites if content has been modified externally\n- **Safe Write Operations**: All write operations include safety information and warnings\n\n### Automatic Version Control\n- **Micro-Snapshots**: Automatic snapshots created before destructive operations\n- **Named Snapshots**: Create checkpoints with messages using `snapshot_document`\n- **Version Restoration**: Restore to any previous version using `restore_snapshot`\n- **Intelligent Diffs**: Compare versions with prose-aware diff algorithms\n\n### Modification History\n- **Complete Tracking**: All document changes tracked with timestamps and operation details\n- **Audit Trail**: Full history accessible via `get_modification_history`\n- **Pattern Analysis**: Understand content change patterns over time\n\n## \ud83c\udfd7\ufe0f Project Structure\n\n```\ndocument-mcp/\n\u251c\u2500\u2500 document_mcp/ # Core MCP server package\n\u2502 \u251c\u2500\u2500 doc_tool_server.py # Main server with modular tool registrations\n\u2502 \u251c\u2500\u2500 tools/ # Modular tool architecture (26 tools)\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py # Tool registration system\n\u2502 \u2502 \u251c\u2500\u2500 document_tools.py # Document management and summaries (6 tools)\n\u2502 \u2502 \u251c\u2500\u2500 chapter_tools.py # Chapter operations (5 tools)\n\u2502 \u2502 \u251c\u2500\u2500 paragraph_tools.py # Paragraph editing (7 tools)\n\u2502 \u2502 \u251c\u2500\u2500 content_tools.py # Unified content access (5 tools)\n\u2502 \u2502 \u2514\u2500\u2500 safety_tools.py # Version control (3 tools)\n\u2502 \u251c\u2500\u2500 logger_config.py # Structured logging with OpenTelemetry\n\u2502 \u2514\u2500\u2500 metrics_config.py # Prometheus metrics and monitoring\n\u251c\u2500\u2500 src/agents/ # AI agent implementations\n\u2502 \u251c\u2500\u2500 simple_agent/ # Stateless single-turn agent package\n\u2502 \u2502 \u251c\u2500\u2500 main.py # Agent execution logic\n\u2502 \u2502 \u2514\u2500\u2500 prompts.py # System prompts\n\u2502 \u251c\u2500\u2500 react_agent/ # Stateful multi-turn ReAct agent\n\u2502 \u2502 \u2514\u2500\u2500 main.py\n\u2502 \u2514\u2500\u2500 shared/ # Shared agent utilities\n\u2502 \u251c\u2500\u2500 cli.py # Common CLI functionality\n\u2502 \u251c\u2500\u2500 config.py # Enhanced Pydantic Settings\n\u2502 \u2514\u2500\u2500 error_handling.py\n\u251c\u2500\u2500 prompt_optimizer/ # Automated prompt optimization tool\n\u2502 \u251c\u2500\u2500 core.py # Main PromptOptimizer class\n\u2502 \u251c\u2500\u2500 evaluation.py # Performance evaluation system\n\u2502 \u2514\u2500\u2500 cli.py # Command-line interface\n\u2514\u2500\u2500 tests/ # 3-tier testing strategy\n \u251c\u2500\u2500 unit/ # Isolated component tests (mocked)\n \u251c\u2500\u2500 integration/ # Agent-server tests (real MCP, mocked LLM)\n \u251c\u2500\u2500 e2e/ # Full system tests (real APIs)\n \u2514\u2500\u2500 evaluation/ # Performance benchmarking and prompt evaluation\n```\n\n## \ud83e\udd16 Agent Examples and Tutorials\n\n### Agent Architecture Overview\n\nThis project provides two distinct agent implementations for document management using the Model Context Protocol (MCP). Both agents interact with the same document management tools but use different architectural approaches and execution patterns.\n\n#### Quick Reference\n\n| Feature | Simple Agent | ReAct Agent |\n|---------|-------------|-------------|\n| **Architecture** | Single-step execution | Multi-step reasoning loop with intelligent termination |\n| **Chat History** | No memory between queries | Full history maintained across steps |\n| **Context Retention** | Each query is independent | Builds context from all previous steps |\n| **Best For** | Simple queries, direct operations | Complex multi-step tasks |\n| **Output** | Structured JSON response | Step-by-step execution log |\n| **Error Handling** | Basic timeout handling | Advanced retry & circuit breaker |\n| **Performance** | Fast for simple tasks | Optimized for complex workflows |\n| **Complexity** | Simple, straightforward | Advanced with caching & optimization |\n| **Termination Logic** | N/A (single step) | **Intelligent completion detection**: task completion, step limits, error recovery, timeout management |\n| **Conversational Flow** | **Independent query processing** | **Multi-round conversation support** |\n| **State Management** | **Clean isolation between queries** | **Persistent context with proper cleanup** |\n\n### Getting Started with the Agents\n\nChoose between three agent implementations:\n\n- **Simple Agent**: Single-step operations, structured JSON output, fast performance\n- **ReAct Agent**: Multi-step workflows, contextual reasoning, production reliability \n- **Planner Agent**: Strategic planning with execution, complex task decomposition\n\n**Agent Selection:**\n- Use Simple Agent for: direct operations, JSON output, prototyping\n- Use ReAct Agent for: complex workflows, multi-step planning, production environments, reasoning transparency\n- Use Planner Agent for: strategic planning, complex task decomposition, hierarchical execution\n\n### \ud83d\ude80 Prompt Optimization\n\nThe system includes an automated prompt optimizer that uses real performance benchmarks to improve agent efficiency:\n\n```bash\n# Optimize specific agent\npython3 -m prompt_optimizer simple\npython3 -m prompt_optimizer react\npython3 -m prompt_optimizer planner\n\n# Optimize all agents \npython3 -m prompt_optimizer all\n\n```\n\n**Key Features:**\n- **Safe Optimization**: Conservative changes that preserve all existing functionality\n- **Performance-Based**: Uses real execution metrics to evaluate improvements\n- **Comprehensive Testing**: Validates changes against 296 tests (unit + integration + E2E + evaluation)\n- **Automatic Backup**: Safe rollback if optimization fails or breaks functionality\n- **Multi-Agent Support**: Works with Simple, ReAct, and Planner agents\n\n### Practical Examples - Step by Step\n\nOnce you have both the MCP server and an agent running, try these structured examples:\n\n#### Example 1: Create Your First Document\n```bash\n\ud83d\udc64 User: Create a new document called 'Getting Started Guide'\n\ud83e\udd16 Agent: \u2705 Successfully created the new document named 'Getting Started Guide'.\n```\n\n#### Example 2: Add Content with Chapters\n```bash\n\ud83d\udc64 User: Add a chapter named '01-introduction.md' to 'Getting Started Guide' with content '# Introduction\\nWelcome to Document MCP!'\n\ud83e\udd16 Agent: \u2705 Chapter '01-introduction.md' created successfully in document 'Getting Started Guide'.\n```\n\n#### Example 3: View Your Documents\n```bash\n\ud83d\udc64 User: List all my documents\n\ud83e\udd16 Agent: \u2705 Found 1 document: 'Getting Started Guide' with 1 chapter, 4 words total.\n```\n\n#### Example 4: Analyze Document Statistics\n```bash\n\ud83d\udc64 User: Get statistics for 'Getting Started Guide'\n\ud83e\udd16 Agent: \u2705 Document 'Getting Started Guide' contains 1 chapter, 4 words, and 1 paragraph.\n```\n\n#### Example 5: Read Full Content\n```bash\n\ud83d\udc64 User: Read the full document 'Getting Started Guide'\n\ud83e\udd16 Agent: \u2705 Retrieved the full content of document 'Getting Started Guide'.\n Content: # Introduction\n Welcome to Document MCP!\n```\n\n#### Advanced Examples\n\n**Search and Replace Operations:**\n```bash\n\ud83d\udc64 User: Find \"Welcome\" in document 'Getting Started Guide'\n\ud83e\udd16 Agent: \u2705 Found 1 paragraph containing \"Welcome\" in chapter '01-introduction.md'.\n\n\ud83d\udc64 User: Replace \"Welcome\" with \"Hello\" in document 'Getting Started Guide'\n\ud83e\udd16 Agent: \u2705 Replaced 1 occurrence across 1 chapter in document 'Getting Started Guide'.\n```\n\n**Complex Multi-Step Workflows (ReAct Agent):**\n```bash\n\ud83d\udc64 User: Create a research paper structure with an abstract, introduction, methodology, and conclusion\n\ud83e\udd16 ReAct Agent: \n Thought: I need to create a document and then add multiple chapters for a research paper structure.\n Action: create_document with name 'Research Paper'\n Observation: Document created successfully\n Thought: Now I need to add the abstract chapter...\n Action: add_chapter with name '00-abstract.md'...\n [Continues with step-by-step execution]\n```\n\n#### Try It Now - Interactive Walkthrough\n\nOnce you have the MCP server running, you can immediately test all features:\n\n**Quick Configuration Check:**\n```bash\n# Verify your setup is working\npython src/agents/simple_agent/main.py --check-config\n```\n\n**Test the Complete Workflow:**\n```bash\n# Start with simple operations\npython src/agents/simple_agent/main.py --query \"Create a new document called 'Test Document'\"\npython src/agents/simple_agent/main.py --query \"Add a chapter named '01-intro.md' with content 'Hello World!'\"\npython src/agents/simple_agent/main.py --query \"List all my documents\"\npython src/agents/simple_agent/main.py --query \"Read the full document 'Test Document'\"\n\n# Try complex multi-step workflows\npython src/agents/react_agent/main.py --query \"Create a book outline with 3 chapters\"\n```\n\n**Interactive Mode for Extended Testing:**\n```bash\n# Simple agent for straightforward tasks\npython src/agents/simple_agent/main.py --interactive\n\n# ReAct agent for complex reasoning\npython src/agents/react_agent/main.py --interactive\n```\n\nThis immediate hands-on approach lets you:\n- \u2705 Verify your configuration works correctly\n- \ud83d\ude80 See real responses from both agent types\n- \ud83e\udde0 Experience the ReAct agent's reasoning process\n- \ud83d\udccb Build confidence before diving deeper\n\n### Automatic LLM Detection\n\nThe system automatically detects which LLM to use based on your `.env` configuration:\n\n1. **OpenAI** (Priority 1): If `OPENAI_API_KEY` is set, uses OpenAI models (default: `gpt-4.1-mini`)\n2. **Gemini** (Priority 2): If `GEMINI_API_KEY` is set, uses Gemini models (default: `gemini-2.5-flash`)\n\nWhen an agent starts, it will display which model it's using:\n```\nUsing OpenAI model: gpt-4.1-mini\n```\nor\n```\nUsing Gemini model: gemini-2.5-flash\n```\n\n### Configuration\n\nBoth agents share the same configuration system and support the same command-line interface:\n\n```bash\n# Check configuration (both agents)\npython src/agents/simple_agent/main.py --check-config\npython src/agents/react_agent/main.py --check-config\n\n# Single query mode (both agents)\npython src/agents/simple_agent/main.py --query \"list all documents\"\npython src/agents/react_agent/main.py --query \"create a book with multiple chapters\"\n\n# Interactive mode (both agents)\npython src/agents/simple_agent/main.py --interactive\npython src/agents/react_agent/main.py --interactive\n```\n\n## \ud83d\udd27 Troubleshooting\n\n### Setup Verification Checklist\n\nRun through this checklist if you're having issues:\n\n- [ ] \u2705 `.env` file exists with valid API key\n- [ ] \u2705 Virtual environment activated (`source .venv/bin/activate`)\n- [ ] \u2705 Package and dependencies installed (`pip install -e \".[dev]\"`)\n- [ ] \u2705 MCP server running on localhost:3001\n- [ ] \u2705 Configuration check passes (`--check-config`)\n\n### Getting Help\n\nIf you're experiencing issues, follow this support hierarchy:\n\n1. **\ud83d\udcd6 [Check the Manual Testing Guide](docs/manual_testing.md#troubleshooting-guide)** - Comprehensive troubleshooting for common issues\n2. **\ud83d\udd27 Run diagnostics**: `python src/agents/simple_agent/main.py --check-config`\n3. **\ud83e\uddea Test basic functionality**: `python src/agents/simple_agent/main.py --query \"list documents\"`\n4. **\ud83d\udd0d Search existing issues**: [GitHub Issues](https://github.com/clchinkc/document-mcp/issues)\n5. **\ud83d\udcac Open a new issue**: Include output from `--check-config` and system details\n\n**Common Solutions:**\n- API key issues \u2192 See [Configuration](#configuration) \n- MCP server connection \u2192 Check if `document-mcp stdio` is running\n- Model loading failures \u2192 Try different model in `.env`\n- Timeout issues \u2192 See [Performance troubleshooting](docs/manual_testing.md#performance-and-load-testing)\n\n### Testing Strategy\n```bash\n# Run all tests\npytest\n\n# Run by test tier\npython3 -m pytest tests/unit/ # Unit tests (fastest, no external deps)\npython3 -m pytest tests/integration/ # Integration tests (real MCP, mocked LLM)\npython3 -m pytest tests/e2e/ # E2E tests (requires API keys)\n\n# Run with coverage\npython3 -m pytest --cov=document_mcp --cov-report=html\n\n# Quality checks\npython3 scripts/quality.py full\n```\n\n## \ud83d\udee0\ufe0f Development Setup\n\n### Prerequisites\n\n- Python 3.8+\n- Git\n\n### Local Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/document-mcp/document-mcp.git\ncd document-mcp\n\n# Create virtual environment\npython -m venv .venv\nsource .venv/bin/activate # On Windows: .venv\\Scripts\\activate\n\n# Install package in editable mode with development dependencies\npip install -e \".[dev]\"\n```\n\n### Running Tests\n\n```bash\n# Use the pytest runner\npython scripts/run_pytest.py\n\n# Or run pytest directly\npython -m pytest tests/ -v\n```\n### Code Quality Management\n\nThis project maintains high code quality standards through automated tools and scripts. The quality system is managed through a dedicated script:\n\n```bash\n# Quick quality check (linting and type checking only)\npython scripts/quality.py check\n\n# Apply automatic fixes and format code\npython scripts/quality.py fix # Remove unused imports, fix issues\npython scripts/quality.py format # Black formatting + isort\n\n# Run specific quality tools\npython scripts/quality.py lint # flake8 linting\npython scripts/quality.py typecheck # mypy type checking\n\n# Complete quality pass (recommended before commits)\npython scripts/quality.py full # fix + format + check\n\n# Get detailed output for debugging\npython scripts/quality.py check --verbose\n```\n\n#### Quality Tools Configured\n\n- **Black**: Code formatting (88 character line length)\n- **isort**: Import sorting and organization \n- **flake8**: Linting and style checking (configured in `.flake8`)\n- **mypy**: Static type checking (configured in `pyproject.toml`)\n- **autoflake**: Automated cleanup of unused imports/variables\n- **pytest**: Comprehensive test suite execution\n\n#### Quality Standards\n\n- **Line Length**: 88 characters (Black standard)\n- **Import Style**: Black-compatible with isort\n- **Type Hints**: Encouraged for public APIs\n- **Complexity**: Maximum cyclomatic complexity of 10\n- **Test Coverage**: Comprehensive 3-tier testing (296 tests with 100% pass rate)\n\n#### Recommended Workflow\n\n```bash\n# During development\npython scripts/quality.py format # Format as you code\n\n# Before committing \npython scripts/quality.py full # Complete quality pass\npython scripts/run_pytest.py # Run tests\n\n# Quick check\npython scripts/quality.py check # Verify quality standards\n```\n\nThe quality management system provides comprehensive automation for maintaining code standards throughout development.\n\n#### Test Coverage\n\nThe system provides enterprise-grade reliability with **300 comprehensive tests** covering:\n\n**Core Testing Areas:**\n- **Document Operations**: Full CRUD operations and management (131 unit tests)\n- **Agent Architecture**: Complete testing of both Simple and React agent implementations (153 integration tests)\n- **MCP Protocol**: End-to-end server-client communication validation (6 E2E tests)\n- **Performance Benchmarking**: Real API testing and prompt optimization (4 evaluation tests)\n- **Monitoring & Metrics**: OpenTelemetry and Prometheus integration (6 metrics tests)\n- **Quality Assurance**: Centralized fixtures and comprehensive cleanup validation\n\n**Test Results:** 100% success rate (296/296 tests passing) with execution time under 3.5 minutes\n\nThe test suite spans unit, integration, and end-to-end categories, ensuring production-ready reliability with proper resource management and state isolation.\n\n## \ud83d\udcda Documentation\n\n### User Guides\n- **\ud83d\udcd6 [Manual Testing & User Workflows](docs/manual_testing.md)** - Complete guide for creative writing, editing workflows, and troubleshooting\n- **\ud83d\ude80 [Quick Start Examples](#-quick-start)** - Get up and running in minutes\n- **\ud83e\udd16 [Agent Architecture Guide](#-agent-examples-and-tutorials)** - Choose the right agent for your workflow\n\n### Technical Reference \n- **[Package Documentation](document_mcp/README.md)** - MCP server API reference\n- **[API Reference](document_mcp/doc_tool_server.py)** - Complete MCP tools documentation\n- **[Testing Strategy](tests/README.md)** - 3-tier testing architecture and best practices\n\n## \ud83e\udd1d Contributing\n\nI welcome any contribution!\n\n## \ud83d\udd17 Related Resources\n\n- **[Pydantic AI Documentation](https://ai.pydantic.dev/)**: Learn more about Pydantic AI\n- **[MCP Specification](https://spec.modelcontextprotocol.io/)**: Model Context Protocol details\n- **[Model Context Protocol (MCP)](https://github.com/modelcontextprotocol)**: Official MCP repository\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Built with [Model Context Protocol (MCP)](https://github.com/modelcontextprotocol)\n- Powered by [Pydantic AI](https://github.com/pydantic/pydantic-ai)\n- Agents support both [OpenAI](https://openai.com/) and [Google Gemini](https://ai.google.dev/)\n\n---\n\n\u2b50 **Star this repo** if you find it useful!\n",
"bugtrack_url": null,
"license": null,
"summary": "A MCP server for managing structured Markdown documents",
"version": "0.0.3",
"project_urls": {
"Bug Tracker": "https://github.com/document-mcp/document-mcp/issues",
"Homepage": "https://github.com/document-mcp/document-mcp"
},
"split_keywords": [
"mcp",
" document",
" management"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "38dff6299c169bc5c0afefc532b8592c62cbeb49270d28d694725194f23067ad",
"md5": "812ae7335db9bf2755edb25a63ae993c",
"sha256": "bb49b89d74cd85c9c3144b85a9aa6bd0279c2054f6374e5d15f3528abaf90324"
},
"downloads": -1,
"filename": "document_mcp-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "812ae7335db9bf2755edb25a63ae993c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 80798,
"upload_time": "2025-08-01T05:46:58",
"upload_time_iso_8601": "2025-08-01T05:46:58.177239Z",
"url": "https://files.pythonhosted.org/packages/38/df/f6299c169bc5c0afefc532b8592c62cbeb49270d28d694725194f23067ad/document_mcp-0.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "711c38cd6d7b92381b777257f3909d84beb4332add5c195beb3af75f6126da76",
"md5": "fdc7fe02871fa73d4534ca6bab4a4cba",
"sha256": "c0c825dfc4f166b7462d93620a3289424e35b292e8a1639e7891279f25cad26d"
},
"downloads": -1,
"filename": "document_mcp-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "fdc7fe02871fa73d4534ca6bab4a4cba",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 79374,
"upload_time": "2025-08-01T05:46:59",
"upload_time_iso_8601": "2025-08-01T05:46:59.076989Z",
"url": "https://files.pythonhosted.org/packages/71/1c/38cd6d7b92381b777257f3909d84beb4332add5c195beb3af75f6126da76/document_mcp-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-01 05:46:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "document-mcp",
"github_project": "document-mcp",
"github_not_found": true,
"lcname": "document-mcp"
}