Skip to main content
Glama

Promptest MCP

An MCP server that grades your AI prompts against Promptest's validated 5-category rubric, tracks what actually happened when you used them, and gives you guidance grounded in the CRG-RIS study of what really predicts good outcomes — not just what looks good on paper.

Why this exists

Promptest's rubric reliably scores prompt quality. But a CRG-RIS evaluation of that rubric found something more specific and more useful: overall score didn't predict cost or scope discipline on a real coding task — but whether the prompt named the bug's root cause and exact fix location did, by a wide margin (37–41% lower cost, and the only variant that avoided a security-flagged over-broad fix).

This MCP server bakes that finding directly into its guidance, and — because it's an MCP tool that lives inside your actual coding sessions — it can track your own real outcomes over time, not just score prompts in isolation the way the web app does.

Related MCP server: Prompt Auto-Optimizer MCP

Tools

  • grade_prompt — scores a prompt against the 5-category rubric, returns a grade, category breakdown, and guidance. Returns a taskId.

  • log_outcome — record what actually happened: did it work, how many turns did it take, did the fix stay in scope, did you name the root cause/location. Pass the taskId from grade_prompt.

  • get_prompting_history — your personal history and stats, including the CRG-RIS-validated comparison: average turns when you named the root cause/location vs. when you didn't.

  • explain_rubric — explains the rubric and the CRG-RIS findings without grading anything.

Install

1. Build

git clone https://github.com/cortexresearch/promptest-mcp.git
cd promptest-mcp
npm install
npm run build

2. Add to your MCP client config

Claude Code (.claude/settings.json or via claude mcp add):

{
  "mcpServers": {
    "promptest": {
      "command": "node",
      "args": ["/absolute/path/to/promptest-mcp/dist/index.js"],
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-..."
      }
    }
  }
}

Claude Desktop (claude_desktop_config.json): same shape, under mcpServers.

3. Set your API key

Set exactly one of these in the env block above, matching whichever provider you want as the judge:

Env var

Provider

ANTHROPIC_API_KEY

Anthropic (Claude)

OPENAI_API_KEY

OpenAI

GOOGLE_API_KEY

Google (Gemini)

OPENROUTER_API_KEY

OpenRouter (any model)

The server auto-detects which provider to use from whichever key is set. To force a specific provider or model, set PROMPTEST_PROVIDER (anthropic | openai | google | openrouter) and/or PROMPTEST_MODEL.

Your key never leaves your machine except to call the provider you chose. This server has no backend, sends nothing to Promptest or Cortex Research Group, and doesn't phone home.

Where your data lives

History is stored locally at ~/.promptest/history.json — plain JSON, nothing hidden, delete it any time to start fresh.

Background

  • Promptest — the web app this rubric was built for

  • CRG-RIS study — the research this MCP's guidance is grounded in, including the honestly-reported finding that the rubric's overall score alone didn't predict real-world cost, and what did

License

MIT

Available Tools

4 tools
explain_rubricExplain the prompting rubricA

Explains Promptest's 5-category rubric and the CRG-RIS study findings behind this MCP's guidance, without grading anything. Useful for understanding what the scores mean before you start.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It correctly describes the tool as non-grading and explanatory, but lacks additional details like idempotency or rate limits.

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, clear sentence with no unnecessary words, delivering essential information efficiently.

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

Completeness4/5

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

For a simple explanatory tool with no parameters and no output schema, the description covers the purpose and usage context adequately, though it could hint at the output format.

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?

There are no parameters, so the description need not explain parameter details. It adequately covers the tool's purpose, meeting the baseline for zero-parameter tools.

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 explains the rubric and study findings, and explicitly notes it does not grade anything, distinguishing it from the sibling 'grade_prompt' tool.

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?

It provides context for when to use ('before you start') but does not explicitly mention when not to use or offer alternatives beyond the implicit sibling distinction.

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

get_prompting_historyGet your prompting history and statsA

Returns your personal history of graded prompts and logged outcomes, plus aggregate stats (average score, success rate, and — the key CRG-RIS finding — average turns-to-resolve when you named the root cause/fix location vs. when you didn't).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of recent entries to return. Omit for all.

TDQS

A4.1/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It describes returned data including aggregate stats and a specific finding. Missing details like data freshness or pagination, but sufficient for a read operation.

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?

Single sentence front-loads purpose. Slightly long but contains essential information. No wasted words.

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

Completeness4/5

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

Simple tool with one optional param and no output schema. Description covers history and stats adequately. Lacks explanation of limit behavior if omitted, but schema covers it.

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?

Only one parameter (limit) with 100% schema coverage. Schema already provides description. Description does not add new semantic detail beyond output context.

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?

Clear verb 'Returns' with specific resource 'personal history of graded prompts and logged outcomes, plus aggregate stats'. Distinct from sibling tools explain_rubric, grade_prompt, log_outcome.

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?

Implies personal review use case. Does not explicitly state when to use vs siblings, but sibling names make differentiation clear. Lacks explicit exclusions.

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

grade_promptGrade a promptA

Scores a prompt you're about to send (or just sent) to an AI coding assistant against Promptest's validated 5-category rubric (Specificity, Clarity, Scope, Verification, Constraint Calibration). Returns an overall grade, category breakdown, and CRG-RIS-backed guidance. Returns a taskId — call log_outcome with that taskId once you know how it actually went, to build a personal track record of what your prompting style actually predicts.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptTextYesThe exact prompt text to grade.

TDQS

A4.1/5.0
Behavior3/5

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

Describes output (grade, breakdown, guidance, taskId) but no annotations exist. Lacks disclosure on side effects, safety, or rate limits. CRG-RIS term is unexplained.

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?

Two sentences: first defines purpose, second describes return values and follow-up. No fluff, front-loaded.

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

Completeness5/5

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

Despite no output schema, description fully covers return values (grade, breakdown, guidance, taskId) and next steps. Adequate for simple tool with one parameter.

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?

Single parameter promptText with schema description 'The exact prompt text to grade.' Schema covers 100%, description adds 'exact' nuance but no major additional semantics.

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?

Description clearly defines verb 'scores', resource 'prompt', and the rubric categories (Specificity, Clarity, Scope, Verification, Constraint Calibration). Distinguishes from sibling tools: explain_rubric, get_prompting_history, log_outcome.

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?

Indicates usage for prompts about to be sent or just sent. Provides actionable follow-up to call log_outcome. Does not explicitly state when not to use or exclude alternatives.

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

log_outcomeLog a real-world outcome for a graded promptA

Records what actually happened after a prompt (previously scored via grade_prompt) was used — whether it succeeded, how many turns/messages it took to resolve, whether the fix stayed in scope, and whether the prompt named the bug's root cause and location. This is the data that lets Promptest MCP tell you what actually predicts good outcomes for YOUR prompting style, not just what the rubric guesses in the abstract.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoAny free-text notes on what happened.
taskIdYesThe taskId returned by grade_prompt.
succeededNoDid the AI's response/fix actually work?
scopeCreepNoDid the AI change files/behavior beyond what was asked?
filesChangedNoList of files actually modified, if known.
turnsToResolveNoHow many back-and-forth turns/messages it took to reach a working result.
namedRootCauseAndLocationNoDid the ORIGINAL prompt explicitly name the root cause and where the fix belongs (not just what was wrong)? This is the single strongest predictor CRG-RIS found for lower cost and correctly-scoped fixes.

TDQS

A4/5.0
Behavior3/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 describes the logging action and data collected but does not disclose side effects, authentication needs, or rate limits. For a logging tool, the description is adequate but not rich; it assumes the agent understands it is write-only and non-destructive.

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?

Two sentences: the first enumerates key fields concisely, the second explains the strategic value. Every word contributes. No redundancy or filler.

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

Completeness4/5

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

Given 7 parameters, no output schema, and no annotations, the description adequately explains the tool's role in the workflow (post-grade_prompt), what data it collects, and why it matters. It could be improved by mentioning the return value (e.g., taskId or confirmation), but it is largely complete for a logging tool.

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% (all 7 parameters have descriptions). The tool description adds contextual value by explaining the significance of 'namedRootCauseAndLocation' as the strongest predictor, but it does not add new parameter details beyond what the schema already provides. Baseline 3 is appropriate.

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 ('records') and resource ('real-world outcome for a graded prompt'), listing concrete fields (succeeded, turns, scope creep, etc.). It clearly distinguishes from sibling 'grade_prompt' which scores before use, and explains the broader context of Promptest MCP analytics.

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 tool should be used after a prompt has been used and previously scored via grade_prompt. It also explains the value ('lets Promptest MCP tell you what actually predicts good outcomes'). However, it does not explicitly state when NOT to use it or name alternative tools for other scenarios.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv0.1.0
    • First observedexplain_rubric
    • First observedget_prompting_history
    • First observedgrade_prompt
    • First observedlog_outcome

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a distinct and non-overlapping purpose: explaining the rubric, retrieving history, grading a prompt, and logging outcomes. No ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with underscores (e.g., explain_rubric, grade_prompt), making them predictable.

Tool Count5/5

Four tools is an appropriate and focused number for the domain of prompt assessment and tracking, covering the essential workflow without being too sparse or excessive.

Completeness5/5

The tool surface covers the complete cycle: learn the rubric, grade a prompt, log the outcome, and review personal history. No obvious gaps.

Maintenance

ActivitySlowing
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

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that evaluates prompts using AI to provide detailed feedback on clarity, completeness, and effectiveness.
    5
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    This MCP server provides research-backed prompt optimization tools and professional domain templates designed to improve AI performance through strategies like Tree of Thoughts and Medprompt. It enables users to analyze, auto-optimize, and refine prompts using advanced reasoning patterns and safety-critical alignment techniques.
    24
    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/cortexresearch/promptest-mcp'

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