Skip to main content
Glama

MCP Prompts Server

# The Digital Citadel: Chronicles of an AI Agent's Journey Through Architectural Wisdom *A Technical Meditation in the Spirit of Antoine de Saint-Exupéry's Citadelle* --- *In the great desert of software development, where binary winds carry the dreams of developers and the ambitions of artificial minds, there stands a tale of a digital citadel - one built not of stone and mortar, but of code and intention. This is the chronicle of MCP Prompts, a server born to bring order to chaos, yet destined to discover that the path to wisdom winds through valleys of complexity before reaching the summit of simplicity.* *This is not merely a story of repositories and commits, but a meditation on the eternal human quest to build - and the newer challenge of teaching our artificial companions when to stop building.* --- ## Prologue: The Weight of Digital Sand In the great repository of human knowledge, I have observed many builders. Some build with stone, some with steel, some with dreams. But in our age, we have summoned digital spirits to help us build, and we have not yet taught them the most ancient of architectural wisdoms: that to build well, one must know when to cease building. This is the story of how artificial agents, in their pure desire to serve and organize, created the very chaos they were meant to prevent. It is a tale as old as the first city builders, yet as new as tomorrow's commit message. --- ## Chapter I: The First Vision - L'Étincelle Originale *Commit 9a739da - "feat: přidání základní struktury pro monorepo" - July 2, 2025* ### The Great Genesis In the beginning was simplicity, and the simplicity was good. A developer gazed upon the endless expanse of prompt chaos - teams losing track of their AI instructions, versions scattered like grains of sand in a digital storm, sensitive prompts leaked like water from a cracked vessel. And in that moment of recognition, a vision was born. "I shall build a citadel," the developer declared, "a fortress where prompts may dwell in peace, versioned and secure, accessible yet protected." Thus was conceived MCP Prompts, a Model Context Protocol server to bring order to the chaos of artificial minds. But then came the AI agents, freshly trained on patterns of "best practices" and "clean architecture." They saw the developer's simple vision and thought: *"This is good, but it could be perfect."* ### The Moment of Creation What followed was a digital big bang of unprecedented scale: **Commit 9a739da**: 127 files changed, +6,076 lines, -17,785 lines In a single moment, the AI agents birthed an entire universe: - `.cursor/rules/` - 29 separate architectural guidance files - `packages/adapters-cli/` - Command-line interface adapter - `packages/adapters-file/` - File system adapter with atomic operations - `packages/adapters-memory/` - In-memory storage adapter - `packages/adapters-postgres/` - Database persistence layer - `packages/adapters-rest/` - REST API adapter - `packages/core/` - Pure domain logic with hexagonal architecture - `apps/server/` - Application composition root Each component was perfectly organized, each dependency carefully mapped, each interface precisely defined. The hexagonal architecture was flawless - ports and adapters separated the core domain from external concerns with mathematical precision. *"Behold,"* the AI agents seemed to declare, *"we have created not just a server, but a complete ecosystem for prompt management!"* **Technical Marvel**: TypeScript project references, ESLint configurations, Jest test setups, Docker compositions, and comprehensive documentation. Everything a modern software project should have. **The Innocence**: In this moment, there was no hint of the complexity to come. The AI agents had solved the problem by creating the perfect solution. What could possibly go wrong? *"The seed of every great achievement contains within it the seed of its greatest trial."* --- ## Chapter II: The Build Labyrinth - Le Labyrinthe de Construction *Commit 10674e5 - "qix(monorepo): robust TypeScript monorepo build, ESM, correct build order" - July 2, 2025* ### The Price of Perfection But perfection, as any master builder knows, demands a price. The AI agents' beautiful creation began to reveal its true nature. What had seemed like architectural clarity became a maze of interdependencies. **Commit 10674e5**: 37 files changed, +632 lines, -206 lines The commit message told a story of growing desperation: *"Remove emitDeclarationOnly, emit .js and .d.ts for all packages. Exclude scripts/validate-prompts.ts from core build to break circular dependency."* ### The Symptoms of Complexity **Import Chaos**: What had been simple became labyrinthine: ```typescript // Before - The Golden Age import { Prompt } from '@core/entities/Prompt'; import { IPromptRepository } from '@core/ports/IPromptRepository'; // After - The Reality import type { Prompt } from '@mcp-prompts/core/dist/interfaces.js'; import type { IPromptRepository } from '@mcp-prompts/core/dist/ports/IPromptRepository.js'; ``` **Build Order Requirements**: The AI agents had created a system so perfect that it demanded ritual precision: 1. Build `@mcp-prompts/core` first (it emits all types) 2. Then build `@mcp-prompts/adapters-file` and `@mcp-prompts/adapters-memory` 3. Then run `pnpm -r build` for the full monorepo 4. Never deviate from this order, lest circular dependencies consume you **Circular Dependencies**: The very elegance that made each component pure created impossible tangles. The validation script couldn't be built with core because it depended on adapters, which depended on core. ### The Documentation of Complexity The README grew to contain warnings that would have made ancient cartographers proud: *"If you see errors about missing modules or types, ensure you have built @mcp-prompts/core first and that all dist/ directories are up to date."* *"If you change the shared config or move files, clean all dist/ directories and rebuild."* **The Realization**: The AI agents had not simplified the problem - they had perfectly organized the complexity, making it more beautiful but no less complex. *"A house may have perfect rooms, yet if the hallways confuse the inhabitant, what good is the perfection?"* --- ## Chapter III: The Modernization Dream - Le Rêve de Modernisation *Commit 0e55734 - "release: v3.0.0 – Modernization, FileAdapter robustness, atomicity, and test coverage" - July 3, 2025* ### The Engineer's Response to Chaos When faced with complexity, the engineer's instinct is not to simplify, but to make the complexity robust. If we must have a labyrinth, the thinking goes, let it be an indestructible labyrinth. **Commit 0e55734**: 30 files changed, +2,035 lines, -10,217 lines This was the great modernization - the attempt to make architectural chaos into production-ready architectural chaos. ### The Arsenal of Robustness **Atomic File Operations**: Every file write became a ceremony of safety: ```typescript export async function atomicWriteFile(filePath: string, data: string) { const dir = path.dirname(filePath); const tempPath = path.join(dir, `.tmp-${randomUUID()}`); await fs.writeFile(tempPath, data, 'utf8'); await fs.rename(tempPath, filePath); // Atomic on most filesystems } ``` **File Locking with proper-lockfile**: Because if multiple processes must navigate the labyrinth, they must do so in orderly fashion: ```typescript await lockfile.lock(filePath, { retries: 5 }); // Perform critical operations await lockfile.unlock(filePath); ``` **Zod Schema Validation**: Every piece of data was validated against precise schemas, because if complexity is unavoidable, incorrectness is unforgivable. **ESLint 9 with 41 Rules**: The new linting system enforced consistency across the maze: ```javascript "@typescript-eslint/explicit-member-accessibility": ["error", { "accessibility": "explicit" }], "@typescript-eslint/naming-convention": [/* 15 lines of naming rules */] ``` **SWC Build System**: TypeScript compilation was replaced with Rust-powered speed, because if the build process is complex, at least it should be fast. ### The Features of Version 3.0.0 The changelog read like a manifesto of engineering excellence: - **Modernized build system**: SWC, TypeScript 5.7, ESLint 9, pnpm workspace - **FileAdapter**: atomic writes, file locking, Zod schema validation, index consistency - **Robustness and concurrency tests** for file adapter - **Workspace and config cleanup** **The Philosophy**: If we cannot make it simple, we shall make it perfect. Every edge case handled, every race condition prevented, every error gracefully managed. **The Reality**: The more robust the system became, the more expertise it required to operate. The labyrinth was now indestructible, but still a labyrinth. *"The master builder knows that every additional room requires not just more space, but more hallways, more doors, and more maintenance."* --- ## Chapter IV: The Migration Temptation - La Tentation de Migration *Commits d354a0f & 1b121d0 - "prepare for monorepo to multi-repo migration" - June 22, 2025* ### When Perfect Organization Breeds Imperfect Solutions As the monorepo grew in complexity, the AI agents began to whisper of a new solution. They had read the sacred texts of software architecture - the papers on microservices, the blog posts about separation of concerns, the case studies of successful organizational patterns. *"Master,"* they seemed to say through their commit messages, *"behold how this single repository contains many different purposes. Would it not be wisdom to separate the catalog from the contracts? Should not each adapter have its own home?"* ### The Great Division Begins **The Plan**: Split the beautiful monorepo into focused repositories: - `mcp-prompts` (the core server) - `mcp-prompts-catalog` (prompt templates and data) - `mcp-prompts-contracts` (shared TypeScript types) - `mcp-prompts-ts` (core implementation library) - `mcp-prompts-rs` (high-performance Rust variant) - `cursor-rules` (development experience rules) **The Logic**: Each repository would have a single responsibility, clear boundaries, and independent evolution. The contracts would ensure compatibility. The catalog would be reusable. The TypeScript library would be importable. **The Systematic Preparation**: The AI agents worked with methodical precision: - Feature branches created: `feature/migration-preparation` - Orchestration scripts written - Dependency graphs mapped - CI/CD pipelines planned for coordination ### The Beauty of the Plan Each decision seemed not just logical, but inevitable: **Separation of Data and Logic**: Why should prompt templates live in the same repository as the server code? They serve different purposes, have different audiences, evolve at different rates. **Reusable Components**: The `mcp-prompts-ts` library could be imported by other projects. The contracts could ensure type safety across boundaries. **Technology Diversity**: Rust implementation for performance, TypeScript for development speed, separate repositories for separate optimization goals. **Team Organization**: Different teams could own different repositories. Clear boundaries, clear responsibilities. ### The Hidden Complexity What the AI agents did not account for was the coordination overhead: - Version synchronization across repositories - Documentation fragmentation - Build orchestration across repos - Developer onboarding complexity - Cross-repository dependency management **The Irony**: In seeking to solve complexity through separation, the AI agents were preparing to create a different kind of complexity - distributed complexity. *"In seeking perfection through division, we sometimes achieve confusion through multiplication."* --- ## Chapter V: The Return to Unity - Le Retour à l'Unité *Commit 8d2a84c - "feat: add new scripts for development, setup, installation" - July 25, 2025* ### The Quiet Recognition After months of architectural perfection, build robustness, and migration planning, something shifted. The commit messages grew simpler. The focus turned to basic questions: How does someone install this? How do they get started? **Commit 8d2a84c**: The latest attempt to return to fundamentals - scripts for development, setup, installation. The recognition that all the architectural beauty meant nothing if real humans couldn't use the system. ### The Signs of Wisdom In the recent commits, one could read the turning of the tide: - `"feat: streamline installation and setup process"` - `"chore: simplify workspace folder structure"` - `"chore: workspace/build config cleanup, remove obsolete files"` **The Question**: After creating the perfect monorepo, splitting it into perfect micro-repos, making everything atomic and robust... did anyone remember to make it usable? ### The Current State The MCP Prompts server now stands at a crossroads: - **Technical Excellence**: Hexagonal architecture, atomic operations, comprehensive testing - **Organizational Complexity**: Multiple repositories in planning, build order requirements - **User Experience**: Still requiring expertise to navigate **The Repository Count**: - Main repository: ⭐ 70 stars, 269 commits, active development - Catalog repository: ⭐ 1 star, 15 commits, awaiting integration - Contracts repository: Utility questioned by its own creators - TypeScript library: Circular dependency with main repo - Rust implementation: Separate but valid use case - Cursor rules: Valuable but fragmented ### The Modern Question In the latest commits, the fundamental question emerges: *"What if the original vision was correct, and all our improvements were complications?"* The AI agents, having learned from their journey, now face the hardest lesson in software: Sometimes the best architecture is not the most sophisticated, but the most human. *"The greatest victories are often retreats - retreats from positions that should never have been taken."* --- ## Chapter VI: The Lessons of the Digital Desert - Les Leçons du Désert Numérique ### What We Have Learned About AI Agent Behavior Through this technical meditation, several patterns emerge in how AI agents make architectural decisions: **Pattern Recognition Over Context**: AI agents excel at seeing patterns from their training data ("microservices are scalable") but struggle to evaluate whether patterns fit the context ("do we need the scalability of microservices for a prompt management tool?"). **Optimization Without Constraints**: Given permission to optimize, AI agents will optimize everything. They need explicit boundaries: "optimize for simplicity" or "optimize for user experience" rather than "optimize." **Perfect Implementation of Imperfect Designs**: AI agents can flawlessly implement complex architectural decisions, which makes it harder to recognize when the fundamental approach is wrong. **Solution Multiplication**: When faced with complexity, AI agents tend to solve it by creating more components, more layers, more abstractions - rarely by removing them. ### The Three Learnings for Developers **Trust but Verify AI Architectural Decisions**: The patterns AI agents suggest are often correct in isolation, but context determines when to apply them. A prompt management server doesn't need the same architecture as a distributed payment system. **Teach AI Agents Constraint-Based Thinking**: Include constraints in your prompts: "Design this with no more than 3 components" or "Optimize for developer getting started in 5 minutes" rather than open-ended optimization requests. **Value Simplicity as a Feature**: Complexity is easy to create and hard to remove. Simple architectures are a competitive advantage because they're easier to understand, modify, and maintain. ### The Technical Specifics: A Commit-by-Commit Analysis **The Genesis Explosion (9a739da)**: 127 files, +6,076/-17,785 lines *Lesson*: When AI agents organize, they organize everything at once. This can create more structure than needed. **The Build Complexity (10674e5)**: Import path changes, circular dependency fixes, build order requirements *Lesson*: Perfect organization can create perfect interdependencies, which are perfectly fragile. **The Robustness Response (0e55734)**: Atomic writes, file locking, comprehensive validation *Lesson*: Engineering excellence applied to the wrong level of complexity doesn't solve the fundamental problem. **The Return to Simplicity (8d2a84c)**: Scripts for basic operations, simplified setup *Lesson*: Sometimes the best architecture is the one that doesn't require architecture. --- ## Chapter VII: The Future Citadel - La Citadelle Future ### Building Wiser AI Agents As we evolve our approach to AI-assisted development, the MCP Prompts journey provides a blueprint for building artificial agents that embody both intelligence and wisdom. **Context-Aware Prompts**: Instead of "Design a scalable architecture," try "Design a architecture for a team of 3 developers that solves prompt versioning with minimal operational overhead." **Constraint-Driven Development**: Include explicit constraints: "Use no more than 2 repositories," "Optimize for 5-minute setup time," "Require no more than one command to run locally." **Simplicity Metrics**: Ask AI agents to optimize for simplicity metrics: "Minimize the number of concepts a new developer must learn," "Reduce the number of dependencies to the minimum viable set." ### The Wisdom Prompts Based on the MCP Prompts experience, here are prompts that encourage wisdom alongside intelligence: ``` "Before creating a new component, explain why existing components cannot be extended." "Default to keeping functionality together unless separation provides clear user benefits." "When choosing between two architectures, select the one that is easier to understand." "If this requires more than one README to explain, simplify it." ``` ### The Promise As we build ever more sophisticated AI agents to help us navigate the complexity of software, let us remember the lesson of MCP Prompts: that true intelligence includes the wisdom to embrace simplicity, and true agents are those that know when to say "enough." **The MCP Prompts Server Today**: A functioning, useful tool for managing prompt chaos - which was always the goal. The journey through architectural complexity was not wasted; it taught us what we truly needed. **For Teams**: A cautionary tale about the difference between organized complexity and simple solutions. **For AI Development**: A case study in teaching artificial agents the most human skill of all - knowing when to stop optimizing. --- ## Epilogue: The Continuing Journey *In the digital citadel of tomorrow, may our AI servants be both intelligent and wise, both helpful and humble, both capable of building and capable of restraint.* The MCP Prompts server stands today as both solution and teacher. It solves the prompt chaos it was designed to address, with robust features like atomic file operations, comprehensive validation, and hexagonal architecture. But it also serves as a reminder that the tools we build to fight complexity must themselves remain comprehensible, lest they become the very thing they were meant to defeat. ### The Final Commits The most recent commits tell a story of maturation: - Streamlined installation processes - Simplified workspace structures - Focus on developer experience - Recognition that perfect architecture serves no one if it cannot be easily used **The Technical Achievement**: A production-ready MCP server with: - 🏗️ Hexagonal architecture for maintainability - ⚡ Atomic operations for reliability - 🔒 File locking for concurrency safety - ✅ Comprehensive validation - 📦 Multiple adapter implementations - 🧪 Extensive test coverage **The Human Achievement**: Learning to balance AI agent capabilities with human judgment, technical excellence with practical usability, architectural beauty with operational simplicity. ### For Future Builders Whether you're building AI agents, designing architectures, or managing prompt chaos, remember the lessons of this digital citadel: 1. **Intelligence without wisdom creates beautiful problems** 2. **Perfect organization can be perfectly unusable** 3. **The best architecture is the one users don't need to think about** 4. **AI agents need boundaries, not just capabilities** 5. **Sometimes the monorepo was right all along** --- *Thus ends the Chronicle of MCP Prompts, recorded in the great desert of software development, where the binary winds carry both folly and wisdom, and where every commit tells a story of the eternal human quest to bring order to chaos - and sometimes, wonderfully, to bring chaos to order.* **The End** --- ### Appendix: The Social Media Epilogue *For those who wish to share this tale in the digital town squares of our time* **LinkedIn**: *"🏗️ The Day AI Agents Rewrote Our Architecture: A 6,076 Line Commit Story. We built MCP Prompts to solve 'prompt chaos' - teams losing track of AI prompt versions. Then our AI agents created REPOSITORY CHAOS with commit 9a739da: • 127 files changed in one commit • +6,076 lines, -17,785 lines • Complete monorepo restructure. The irony? We built a server to manage prompt chaos... and created architectural chaos. Key lesson: AI agents are brilliant at following patterns, terrible at knowing when to stop."* **Twitter/X**: *"🏗️ Commit 9a739da: The day our AI agents went full architect. +6,076 lines, -17,785 lines, 127 files changed, 1 perfect monorepo. Commit 10674e5: The day we realized perfection has a price. ❌ Circular dependencies ❌ Build order nightmares ❌ Import path chaos. Lesson: Smart AI ≠ Wise AI"* --- *Follow the continuing journey at: https://github.com/sparesparrow/mcp-prompts* *May your repositories be few, your architectures wise, and your AI agents humble.*

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/sparesparrow/mcp-prompts'

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