npm package: @n0zer0d4y/mercury-spec-ops
Description: A modular TypeScript Model Context Protocol (MCP) server for specialized software development analysis and prompt engineering with programmatic prompt assembly
Author: n0zer0d4y
Latest version: 0.1.2

# Mercury Spec Ops - MCP Server: Prompts and Resources as **_Tools_**

![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)
![MCP Dev](https://badge.mcpx.dev?type=dev "MCP Dev")
[![MCP Server](https://badge.mcpx.dev?type=server "MCP Server")](https://modelcontextprotocol.io)
[![MCP Server with Tools](https://badge.mcpx.dev?type=server&features=tools "MCP server with tools")](https://modelcontextprotocol.io)
[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**The first MCP server to expose dynamic, AI-invocable tools for prompt generation and template assembly.**

Transform how AI assistants interact with specialized content. Instead of static prompts and resources, Mercury Spec Ops provides **6 programmable tools** that enable AI to dynamically generate technology-specific prompts and comprehensive templates on-demand. Built on a sophisticated modular architecture with **31 technology stacks**, **10 analysis dimensions**, and **34 template sections**—all accessible through simple tool calls.

## Features

This MCP server provides a modular, extensible architecture with:

### Prompts (Enhanced with Enum Support)

1. **PRD Prompt** - Generate Product Requirements Document with modular technology-specific analysis
2. **Codebase Analysis Prompt** - Analyze codebases with modular technology/focus-specific analysis
3. **Bug Analysis Prompt** - Analyze bugs with modular severity/technology-specific analysis

### Resources (Modular Templates)

1. **PRD Template** - Modular PRD template with technology-specific sections
2. **Codebase Analysis Template** - Modular codebase analysis template with technology/focus-specific sections
3. **Bug Analysis Template** - Modular bug analysis template with severity/technology-specific sections

## Key Capabilities

### Enum-Based Input Validation

- **Technology Stack** (31 total):
  - **Languages** (11): JavaScript, TypeScript, Python, Java, Go, Rust, C#, PHP, Ruby, Swift, Kotlin
  - **Runtimes** (1): Node.js
  - **Frontend** (3): React, Angular, Vue
  - **Backend** (7): Express, NestJS, Django, Flask, Spring, Laravel, Rails
  - **Databases** (4): MongoDB, PostgreSQL, MySQL, Redis
  - **Cloud** (3): AWS, Azure, GCP
  - **DevOps** (2): Docker, Kubernetes
- **Analysis Focus** (10 total): architecture, security, performance, testing, documentation, maintainability, scalability, reliability, code-quality, dependencies
- **Bug Severity** (4 total): low, medium, high, critical
- **Target Audience**: developers, business-users, enterprise, startup, healthcare, finance, and more

### Programmatic Prompt Assembly

- Base prompts + 31 technology modules + 10 focus modules + 4 severity modules
- Automatic module selection based on input parameters
- Priority-based module ordering
- **Multi-value support**: Analyze multiple technologies and focus areas simultaneously
- **Comma-separated input**: "node.js,react,postgresql" or "security,performance,code-quality"
- Custom instruction integration
- Intelligent fallback to base prompts

### Modular Template System

- Template sections with dependency resolution
- Technology-specific template sections
- Focus-specific template sections
- Custom section support

## Installation

### Option 1: Local Development

1. Clone and install dependencies:

```bash
git clone https://github.com/n0zer0d4y/mercury-spec-ops.git
cd mercury-spec-ops
npm install
npm run build
```

2. Run the server locally:

```bash
npm run mcp
```

### Option 2: Install from npm

```bash
npm install -g @n0zer0d4y/mercury-spec-ops
```

Or use directly with `npx` (no installation required):

```bash
npx @n0zer0d4y/mercury-spec-ops
```

## Usage

### Integration with MCP Clients

Configure the server in your MCP client (Claude Desktop, Cursor, etc.):

#### Using npx (Recommended - No Installation)

**For Claude Desktop** (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "mercury-spec-ops": {
      "command": "npx",
      "args": ["-y", "@n0zer0d4y/mercury-spec-ops"]
    }
  }
}
```

**For Cursor** (`~/.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "mercury-spec-ops": {
      "timeout": 60,
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@n0zer0d4y/mercury-spec-ops"]
    }
  }
}
```

#### Using Local Installation

**For Claude Desktop** (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "mercury-spec-ops": {
      "command": "node",
      "args": ["/path/to/mercury-spec-ops/dist/src/server.js"]
    }
  }
}
```

**For Cursor** (`~/.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "mercury-spec-ops": {
      "timeout": 60,
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/mercury-spec-ops/dist/src/server.js"]
    }
  }
}
```

**Windows Local Path Example** (Cursor):

```json
{
  "mcpServers": {
    "mercury-spec-ops": {
      "timeout": 60,
      "type": "stdio",
      "command": "node",
      "args": [
        "C:\\Development\\Projects\\MCP-Servers\\mercury-spec-ops\\dist\\src\\server.js"
      ]
    }
  }
}
```

**Important Notes:**

- **npx**: Automatically fetches the latest version from npm (recommended for most users)
- **Local**: Replace the path with your actual project location and run `npm run build` first
- **Restart**: Restart your MCP client after configuration changes

## Workflow Examples

### Example 1: Enhanced Codebase Analysis

1. **User Prompt**: "Analyze this Node.js/TypeScript codebase focusing on security and performance"
2. **Claude Desktop Action**:
   - Calls the `codebase-analysis-prompt` with technology_stack: "node.js,typescript" and analysis_focus: "security,performance"
   - System programmatically assembles: base prompt + Node.js module + TypeScript module + security module + performance module
   - The prompt instructs Claude to first read the `resource://codebase-analysis-template`
   - Template builder assembles: base template + Node.js sections + TypeScript sections + security sections + performance sections
   - Claude reads the dynamically assembled template
   - Claude analyzes the codebase and generates a comprehensive technology-specific report

### Example 2: Enhanced Bug Analysis

1. **User Prompt**: "Analyze this critical security bug in React application"
2. **Claude Desktop Action**:
   - Calls the `bug-analysis-prompt` with technology_stack: "react", severity_level: "critical", and bug_type: "security"
   - System assembles: base prompt + React module + security module + critical severity module
   - Template includes: general sections + React-specific + security-specific + critical-severity sections
   - Claude reads the bug analysis template
   - Claude analyzes the bug and generates a comprehensive technology and severity-specific report

### Example 3: PRD Generation with Technology Support

1. **User Prompt**: "Help me create a PRD for a React-based task management application"
2. **Claude Desktop Action**:
   - Calls the `prd-prompt` with project details and technology_stack: "react"
   - System assembles: base prompt + React module
   - Template builder includes: base PRD template + React-specific considerations
   - Claude reads the technology-enhanced PRD template
   - Claude generates a comprehensive PRD with React-specific sections

## Prompt Details

### PRD Prompt

- **Name**: `prd-prompt`
- **Arguments**:
  - `project_name` (required): Name of the software project
  - `project_description` (required): Brief description of the project
  - `target_audience` (optional): Target audience for the product (enum values)
  - `project_type` (optional): Type of project (enum values)
  - `key_features` (optional): Key features to include in the PRD
  - `technology_stack` (optional): Technology stack to be used (enum values)
  - `custom_instructions` (optional): Custom instructions for PRD generation

### Codebase Analysis Prompt

- **Name**: `codebase-analysis-prompt`
- **Arguments**:
  - `repository_path` (required): Path to the repository to analyze
  - `technology_stack` (required): Technology stack used in the codebase (enum values)
  - `analysis_focus` (optional): Focus areas for analysis (enum values)
  - `custom_instructions` (optional): Custom instructions for codebase analysis

### Bug Analysis Prompt

- **Name**: `bug-analysis-prompt`
- **Arguments**:
  - `repository_path` (required): Path to the repository with bugs to analyze
  - `bug_description` (required): Description of the bug or issue to analyze
  - `affected_components` (optional): Components affected by the bug
  - `severity_level` (optional): Severity level of the bug (enum values)
  - `bug_type` (optional): Type of bug (enum values)
  - `technology_stack` (optional): Technology stack used in the affected components (enum values)
  - `custom_instructions` (optional): Custom instructions for bug analysis

## Resource Details

### PRD Template

- **URI**: `resource://prd-template`
- **Format**: Markdown
- **Content**: Modular PRD template with technology-specific sections that dynamically assemble based on input parameters

### Codebase Analysis Template

- **URI**: `resource://codebase-analysis-template`
- **Format**: Markdown
- **Content**: Modular codebase analysis template with technology and focus-specific sections that assemble based on analysis parameters

### Bug Analysis Template

- **URI**: `resource://bug-analysis-template`
- **Format**: Markdown
- **Content**: Modular bug analysis template with severity and technology-specific sections that assemble based on bug parameters

## Development

### Project Structure

```
src/
├── server.ts                    # Main MCP server implementation
├── types/
│   ├── enums.ts                 # All enum definitions (31 tech + 10 focus)
│   └── index.ts                 # Type definitions and exports
├── prompts/
│   ├── modules/                 # 45 modular prompt components
│   │   ├── technology/          # 31 technology-specific modules
│   │   │   ├── languages/       # 11 language modules
│   │   │   ├── runtimes/        # 1 runtime module
│   │   │   ├── frameworks/      # 10 framework modules (3 frontend, 7 backend)
│   │   │   ├── databases/       # 4 database modules
│   │   │   ├── cloud/           # 3 cloud platform modules
│   │   │   └── tools/           # 2 DevOps tool modules
│   │   ├── analysis-focus/      # 10 focus-area modules
│   │   └── bug-severity/        # 4 severity-specific modules
│   ├── base-prompts/            # Base prompt templates
│   └── prompt-builder.ts        # Programmatic prompt assembly
├── resources/
│   ├── templates/               # Modular template components
│   │   ├── prd/                 # 10 PRD template modules
│   │   ├── codebase-analysis/   # 8 codebase analysis modules
│   │   └── bug-analysis/        # 4 bug analysis modules
│   └── template-builder.ts      # Programmatic template assembly
└── __tests__/                   # Comprehensive test suite (66 tests)
    ├── utils/                   # Utility function tests (enum parser)
    ├── prompts/                 # Prompt builder tests
    ├── resources/               # Template builder tests
    └── types/                   # Enum and type tests
```

### Testing

The project includes a comprehensive test suite with 88% coverage:

```bash
# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage report
npm run test:coverage

# Run tests with interactive UI
npm run test:ui

# Test MCP integration
npm run test:mcp
```

**Test Statistics**:

- 66 tests (100% passing)
- 88.48% overall coverage
- Statement coverage: 88.48%
- Line coverage: 88.70%

### Building for Production

```bash
npm run build
```

### Linting

```bash
npm run lint
```

## Extending the System

### Adding New Technology Modules

1. Add the technology to the `TechnologyStack` enum in `src/types/enums.ts`
2. Create a new module file in the appropriate category:
   - Languages: `src/prompts/modules/technology/languages/`
   - Frameworks: `src/prompts/modules/technology/frameworks/frontend/` or `backend/`
   - Databases: `src/prompts/modules/technology/databases/`
   - Cloud: `src/prompts/modules/technology/cloud/`
   - Tools: `src/prompts/modules/technology/tools/`
3. Implement the `TechnologyPromptModule` interface
4. Export from the category's `index.ts`
5. Register it in `prompt-builder.ts`
6. Add corresponding template sections in `src/resources/templates/`
7. Write tests in `src/__tests__/`

### Adding New Focus Areas

1. Add the focus area to the `AnalysisFocus` enum in `src/types/enums.ts`
2. Create a new module file in `src/prompts/modules/analysis-focus/`
3. Implement the `AnalysisFocusPromptModule` interface
4. Export from `analysis-focus/index.ts`
5. Register it in `prompt-builder.ts`
6. Add corresponding template sections
7. Write tests

### Adding New Severity Levels

1. Add the severity to the `BugSeverity` enum in `src/types/enums.ts`
2. Create a new module file in `src/prompts/modules/bug-severity/`
3. Implement the `BugSeverityPromptModule` interface
4. Register it in the prompt builder
5. Add corresponding template sections
6. Write tests

## Contributing

Contributions are welcome! Please follow these guidelines:

- Fork the repository and create a feature branch
- Follow existing code patterns and maintain test coverage above 85%
- Use [Conventional Commits](https://www.conventionalcommits.org/) format (feat, fix, docs, test, chore)
- Ensure all tests pass before submitting a pull request
- See [Extending the System](#extending-the-system) for adding new modules

Report issues on [GitHub Issues](https://github.com/n0zer0d4y/mercury-spec-ops/issues) with clear reproduction steps.

## License

This project is licensed under the MIT License - see [LICENSE](LICENSE) file for details.