Skip to main content
Glama
croakingtoad

Context Engineering MCP Server

by croakingtoad

Context Engineering MCP Server

๐Ÿš€ A comprehensive MCP server that automates Cole Medin's context engineering methodology for creating high-quality Product Requirements Prompts (PRPs).

Build Status TypeScript MCP Tests License

๐ŸŽฏ Overview

This MCP server implements the context engineering methodology created by Cole Medin in his Context Engineering Introduction repository. It provides intelligent automation for creating comprehensive Product Requirements Prompts that account for your existing codebase context.

What This Server Does

The Context Engineering MCP Server intelligently analyzes your existing codebase and automatically generates:

  • ๐Ÿ” Contextual Questions based on detected patterns and frameworks

  • ๐Ÿ“‹ Comprehensive INITIAL.md documentation following Cole's methodology

  • ๐Ÿ“ Product Requirements Prompts (PRPs) using proven templates

  • ๐ŸŽฏ Execution Guidance with agent recommendations and task breakdowns

  • ๐Ÿ’พ Persistent Storage for managing PRPs and project context

  • ๐Ÿ”— Archon Integration for seamless task and knowledge management

Why Use This Server?

Instead of starting with blank requirements documents:

  1. Analyzes your existing code to understand architecture and patterns

  2. Asks intelligent questions specific to your tech stack and domain

  3. Synthesizes insights into comprehensive documentation

  4. Generates actionable PRPs that account for your current context

  5. Provides storage and versioning for long-term project management

Related MCP server: MCP Prompt Enhancer

๐Ÿ“‹ MCP Tools (9 Available)

Core Context Engineering Tools

  1. list_templates - List all available PRP templates with optional category filtering

  2. generate_prp - Generate a Product Requirements Prompt based on a template and project context

  3. validate_prp - Validate a PRP against context engineering best practices

  4. search_templates - Search for templates by name, description, or tags

  5. create_custom_template - Create new custom PRP templates

  6. analyze_context - Analyze project context to recommend suitable templates and improvements

Storage & Management Tools

  1. list_prps - List all stored PRPs with filtering and search capabilities

  2. update_prp - Update existing PRPs with version tracking

  3. manage_storage - Manage storage operations, backup, and maintenance

๐Ÿ“š MCP Resources (5 Available)

  • Templates (context-engineering://templates) - Collection of PRP templates

  • Patterns (context-engineering://patterns) - Code analysis patterns and rules

  • Initial (context-engineering://initial) - INITIAL.md generation templates

  • Rules (context-engineering://rules) - Global context engineering rules

  • PRPs (context-engineering://prps) - Stored Product Requirements Prompts

๐Ÿš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/locomotive-agency/context-engineering-mcp.git
cd context-engineering-mcp

# Install dependencies
npm install

# Build the TypeScript code
npm run build

# Start the MCP server
npm start

Demo Integration

# Run the comprehensive demo
node demo-integration.js

โš™๏ธ Claude Desktop Configuration

Add this configuration to your Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "context-engineering": {
      "command": "node",
      "args": ["/path/to/context-engineering-mcp-server/dist/index.js"],
      "env": {
        "TEMPLATES_DIR": "/path/to/context-engineering-mcp-server/templates",
        "EXTERNAL_TEMPLATES_DIR": "/path/to/context-engineering-mcp-server/external/context-engineering-intro",
        "DATA_DIR": "/path/to/context-engineering-mcp-server/data"
      }
    }
  }
}

Claude Code Integration

# Add to Claude Code via MCP
claude-code mcp add context-engineering /path/to/context-engineering-mcp-server/dist/index.js

๐Ÿ”ง Configuration Options

Environment Variables

  • TEMPLATES_DIR - Directory containing internal templates (default: ./templates)

  • EXTERNAL_TEMPLATES_DIR - Directory for Cole's external templates (default: ./external/context-engineering-intro)

  • DATA_DIR - Directory for persistent storage (default: ./data)

  • NODE_ENV - Environment mode (development, production, test)

Server Capabilities

  • Archon Integration - Automatic integration with Archon MCP for task and knowledge management

  • Version Control - Full version tracking for PRPs with diff generation

  • Concurrent Operations - Supports up to 10 concurrent storage operations

  • Template Synchronization - Automatic syncing with Cole's upstream templates

๐Ÿ“– Usage Examples

Basic PRP Generation

// List available templates
const templates = await mcp.call('list_templates', { category: 'web-app' });

// Generate a PRP for a Next.js project
const prp = await mcp.call('generate_prp', {
  templateId: 'nextjs-app-template',
  projectContext: {
    name: 'E-commerce Platform',
    domain: 'retail',
    stakeholders: ['Product Manager', 'Engineering Team', 'Design Team'],
    objectives: ['Build scalable e-commerce platform', 'Implement modern UX'],
    constraints: ['Budget: $50k', 'Timeline: 3 months']
  },
  saveToStorage: true,
  outputFormat: 'markdown'
});

Context Analysis Workflow

// Analyze project context
const analysis = await mcp.call('analyze_context', {
  projectContext: {
    name: 'Mobile Banking App',
    domain: 'fintech',
    description: 'Secure mobile banking application with real-time transactions',
    stakeholders: ['Bank Executives', 'Compliance Team', 'Customers'],
    constraints: ['PCI DSS Compliance', 'SOX Compliance', 'High Security Requirements']
  }
});

// Use recommended template
const prp = await mcp.call('generate_prp', {
  templateId: analysis.recommendedTemplates[0].id,
  projectContext: analysis.enhancedContext
});

Storage Management

// List stored PRPs
const prps = await mcp.call('list_prps', {
  category: 'fintech',
  status: 'active',
  limit: 10
});

// Update a PRP
const updated = await mcp.call('update_prp', {
  id: 'prp-123',
  updates: {
    status: 'completed',
    metadata: { version: '2.0' }
  },
  comment: 'Updated requirements based on stakeholder feedback'
});

๐Ÿ—๏ธ Architecture

Transport & Protocol

  • Protocol: MCP (Model Context Protocol) v0.6.0

  • Transport: StdioServerTransport for client communication

  • Security: Input validation with Zod schemas

Core Components

TemplateManager

  • Loads templates from internal and external directories

  • Provides search, filtering, and categorization

  • Handles template validation and caching

  • Syncs with Cole Medin's upstream repository

PRPGenerator

  • Generates PRPs from templates with context substitution

  • Supports multiple output formats (Markdown, JSON, HTML)

  • Handles custom sections and metadata

  • Integrates with storage and version control

StorageSystem

  • Persistent storage for PRPs and project context

  • Version tracking with diff generation

  • Concurrent operation management

  • Backup and recovery capabilities

IntegrationsManager

  • Seamless integration with Archon MCP server

  • Automatic task creation from PRP sections

  • Knowledge synchronization

  • Health monitoring and fallback handling

External Integration

The project uses git subtree to integrate Cole Medin's original templates:

# Sync with upstream templates
./scripts/sync-templates.sh

๐Ÿงช Testing

The project follows Test-Driven Development (TDD) principles:

# Run all tests
npm test

# Run tests with coverage
npm run test:coverage

# Run specific test suites
npm run test:unit        # Unit tests
npm run test:integration # Integration tests
npm run test:e2e        # End-to-end tests
npm run test:performance # Performance tests

# Watch mode for development
npm run test:watch

Test Coverage

  • Project Structure Tests: Validate directory structure and configuration

  • Unit Tests: Test individual components and functions

  • Integration Tests: Test MCP tool and resource handlers

  • End-to-End Tests: Test complete workflows

  • Performance Tests: Test under load and stress conditions

Current test status: 58 tests passing with comprehensive coverage.

๐Ÿ› ๏ธ Development

Prerequisites

  • Node.js 18+

  • npm or yarn

  • TypeScript 5.3+

Development Commands

# Watch mode for development
npm run dev

# Type checking
npm run type-check

# Linting and formatting
npm run lint
npm run lint:fix
npm run format
npm run format:check

# Validation pipeline
npm run validate  # Runs lint + type-check + all tests

# Template synchronization
npm run sync-templates

Project Structure

โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ tools/              # MCP tool implementations (9 tools)
โ”‚   โ”‚   โ”œโ”€โ”€ generate-prp.ts
โ”‚   โ”‚   โ”œโ”€โ”€ validate-prp.ts
โ”‚   โ”‚   โ”œโ”€โ”€ list-templates.ts
โ”‚   โ”‚   โ”œโ”€โ”€ search-templates.ts
โ”‚   โ”‚   โ”œโ”€โ”€ create-custom-template.ts
โ”‚   โ”‚   โ”œโ”€โ”€ analyze-context.ts
โ”‚   โ”‚   โ”œโ”€โ”€ list-prps.ts
โ”‚   โ”‚   โ”œโ”€โ”€ update-prp.ts
โ”‚   โ”‚   โ””โ”€โ”€ manage-storage.ts
โ”‚   โ”œโ”€โ”€ resources/          # MCP resource handlers (5 resources)
โ”‚   โ”‚   โ”œโ”€โ”€ handlers/
โ”‚   โ”‚   โ””โ”€โ”€ resource-manager.ts
โ”‚   โ”œโ”€โ”€ lib/                # Core logic components
โ”‚   โ”‚   โ”œโ”€โ”€ template-manager.ts
โ”‚   โ”‚   โ”œโ”€โ”€ prp-generator.ts
โ”‚   โ”‚   โ”œโ”€โ”€ storage.ts
โ”‚   โ”‚   โ”œโ”€โ”€ change-tracker.ts
โ”‚   โ”‚   โ”œโ”€โ”€ integrations.ts
โ”‚   โ”‚   โ””โ”€โ”€ execution-guidance.ts
โ”‚   โ”œโ”€โ”€ types/              # TypeScript type definitions
โ”‚   โ””โ”€โ”€ index.ts            # Main server entry point
โ”œโ”€โ”€ templates/              # Internal PRP templates
โ”œโ”€โ”€ external/               # Git subtree for Cole's templates
โ”‚   โ””โ”€โ”€ context-engineering-intro/
โ”œโ”€โ”€ data/                   # Persistent storage directory
โ”œโ”€โ”€ scripts/                # Utility scripts
โ”‚   โ”œโ”€โ”€ sync-templates.sh   # Template synchronization
โ”‚   โ””โ”€โ”€ test-coverage-report.js
โ”œโ”€โ”€ test/                   # Test suites
โ”‚   โ”œโ”€โ”€ unit/
โ”‚   โ”œโ”€โ”€ integration/
โ”‚   โ”œโ”€โ”€ e2e/
โ”‚   โ””โ”€โ”€ performance/
โ””โ”€โ”€ dist/                   # Built JavaScript output

๐Ÿค Contributing

We welcome contributions! This project builds upon Cole Medin's excellent foundation.

Development Workflow

  1. Follow TDD approach - write tests first

  2. Use TypeScript with strict mode

  3. Follow ESLint and Prettier configurations

  4. Update tests when adding new features

  5. Keep external templates synced via git subtree

  6. Ensure all CI checks pass

Code Style

  • TypeScript strict mode enabled

  • ESLint + Prettier for consistent formatting

  • Comprehensive type definitions

  • Extensive test coverage required

  • Documentation for all public APIs

๐Ÿ™ Credits & Attribution

This project is built upon the excellent context engineering methodology created by Cole Medin:

  • Original Repository: context-engineering-intro

  • Methodology: Cole Medin's context engineering approach for PRP generation

  • Templates: Integrated via git subtree from Cole's repository

  • Inspiration: Cole's systematic approach to requirements engineering

Contributors

  • Cole Medin - Original context engineering methodology and templates

  • Claude/Anthropic - MCP server implementation and automation

  • croakingtoad - Project coordination and testing

๐Ÿ“„ License

MIT License - see LICENSE file for details.

This project incorporates templates and methodology from Cole Medin's context-engineering-intro repository, used with attribution under open source principles.

๐Ÿ“ž Support & Issues

  • Issues: Report bugs and feature requests via GitHub Issues

  • Discussions: Use GitHub Discussions for questions and ideas

  • Documentation: Comprehensive docs in the /docs directory (coming soon)


Made with โค๏ธ by the Locomotive Agency team, built upon Cole Medin's excellent foundation

Available Tools

9 tools
analyze_contextC

Analyze project context to recommend suitable templates and improvements

ParametersJSON Schema
NameRequiredDescriptionDefault
projectContextYesProject context to analyze

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It implies a read-only analysis but does not explicitly state side effects, return format, or how recommendations are delivered. Important details about expected output and runtime behavior are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no fluff. Every word earns its place, making it appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool accepts a complex nested context object, but the description does not explain what the agent should expect as output, how the analysis informs template selection, or why it is preferable to sibling tools. It is minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema gives a basic description for the single parameter ('Project context to analyze') and exposes nested fields. The tool description adds no extra meaning beyond that, so the baseline of 3 applies given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Analyze'), the resource ('project context'), and the outcome ('recommend suitable templates and improvements'). It distinguishes the tool from siblings that list or search templates, though 'improvements' is somewhat vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool over alternatives such as search_templates or generate_prp. There are no use-case hints, exclusions, or references to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_custom_templateC

Create a new custom PRP template

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTemplate name
tagsNoTemplate tags for categorization
categoryYesTemplate category
sectionsYesTemplate sections
descriptionYesTemplate description

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral disclosure burden. It only says 'Create' without mentioning side effects, permissions, reversibility, or what happens on duplicate names. This is a minimal and insufficient disclosure for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the verb and resource. Every word earns its place, and there is no unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no annotations, the description is too sparse to provide complete context. It fails to mention return values, creation behavior, or the significance of nested sections, leaving the agent with limited understanding beyond the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with all five parameters described directly in the input schema. The description adds no semantic information about parameters, but the schema already provides detailed meaning, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Create a new custom PRP template' with a clear verb and object, making the tool's purpose obvious. It distinguishes from sibling tools like list_templates and search_templates, but it does not explicitly contrast with potential 'create' variants or explain the 'PRP' term.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It lacks any context about prerequisites, appropriate scenarios, or comparisons to list_templates or update_prp.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_prpA

Generate a Product Requirements Prompt based on a template and project context with storage integration

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoTags for the generated PRP
authorNoAuthor of the generated PRP
categoryNoCategory for the generated PRPprp
filenameNoCustom filename for the generated PRP
projectIdNoProject ID for Archon integration
templateIdYesID of the template to use for generation
createTasksNoWhether to create Archon tasks from PRP sections
outputFormatNoOutput format for the generated PRPmarkdown
saveToArchonNoWhether to save to Archon if available
saveToStorageNoWhether to save the generated PRP to storage
customSectionsNoOptional custom sections to add to the PRP
projectContextYesContext information about the project

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It only vaguely mentions 'storage integration' but does not disclose that saveToStorage defaults to true, that Archon integration or task creation may occur, or any side effects/return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence, front-loaded with the action and object, and contains no fluff or repeated information from the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (12 parameters, nested objects, multiple integration flags) and no output schema or annotations, the one-sentence description is insufficient. It omits integration behavior, output/return details, and deeper guidance for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with detailed parameter descriptions. The tool description adds only general context (template, project context, storage integration) and does not enrich specific parameter semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a Product Requirements Prompt from a template and project context, with storage integration. This distinguishes it from siblings like validate_prp, list_prps, and update_prp.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case: generating a PRP from an existing template and project context. It does not explicitly name alternatives or exclusions, but the context is clear enough when compared to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_prpsC

List and search PRPs with advanced filtering and sorting capabilities

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoFilter PRPs by specific tags
limitNoMaximum number of PRPs to return
queryNoSearch query to filter PRPs by name or tags
offsetNoNumber of PRPs to skip
sortByNoField to sort bymodified
categoryNoFilter PRPs by category
dateRangeNoFilter PRPs by date range
sortOrderNoSort orderdesc
includeStatsNoInclude storage statistics
includeArchonStatusNoInclude Archon integration status

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. 'List and search' implies a read operation, but it does not explicitly state that it is safe, describe pagination behavior, or mention that includeStats and includeArchonStatus may trigger additional workload or external calls. The description is too thin to convey meaningful behavioral information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-formed sentence with no redundancy or fluff. It is appropriately concise and front-loaded with the core action and resource, though the phrase 'advanced filtering and sorting capabilities' is somewhat generic and could be more specific.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 10 parameters, nested objects, and no output schema, yet the description is only one line. It does not explain what PRPs are, what 'advanced filtering' entails, or what kind of results the agent should expect. The context provided by sibling tools suggests PRPs are a known entity, but the description itself is insufficient for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% description coverage for all 10 parameters, including defaults and enums, so the baseline is 3. The description's reference to 'advanced filtering and sorting capabilities' adds minimal semantic value beyond what the schema already documents, and does not explain parameter relationships or usage patterns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the verb (list and search) and the resource (PRPs), and distinguishes from sibling tools like list_templates by resource type. However, it lacks any definition or expansion of what PRPs are, which slightly reduces clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as generate_prp, update_prp, or search_templates. The description does not mention prerequisites, exclusions, or comparative scenarios, leaving the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_templatesA

List all available PRP templates with optional filtering by category

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoOptional category to filter templates

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose any behavioral traits such as whether this is a read-only operation, pagination limits, or response format. The description is too brief to provide meaningful transparency beyond the basic action of listing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, clear sentence that front-loads the core action and resource. Every word earns its place, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is low-complexity with one optional parameter and no output schema. The description adequately conveys that it returns a list of available templates, but it does not specify the return fields or any limitations (e.g., pagination). For a simple read tool, this is sufficient but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with descriptions, so the description adds little beyond what the schema already provides. The mention of 'optional filtering by category' aligns with the schema but introduces no new semantic detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'list' with a clear resource 'PRP templates' and mentions optional category filtering. It distinguishes itself from sibling tools like 'search_templates' (which implies broader searching) and 'list_prps' (likely a different resource).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need to list templates, but it does not explicitly state when to choose this over alternatives like search_templates. There is no exclusion or when-not-to-use guidance, but the intended use is reasonably clear from the context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manage_storageC

Manage storage operations including versioning, change tracking, conflicts, and integrations

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesStorage management action to perform
authorNoFilter by author
fileIdNoFile ID for file-specific operations
toDateNoEnd date for audit trail (ISO format)
fromDateNoStart date for audit trail (ISO format)
toVersionNoTarget version for diff/rollback operations
changeTypeNoFilter by change type
conflictIdNoConflict ID for resolution
diffFormatNoFormat for diff output
resolvedByNoPerson resolving the conflict
fromVersionNoStarting version for diff/rollback operations
createBackupNoWhether to create backup during operations
historyLimitNoNumber of history entries to return
historyOffsetNoOffset for history pagination
mergedContentNoManually merged content for conflict resolution
targetVersionNoTarget version for rollback
rollbackReasonNoReason for rollback
preserveChangesNoWhether to preserve changes during rollback
resolutionStrategyNoStrategy for resolving conflicts

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It fails to mention that actions like rollback, delete_prp, or resolve_conflict are likely destructive or have side effects. It also does not note prerequisites, permission needs, or return behavior. The phrase 'Manage storage operations' gives almost no behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single 12-word sentence, which is concise and front-loaded. However, it lacks structure and substance, providing only a high-level category list without examples or concrete details. It is efficient but under-specifies.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (19 parameters, 9 distinct actions, no output schema, no annotations), yet the description is far too brief. It does not explain how actions relate to parameters, which parameters are required for each action, or what the tool returns. This is insufficient for an agent to correctly select and invoke actions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 19 parameters are already documented in the schema. The description adds no parameter-specific detail; it only loosely aligns 'versioning, change tracking, conflicts' with some actions. This meets the baseline for schema-driven parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Manage storage operations' which identifies the domain but is vague about specific actions. It lists categories like versioning, change tracking, conflicts, and integrations, but does not provide a specific verb+resource or distinguish among the nine actions in the schema. It is somewhat differentiated from sibling tools that focus on templates and PRPs, but the purpose is still generic.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs alternatives. The description does not mention any exclusion criteria, alternative tools, or specific use cases for the various actions. This leaves the agent to infer usage from the schema alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_templatesA

Search for templates by name, description, or tags

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query string
categoryNoOptional category filter

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Search', which suggests a read-only operation, but it does not disclose return format, case sensitivity, pagination, or any potential side effects. This lack of behavioral detail is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the action and resource. It uses no unnecessary words and is easy to parse, making it appropriately sized for this simple search tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a simple search with two parameters and no output schema or annotations, the description provides the minimum viable information. However, it lacks context about result format, search behavior nuances, or integration with sibling tools, leaving it somewhat incomplete for an agent to fully understand what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides descriptions for both parameters (query and category), achieving 100% coverage. The description adds value by clarifying that the query searches across name, description, or tags, which goes beyond the schema's generic 'Search query string'. However, the category parameter remains only 'Optional category filter' with no further elaboration.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Search') and target ('templates'), and specifies that search can be performed by name, description, or tags. This distinguishes it from the sibling tool 'list_templates', which likely returns all templates without a search query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when searching for templates by name, description, or tags, but it does not explicitly state when to use this tool versus alternatives like list_templates. There are no 'when not to use' statements or reference to other tools, so guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_prpB

Update an existing PRP with change tracking and optional Archon synchronization

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID of the PRP to update
tagsNoUpdated tags for the PRP
authorNoAuthor of the changes
contentYesNew content for the PRP
categoryNoUpdated category for the PRP
createBackupNoWhether to create a backup before updating
updateArchonNoWhether to update Archon document if available
archonDocumentIdNoArchon document ID if updating in Archon
changeDescriptionNoDescription of the changes made

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It mentions change tracking and Archon sync but does not explain that this is a mutation operation, whether backups are created by default, or whether changes are reversible. The safety profile is unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the action and key differentiators. It includes no unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 9 parameters, no output schema, and no annotations, the description is minimal. It fails to clarify whether updates are partial or full, default behavior for backups, or what is returned. Significant gaps remain for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers all 9 parameters with descriptions, so high coverage gives a baseline of 3. The description adds context around change tracking and Archon sync but does not materially expand on parameter meanings beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates an existing PRP and highlights distinctive features (change tracking and Archon synchronization). This distinguishes it from siblings like generate_prp and validate_prp.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the action 'update existing PRP' but there is no explicit guidance on when to choose this over alternatives, nor exclusions. Sibling tools are contextually different, but no elaboration is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_prpC

Validate a PRP against context engineering best practices

ParametersJSON Schema
NameRequiredDescriptionDefault
prpContentYesThe PRP content to validate
templateIdNoOptional template ID to validate against

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It doesn't mention whether this is a read-only operation, what the output looks like, whether it modifies anything, or what happens on validation failure. This is a significant transparency gap for a tool that likely returns a validation report.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no fluff. It could be slightly longer to add behavioral context, but as far as conciseness, every word earns its place. Four is appropriate because it is effective yet minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, no annotations, and a terse description. It doesn't explain what validation entails, what the return value looks like, or how to interpret results. For a validation tool that likely produces a structured report, this is under-specified. The sibling tools don't provide enough contextual clues to compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters clearly described in the schema. The description adds no parameter-level detail, but that's acceptable given the schema fully documents the inputs. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (validate) and the resource (PRP) against a specific criterion (context engineering best practices). It's specific enough, though 'PRP' is an acronym that isn't expanded for a new user. It doesn't need to distinguish from siblings since no other validate tool exists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives like analyze_context or generate_prp. It doesn't state prerequisites, expected input format, or what to do with validation results. A user must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.3/5.0
Disambiguation4/5

Most tools have distinct purposes: analyze_context, generate_prp, validate_prp, etc. The only overlap is between list_templates and search_templates, which could cause confusion, but descriptions help differentiate browsing vs. searching.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (analyze_context, list_templates, generate_prp, etc.). No mixed conventions or vague verbs.

Tool Count5/5

9 tools is well within the ideal 3-15 range and each tool contributes to the template and PRP lifecycle. The count feels appropriate for the server's scope.

Completeness3/5

The tool surface covers template listing/searching/creation and PRP generation/validation/listing/update, but lacks delete operations for both templates and PRPs. Also, there is no direct 'get_prp' by ID, though list_prps may suffice. These are notable gaps for a management server.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A code ingestion tool that transforms your code into AI-optimized prompts instantly. Gather the relevant context with code2prompt under the hood. Learn more at code2prompt.dev
    7,621
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Intelligently analyzes codebases to enhance LLM prompts with relevant context, featuring adaptive context management and task detection to produce higher quality AI responses.
    2
  • F
    license
    A
    quality
    C
    maintenance
    Refines and improves AI prompts using workspace-aware context from your project's tech stack, structure, and dependencies. Includes tools to analyze prompt quality and generate well-structured prompts from raw ideas.
    4
    209
    5
  • A
    license
    A
    quality
    B
    maintenance
    Automatically generates and manages a prompts system for software projects, enabling persistent context for AI coding assistants through project scanning, requirement clarification, and module tracking.
    8
    17
    MIT

Latest Blog Posts

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/croakingtoad/context-engineering-mcp'

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