AgentStack
MCP verified MIT Self-run

Claude Orator Mcp

mcp-vvkmnn-claude-orator-mcp Β· by Vvkmnn

πŸͺΆ An MCP server for prompt optimization in Claude Code

β€” No reviews yet
0 installs
12 views
0.0% view→install

Install

$ agentstack add mcp-vvkmnn-claude-orator-mcp

βœ“ scanned Β· βœ“ verified β€” works with Claude Code, Cursor, and more.

Security review

βœ“ Passed

No issues found. Passed automated security review. Β· v0.1.0 How review works β†’

  • βœ“ Prompt-injection patterns
  • βœ“ Secret / credential exfiltration
  • βœ“ Dangerous shell & filesystem operations
  • βœ“ Untrusted network calls
  • βœ“ Known-malicious package signatures

What it can access

  • βœ“ Network access No
  • βœ“ Filesystem access No
  • βœ“ Shell / process execution No
  • βœ“ Environment & secrets No
  • βœ“ Dynamic code execution No

From automated source analysis of v0.1.0. β€œUsed” means the capability is present in the source β€” more access means more to trust, not that it’s unsafe.

Are you the author of Claude Orator Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

claude-orator-mcp

An Model Context Protocol (MCP) server for deterministic prompt optimization in Claude Code. Score prompts across 7 quality dimensions, auto-select from 11 Anthropic techniques, and return a structural scaffold. No LLM calls, no network, sub-millisecond.

[](https://www.npmjs.com/package/claude-orator-mcp) [](https://opensource.org/licenses/MIT) [](https://www.typescriptlang.org/) [](https://nodejs.org/) [](#) [](https://github.com/Vvkmnn/claude-orator-mcp)


install

Requirements:

[](https://claude.ai/code)

From shell:

claude mcp add claude-orator-mcp -- npx claude-orator-mcp

From inside Claude (restart required):

Add this to our global mcp config: npx claude-orator-mcp

Install this mcp: https://github.com/Vvkmnn/claude-orator-mcp

From any manually configurable mcp.json: (Cursor, Windsurf, etc.)

{
  "mcpServers": {
    "claude-orator-mcp": {
      "command": "npx",
      "args": ["claude-orator-mcp"],
      "env": {}
    }
  }
}

There is no npm install required -- no external dependencies or databases, only deterministic heuristics.

However, if npx resolves the wrong package, you can force resolution with:

npm install -g claude-orator-mcp

[skill](.claude/skills/claude-orator)

Optionally, install the skill to teach Claude when to proactively optimize prompts:

npx skills add Vvkmnn/claude-orator-mcp --skill claude-orator --global
# Optional: add --yes to skip interactive prompt and install to all agents

This makes Claude automatically optimize prompts before dispatching subagents, writing system prompts, or crafting any prompt worth improving. The MCP works without the skill, but the skill improves discoverability.

plugin

For automatic prompt optimization with hooks and commands, install from the claude-emporium marketplace:

/plugin marketplace add Vvkmnn/claude-emporium
/plugin install claude-orator@claude-emporium

The claude-orator plugin provides:

Hooks (fires before subagent dispatch):

  • Before Task -- Suggest prompt optimization before launching agents

Commands: /reprompt-orator

Requires the MCP server installed first. See the emporium for other Claude Code plugins and MCPs.

features

MCP server with a single tool. Prompt in, optimized prompt out.

orator_optimize

Analyze a prompt across 7 quality dimensions, auto-select from 11 Anthropic techniques, and return a structurally optimized scaffold with before/after scores.

orator_optimize prompt="Write a function that sorts users"
  > Returns optimized scaffold with XML tags, output format, examples section

orator_optimize prompt="You are a helpful assistant" intent="system"
  > Returns role-assigned system prompt with structure and constraints

orator_optimize prompt="Extract all emails from this text" techniques=["xml-tags", "few-shot"]
  > Force-applies specific techniques regardless of auto-selection

Score meter (gradient fill bar):

πŸͺΆ 3.2 β–‘β–‘β–‘β–“β–“β–“β–“β–“β–“β–“β–“ 7.8
   +xml-tags +few-shot +structured-output Β· 3 issues
   Wrapped in XML tags, added examples, specified output format

Three-zone bar: β–‘β–‘β–‘ (baseline) β–“β–“β–“β–“β–“ (improvement) β–‘β–‘ (headroom to 10).

Minimal case (already well-structured):

πŸͺΆ ━━ already well-structured (8.4)

Input:

| Parameter | Type | Required | Description | | ------------ | -------- | -------- | -------------------------------------------------------------------------------------- | | prompt | string | Yes | The raw prompt to optimize | | intent | enum | No | code \| analysis \| creative \| extraction \| conversation \| system (auto-detected) | | target | enum | No | claude-code \| claude-api \| claude-desktop \| generic (default: claude-code) | | techniques | string[] | No | Force-apply specific technique IDs |

Output:

| Field | Type | Description | | -------------------- | -------- | ------------------------------------------ | | optimized_prompt | string | Rewritten prompt scaffold (primary output) | | score_before | number | Quality score of original (0-10) | | score_after | number | Quality score after optimization (0-10) | | summary | string | 1-line explanation of improvements | | detected_intent | string | Auto-detected intent category | | applied_techniques | string[] | Technique IDs applied | | issues | string[] | Detected problems | | suggestions | string[] | Actionable fixes |

The optimized_prompt is a structural scaffold. Claude refines it with domain knowledge, codebase context, and conversation history.

methodology

How claude-orator-mcp works:

                πŸͺΆ claude-orator-mcp
                ════════════════════

                   orator_optimize
                   ──────────────

                      PROMPT
                        β”‚
           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
           β–Ό                         β–Ό
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚  Detect   β”‚            β”‚  Measure   β”‚
     β”‚  Intent   β”‚            β”‚ Complexity β”‚
     β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜            β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
           β”‚                         β”‚
     system > code >           word count +
     extraction >              clause depth
     analysis >                      β”‚
     creative >                      β”‚
     conversation                    β”‚
     + disambiguation                β”‚
     + fallback heuristics           β”‚
           β”‚                         β”‚
           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚
                        β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚   Score Before    β”‚
              β”‚                   β”‚
              β”‚  clarity      20% β”‚  strong verbs, single task
              β”‚  specificity  20% β”‚  named tech, constraints
              β”‚  structure    15% β”‚  XML tags, headers, lists
              β”‚  examples     15% β”‚  input/output pairs
              β”‚  constraints  10% β”‚  scope, edge cases
              β”‚  output_fmt   10% β”‚  format specification
              β”‚  efficiency   10% β”‚  no filler, no redundancy
              β”‚                   β”‚
              β”‚  β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  3.2  β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚
                       β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       techniques?
              β”‚ Select Techniques │◄──── (force override)
              β”‚                   β”‚
              β”‚  when_to_use() Γ—  β”‚  11 predicates
              β”‚  intent match  Γ—  β”‚  filtered
              β”‚  score gaps    Γ—  β”‚  sorted by impact
              β”‚  cap at 4        β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚
                       β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚ Template Assembly β”‚
              β”‚                   β”‚
              β”‚  role preamble    β”‚  expert identity
              β”‚  β†’       β”‚  grounding data first
              β”‚  β†’          β”‚  XML-wrapped prompt
              β”‚  β†’  β”‚  constraints + gaps
              β”‚  β†’      β”‚  multishot I/O pairs
              β”‚  β†’ output format  β”‚  format specification
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚
                       β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚   Score After     β”‚
              β”‚                   β”‚
              β”‚  β–‘β–‘β–‘β–“β–“β–“β–“β–“β–“β–“β–‘β–‘ 7.8β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚
                       β–Ό
                    OUTPUT
              optimized_prompt
              + scores + techniques
              + issues + suggestions

     score meter (gradient fill bar):
     ─────────────────────────────────

     πŸͺΆ 3.2 β–‘β–‘β–‘β–“β–“β–“β–“β–“β–“β–“β–“ 7.8
        +xml-tags +few-shot +structured-output
        Wrapped in XML, added examples, format

     β–‘β–‘β–‘  baseline    β–“β–“β–“  improvement    β–‘β–‘  headroom

7 quality dimensions (weighted scoring, deterministic):

| Dimension | Weight | Measures | | ---------------- | ------ | --------------------------------------- | | Clarity | 20% | Strong verbs, single task, no hedging | | Specificity | 20% | Named tech, numbers, constraints | | Structure | 15% | XML tags, headers, lists | | Examples | 15% | Input/output pairs, demonstrations | | Constraints | 10% | Negative constraints, scope, edge cases | | Output Format | 10% | Format spec, structure definition | | Token Efficiency | 10% | No filler, no redundancy |

11 Anthropic techniques (auto-selected based on intent, scores, and complexity):

| ID | Name | Auto-selected when | | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | | chain-of-thought | Let Claude Think | Analysis intent, complex tasks | | xml-tags | Use XML Tags | Long prompt + low structure score | | few-shot | Multishot Examples | Low example score + extraction/code | | role-assignment | System Prompts & Roles | System intent or low specificity | | structured-output | Control Output Format | Low output format score | | prefill | Structured Output Format | API target + extraction/code | | prompt-chaining | Chain Complex Tasks | Complex + multiple subtasks | | uncertainty-permission | Say "I Don't Know" | Analysis or extraction intent | | extended-thinking | Extended Thinking | Complex + analysis/code intent | | long-context-tips | Long Context | Long prompt (>2000 chars or >50 lines) | | tool-use | Tool Use | Prompt mentions tool/function calling |

Core algorithms:

  • Intent detection (detectIntent): Priority-ordered regex patterns across 6 categories: system > code > extraction > analysis > creative > conversation. Includes disambiguation (e.g., system + code signals resolves to code) and fallback heuristics for code blocks, "build me" patterns, and debugging language.
  • Heuristic scoring (scorePrompt): 7-dimension weighted analysis. Each dimension 0-10, overall is weighted sum. Also generates flat issues[] and suggestions[] arrays.
  • Technique selection (selectTechniques): Each technique has a when_to_use() predicate. Auto-selected based on intent + scores + complexity. Sorted by impact, capped at 4.
  • Template assembly (optimize): Builds structural scaffold from selected techniques. Context-first ordering: role β†’ ` β†’ β†’ β†’ ` β†’ output format.

Design principles:

  • Single tool: one entry point, minimal cognitive overhead
  • Deterministic: same input, same output. No LLM calls, no network
  • Scaffold, not final: the optimized prompt is structural; Claude adds substance
  • Lean output: flat string arrays for issues/suggestions, no nested objects
  • Weighted dimensions: clarity and specificity matter most (20% each)
  • Technique cap: max 4 techniques per optimization (diminishing returns beyond)
  • Anti-pattern detection: 12 Claude-specific anti-patterns + 20 industry patterns from 34 production AI tools
  • Zero dependencies: only @modelcontextprotocol/sdk + zod

alternatives

Every existing prompt optimization tool requires LLM calls, labeled datasets, or evaluation infrastructure. When you need structural improvement at zero latency (CI/CD, subagent dispatch, offline), they cannot help.

| Feature | orator | DSPy | promptfoo | TextGrad | OPRO | LLMLingua | Anthropic Generator | | ---------------------- | ----------------------- | -------------- | --------------- | -------------- | -------------- | -------------- | ------------------- | | Zero latency | **Yes (=20.0.0 (ES modules)

  • Runtime: @modelcontextprotocol/sdk, zod
  • Zero external databases: works with npx

Development workflow:

npm run build          # TypeScript compilation with executable permissions
npm run dev            # Watch mode with tsc --watch
npm run start          # Run the MCP server directly
npm run lint           # ESLint code quality checks
npm run lint:fix       # Auto-fix linting issues
npm run format         # Prettier formatting (src/)
npm run format:check   # Check formatting without changes
npm run typecheck      # TypeScript validation without emit
npm run test           # Lint + type check + vitest (25 tests)
npm run prepublishOnly # Pre-publish validation (build + lint + format:check)

Git hooks (via Husky):

  • pre-commit: Auto-formats staged .ts files with Prettier and ESLint

Contributing:

  • Fork the repository and create feature branches
  • Follow TypeScript strict mode and MCP protocol standards

Learn from examples:

acknowledgments

Industry pattern

…

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source β€” we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet β€” be the first.

Versions

  • v0.1.0 Imported from the upstream source.