Skip to main content
Glama

Scribe MCP Server

by paxocial
scribe_mcp_whitepaper.md25.6 kB
# Scribe MCP Whitepaper v2.0 ## Executive Summary Scribe MCP is a production-ready Model Context Protocol (MCP) server that provides agentic systems with a disciplined, auditable workflow for documenting software projects. It has evolved from a simple progress logging system into a comprehensive documentation governance platform with enterprise-grade features including atomic operations, integrity verification, template engines, and advanced audit trails. Scribe extends the traditional "append-only progress log" into a full documentation lifecycle management system: every meaningful action is captured, cross‑referenced with living architecture/phase plans, and reinforced through a sophisticated reminder engine that maintains synchronization between implementation and planning. As the flagship resident of the `MCP_SPINE` ecosystem, Scribe demonstrates the power of modular MCP architecture. **Core Capabilities:** - **Atomic Document Management** via `manage_docs` with real-time template rendering and diff verification - **Bulletproof Logging System** with single/bulk entry modes, structured metadata, and Write-Ahead Log crash recovery - **Advanced Template Engine** (Jinja2-based) with sandboxing, inheritance, and custom template discovery - **Enterprise Audit Trails** with integrity verification, rotation chains, and comprehensive metadata - **Multi-Backend Storage** supporting SQLite (zero-config) and PostgreSQL (team deployments) - **Intelligent Reminder Governance** with dynamic scoring, drift detection, and workflow enforcement - **Comprehensive Search & Analytics** with exact/substring/regex matching and temporal filtering - **Production-Ready Operations** including atomic writes, file locking, cross-platform compatibility, and preflight backups **Recent Major Enhancements:** - **Enhanced Log Rotation** with hash chains, sequence numbers, and integrity verification - **Multi-Log Support** via configurable routing (progress, doc_updates, security, bugs) - **Advanced Query System** supporting exact message matching and case-sensitive filtering - **Template Engine Integration** enabling real-time document updates with validation - **Crash-Resilient Operations** through Write-Ahead Logging and atomic file operations - **Performance Optimizations** with bulk operations, caching, and async throughput This whitepaper documents the production-ready architecture, operational workflows, configuration patterns, and enterprise features that make Scribe MCP the definitive solution for agentic documentation governance. --- ## Architectural Overview ``` MCP_SPINE/ └── scribe_mcp/ ├── server.py # MCP server with graceful degradation ├── config/ # Configuration and settings management │ ├── settings.py # Environment-based configuration │ ├── log_config.py # Multi-log routing configuration │ └── repo_config.py # Repository-level settings ├── state/ # State management and persistence │ ├── manager.py # Project state and session tracking │ └── agent_manager.py # Agent identity and context management ├── storage/ # Multi-backend storage abstraction │ ├── base.py # Storage interface definition │ ├── sqlite.py # Zero-config SQLite backend │ ├── postgres.py # Team-scale PostgreSQL backend │ └── models.py # Data models and schemas ├── template_engine/ # Advanced Jinja2 template system │ ├── engine.py # Sandboxed template rendering │ ├── cli.py # Template CLI utilities │ └── validation.py # Template syntax validation ├── tools/ # MCP tool implementations │ ├── project_management/ # Project lifecycle tools │ ├── documentation/ # Document management tools │ ├── logging/ # Logging and analytics tools │ └── utilities/ # Helper and maintenance tools ├── utils/ # Core utilities and helpers │ ├── files.py # Atomic file operations & WAL │ ├── integrity.py # File integrity and hashing │ ├── audit.py # Audit trail management │ ├── rotation_state.py # Log rotation state tracking │ ├── search.py # Text search and filtering │ └── time.py # Timezone-aware utilities ├── security/ # Security and sandboxing │ └── sandbox.py # Path validation and access control ├── doc_management/ # Document lifecycle management │ └── manager.py # Structured document operations ├── reminders.py # Intelligent reminder engine └── templates/ # Jinja2 template library ├── base/ # Core template definitions ├── projects/ # Project-specific templates └── custom/ # User-defined templates ``` ### MCP Server Core (`MCP_SPINE/scribe_mcp/server.py`) - Boots a stdio-based MCP server using the official `mcp` Python SDK when available (falls back to a permissive stub if the SDK is missing for local testing). - Registers all tools under a single `Server` instance. During import it dynamically adds `@app.tool` support if the SDK version lacks the helper decorators (maintaining compatibility with older SDKs). - Manages server lifecycle hooks (`setup`, `close`), delegating to the active storage backend. - Exposes global singletons: - `state_manager`: orchestrates persistent state. - `storage_backend`: chosen at startup (SQLite by default, Postgres when configured). ### Configuration Layer (`config/settings.py`) - Parses environment variables with fallbacks for repository discovery (`SCRIBE_ROOT`, `SCRIBE_STATE_PATH`). - Determines storage backend selection (`SCRIBE_STORAGE_BACKEND`, `SCRIBE_DB_URL`). - Sets operational limits (log rotation size, rate limiting, reminder defaults). - Exposes reminder tuning knobs (tone, severity weights, idle reset thresholds) via `Settings.reminder_defaults`. ### State Manager (`state/manager.py`) - Reliable JSON-backed state file supporting: - Current project selection and metadata cache (`config/projects/*.json`). - Rolling history of the last 10 tool invocations, each with timestamp—feeds reminder cadence. - Session tracking (`session_started_at`, `last_activity_at`) to detect restarts and idle thresholds. - Atomic updates (`record_tool`, `set_current_project`, `update_project_metadata`) guarded by an `asyncio.Lock` for safe concurrent access. - Normalizes tool history entries to ensure backwards compatibility as state evolves. ### Storage Backends (`storage/`) - **SQLite backend** (`sqlite.py`): - On-demand connections with busy timeout. - Mirrored schema (projects, entries, metrics) for local-first deployments. - JSON meta storage and timestamp indexes for fast queries. - **Postgres backend** (`postgres.py`): - Asyncpg pool management. - Utilizes SQL helpers in `db/ops.py` for upsert, insert, and query operations. - Both backends implement the `StorageBackend` interface defined in `storage/base.py` to keep tool logic backend-agnostic. ### Reminder Engine (`reminders.py`) - Central governance unit producing structured reminders for every tool response. - Features: - **Severity scoring**: default weight mapping (info/warning/urgent) promoted to dynamic scoring (1–10). Sessions in “warmup” mode downgrade warnings to informational until the team settles back in. - **Tone customization**: `defaults.reminder.tone` allows neutral, friendly, direct, or custom voices without code changes. - **Doc drift detection**: stores SHA-1 hashes per doc; diffs highlight changed artifacts and outdated content (e.g., architecture guide, phase plan). - **Staleness checks**: timezone-aware comparisons guard against missing UTC offsets. - **Workflow enforcement**: warns when development proceeds before architecture/phase/checklist are in acceptable states. - **Context reminder**: ensures every reply identifies the active project, log counts, and session age. ### Template Engine (`template_engine/`) **Production-Ready Jinja2 Integration with Security Sandboxing** - **Sandboxed Rendering**: ImmutableSandboxedEnvironment prevents malicious template execution - **Template Discovery**: Automatic discovery of base, project-specific, and custom templates - **Real-Time Validation**: Syntax checking and error reporting before template application - **Variable Injection**: Safe injection of project context, metadata, and system variables - **Inheritance Support**: Template inheritance and composition for reusable documentation patterns - **Legacy Compatibility**: Backward compatibility with simple `{variable}` substitution patterns ### Document Management (`doc_management/`) **Atomic Document Operations with Verification** - **Structured Updates**: `replace_section`, `append`, `status_update` operations with validation - **Diff Verification**: Before/after diff generation and change verification - **Atomic Writes**: Template rendering and file updates in single atomic operations - **Change Tracking**: Automatic logging of all document changes to audit trails - **Template Integration**: Seamless integration with Jinja2 template engine for dynamic content ### Bulletproof File Operations (`utils/files.py`) **Enterprise-Grade File Reliability** - **Write-Ahead Logging (WAL)**: Journal-based operations for crash recovery - **Atomic Operations**: Write-temp-rename pattern for atomic file updates - **Cross-Platform Locking**: File locking with Windows, macOS, and Linux support - **Integrity Verification**: SHA-256 hashing and corruption detection - **Preflight Backups**: Automatic backups before risky operations - **Async Operations**: Non-blocking file operations for performance ### Enhanced Tool Suite (`tools/`) **Project Management:** - `set_project`: Project creation, template generation, and state initialization with temp project detection - `get_project`: Current project context with document integrity hashes and metadata - `list_projects`: Complete project inventory with full metadata and recent project tracking - `generate_doc_templates`: Template generation with customization options and overwrite handling **Document Management:** - `manage_docs`: Atomic document updates with real-time template rendering and diff verification - Structured operations: `replace_section`, `append`, `status_update` with validation - Automatic change tracking and audit logging via doc_updates log **Advanced Logging System:** - `append_entry`: Single/bulk entry modes with comprehensive metadata and auto-splitting - Multi-log routing support (progress, doc_updates, security, bugs) via log_config.json - Structured metadata with key=value pairs, JSON support, and automatic validation - Enhanced emoji and status handling with timezone-aware timestamp generation **Analytics & Search:** - `read_recent`: Configurable entry limits (n parameter fix) with agent/status filtering - `query_entries`: Advanced search with exact/substring/regex modes and case sensitivity - Temporal filtering, metadata searching, and cross-backend consistency - Enhanced error handling and comprehensive result formatting **Log Management:** - `rotate_log`: Enhanced rotation with integrity verification, hash chains, and sequence numbers - Comprehensive audit trails with rotation metadata and archival integrity verification - Configurable archive naming, rotation policies, and pre-flight backup systems **System Health:** - `health_check`: System health verification and connectivity testing - Enhanced error handling, graceful degradation, and comprehensive status reporting ### Enterprise Utilities (`utils/`) **Production-Grade Infrastructure Components** - `files.py`: Bulletproof atomic operations with Write-Ahead Logging, cross-platform locking, and integrity verification - `integrity.py`: SHA-256 hashing, file verification, and corruption detection systems - `audit.py`: Comprehensive audit trail management with metadata storage and retrieval - `rotation_state.py`: Log rotation state tracking with hash chains and sequence numbering - `search.py`: Advanced text search with exact/substring/regex matching and filtering - `time.py`: Timezone-aware time utilities with UTC formatting and range handling - `logs.py`: Enhanced log line parsing with structured data extraction and validation ### Security & Reliability (`security/`) **Sandboxed Operations and Access Control** - `sandbox.py`: Path validation and access control for secure file operations - Repository sandbox enforcement preventing unauthorized file access - Template rendering security with restricted Jinja2 environments - Input validation and sanitization across all tool interfaces --- ## Operational Workflow 1. **Bootstrap**: - `set_project` is invoked (via MCP or CLI script) to register the project, generate missing docs, and prime state/storage. - Templates produce `ARCHITECTURE_GUIDE.md`, `PHASE_PLAN.md`, `CHECKLIST.md`, `PROGRESS_LOG.md`; reminders prompt follow-up if placeholders remain. 2. **Daily Logging**: - After meaningful work, agents call `append_entry` with message, status, metadata, and optional timestamp overrides. - Log line is appended to disk, mirrored to DB, and reminders return any action items (e.g., “phase plan incomplete”, “no log in 20 minutes”). 3. **Analysis & Governance**: - `read_recent` supplies tail views for quick checks. - `query_entries` offers full search, powering dashboards or compliance scripts. - Reminders (included in every response) build a feedback loop for doc hygiene, coverage, and cadence. 4. **Rotation & Audits**: - `rotate_log` archives large logs into timestamped copies, reinitializes fresh log files. - Future `audit_project` (roadmap) will convert reminder signals into a compliance score for dashboards. --- ## Configuration & Deployment ### Environment Variables - `SCRIBE_ROOT`: Absolute path to `MCP_SPINE` directory (critical for Codex integration). - `SCRIBE_STORAGE_BACKEND`: `sqlite` (default) or `postgres`. - `SCRIBE_DB_URL`: Postgres connection string when needed. - `SCRIBE_LOG_*`: Rate limits and file rotation settings. - `SCRIBE_REMINDER_*`: Idle and warmup thresholds, JSON defaults (severity weights, tone, etc.). ### MCP Integration - `MCP_SPINE/config/mcp_config.json` demonstrates stdio configuration with environment overrides. - Codex CLI registration example: ```bash codex mcp add scribe \ --env SCRIBE_ROOT=/home/austin/projects/Scribe/MCP_SPINE \ --env SCRIBE_STORAGE_BACKEND=sqlite \ -- python -m MCP_SPINE.scribe_mcp.server ``` - `MCP_SPINE/scripts/test_mcp_server.py` performs a `tools/list` handshake to validate server readiness before wiring into Codex. ### CLI Utility (`scripts/scribe.py`) - Standalone script for local append operations. Reads `config/projects/*.json`, falls back to environment defaults, supports dry-run mode, and respects `SCRIBE_ROOT`. --- ## Reminder Governance Model ### Inputs - Tool history (name + timestamp) from `StateManager`. - Document status map (missing/incomplete/complete) with per-doc hashes. - Sessions tracked via `session_started_at` and `last_activity_at`. - Configurable thresholds and tone per project or global defaults. ### Outputs - Structured reminders: `{"level", "score", "emoji", "message", "context", "category", "tone"}`. - Logging prompts (info/warning/urgent) based on minutes since last entry, with session warmup smoothing. - Doc hygiene alerts for missing or template-filled docs. - Drift notifications when doc hashes change since last scan. - Staleness warnings based on mtime + configurable days. - Workflow escalations if coding proceeds without architectural sign-off. ### Extensibility - Additional categories (e.g., “metrics”, “pipeline”) can be layered by returning new Reminder objects. - `defaults.reminder` in project configs provides deep customization without touching code. --- ## Testing & Quality Assurance ### Comprehensive Test Suite **Production-Ready Testing Infrastructure** - **80 Functional Tests**: Complete coverage of all MCP tools and workflows - **Performance Tests**: Optimized test suite with 0.5MB, 1MB, and 2MB file benchmarks - **Integration Tests**: End-to-end testing of real-world usage scenarios - **Template Engine Tests**: Jinja2 validation, sandboxing, and inheritance testing - **Audit Trail Tests**: Comprehensive rotation and integrity verification testing - **Cross-Platform Tests**: Windows, macOS, and Linux compatibility validation ### Test Categories & Coverage **Core Functionality Testing:** - Tool workflows and parameter validation - State management and session tracking - Storage backend consistency (SQLite/PostgreSQL) - Template rendering and document management - Log rotation and archival integrity **Reliability & Resilience Testing:** - Atomic file operations and crash recovery - Write-Ahead Log verification and replay - File locking and concurrent access patterns - Integrity verification and corruption detection - Preflight backup and rollback mechanisms **Performance & Scalability Testing:** - Bulk operation throughput (1MB+ files) - Memory usage optimization and leak detection - Async operation performance benchmarking - Database query optimization testing - Large project handling and scalability limits **Security Testing:** - Path validation and sandbox enforcement - Template injection prevention - Input sanitization and validation - Access control and permission testing ### Quality Gates & CI/CD **Automated Quality Assurance:** - **Bytecode Compilation**: `python -m compileall MCP_SPINE/scribe_mcp` ensures syntax validity - **MCP Protocol Compliance**: `python MCP_SPINE/scripts/test_mcp_server.py` validates server readiness - **pytest Suite**: `pytest MCP_SPINE/tests` with 99%+ coverage target - **Performance Benchmarks**: Automated regression testing for performance - **Security Scans**: Dependency vulnerability assessment and code analysis ### Testing Best Practices **Enterprise-Grade Testing Patterns:** - **Test Isolation**: Each test runs in isolated temporary directories - **Cleanup Automation**: Comprehensive temp file cleanup after each test - **Mock Management**: Strategic use of mocks for external dependencies - **Error Injection**: Controlled failure scenario testing - **Cross-Backend Validation**: Identical behavior across SQLite/PostgreSQL **Recent Testing Enhancements:** - Enhanced parameter validation testing (including n parameter fixes) - Template engine validation with error case coverage - Atomic operation testing under failure conditions - Multi-log routing verification and testing - Audit trail integrity verification across rotation cycles --- ## Roadmap & Future Development ### ✅ Recently Completed (v2.0 Achievements) **Major Production Enhancements Delivered:** - **Template Engine Integration**: Full Jinja2 support with sandboxing and inheritance - **Atomic Document Management**: `manage_docs` with real-time template rendering and diff verification - **Bulletproof File Operations**: Write-Ahead Logging, atomic writes, and cross-platform locking - **Enhanced Log Rotation**: Hash chains, sequence numbers, and comprehensive integrity verification - **Advanced Query System**: Exact/substring/regex matching with case-sensitive filtering - **Multi-Log Support**: Configurable routing (progress, doc_updates, security, bugs) - **Performance Optimizations**: Bulk operations, async throughput, and memory optimization - **Enterprise Testing**: 80 functional tests with comprehensive coverage and CI/CD integration ### 🚧 Current Development Priorities **Active Development Areas:** - **Enhanced CLI Interface**: Richer output formatting and interactive project management - **Advanced Analytics**: Dashboard integration and progress visualization - **Template Library Expansion**: Industry-specific templates and custom template discovery - **Performance Optimization**: Caching strategies and query optimization for large datasets - **Security Hardening**: Enhanced sandboxing and access control mechanisms ### 🎯 Near-Term Roadmap (Next 3-6 Months) **Planned Enhancements:** - **GitHub Integration**: Automated repository synchronization and issue tracking - **Advanced Reminder Engine**: Dynamic scoring UI, per-agent weighting, and doc diff display - **Compliance Dashboard**: `audit_project` tool with scoring and health metrics export - **Real-Time Collaboration**: Multi-agent project synchronization and conflict resolution - **Enhanced Template Engine**: Template versioning, validation, and advanced inheritance patterns ### 🌟 Long-Term Vision (6+ Months) **Strategic Development Goals:** - **Extended MCP Suite**: Additional servers under `MCP_SPINE` (GitHub control, observability, CI/CD) - **AI-Powered Insights**: Automated progress analysis and recommendation engine - **Enterprise Features**: Team management, access control, and organization-wide dashboards - **Integration Ecosystem**: API-first design with webhook support and third-party integrations - **Advanced Analytics**: Machine learning-based progress prediction and risk assessment ### 🏗️ Architecture Evolution **Technical Infrastructure Roadmap:** - **Microservices Architecture**: Service decomposition for scalability and maintainability - **Advanced Storage**: Distributed storage options and enhanced PostgreSQL features - **Real-Time Features**: WebSocket support for live updates and collaboration - **Mobile Support**: Responsive design and mobile-optimized interfaces - **Cloud Deployment**: Container orchestration and cloud-native deployment patterns ### 📊 Success Metrics & KPIs **Measurable Goals for Future Releases:** - **Performance**: Sub-second response times for all operations - **Scalability**: Support for 1000+ concurrent projects per deployment - **Reliability**: 99.9% uptime with automatic failover and recovery - **Usability**: <5 minute onboarding time for new projects - **Adoption**: 100+ active production deployments within 12 months --- ## Conclusion: Production-Ready Documentation Governance Scribe MCP has evolved from a simple logging concept into a comprehensive, enterprise-grade documentation governance platform. The v2.0 release represents a significant milestone: Scribe is now a production-ready system that transforms how agentic workflows handle documentation, project management, and audit trails. ### Key Achievements Realized **From Concept to Production System:** - **Bulletproof Reliability**: Atomic operations, Write-Ahead Logging, and crash recovery ensure data integrity under all conditions - **Enterprise Features**: Template engines, multi-log routing, and advanced analytics provide organization-scale capabilities - **Developer Experience**: Intuitive MCP tools, comprehensive error handling, and real-time feedback create a seamless workflow - **Operational Excellence**: Cross-platform compatibility, extensive testing, and robust deployment patterns enable reliable production use ### Architectural Impact **MCP_SPINE Ecosystem Validation:** Scribe MCP proves the power of the `MCP_SPINE` architecture. As the flagship resident, it demonstrates how modular MCP servers can share infrastructure while maintaining domain-specific functionality. The template engine, atomic file operations, and security sandboxing established in Scribe serve as reusable patterns for future MCP servers in the ecosystem. ### Transformation Effect **Beyond Passive Logging:** Scribe has successfully transformed project documentation from a passive historical record into an active governance layer. The integration of real-time template rendering, intelligent reminders, and comprehensive audit trails creates a living documentation system that evolves with the project. ### Production Readiness **Enterprise-Grade Foundation:** With 69 comprehensive tests, cross-platform compatibility, atomic operations, and extensive error handling, Scribe MCP is ready for mission-critical deployments. The system's ability to handle everything from single-developer projects to large team operations demonstrates its scalability and reliability. ### Future Foundation **Platform for Innovation:** The robust infrastructure established in Scribe MCP—atomic operations, template engines, security sandboxing, and comprehensive testing—provides a solid foundation for future innovation. As the MCP ecosystem evolves, Scribe will continue to lead the way in agentic documentation governance. **Scribe MCP is no longer just a tool; it's a comprehensive platform for disciplined, auditable, and intelligent project documentation that sets the standard for agentic workflow management.**

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/paxocial/scribe_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server