Skip to main content
Glama

draft-mcp-server

Review AI-generated drafts before they go anywhere.

When your AI assistant writes a PR description, ticket, or message, this MCP server opens a review window first. You see a live preview, make edits if needed, and approve or reject.

Review UI Demo

Setup

Claude Code:

claude mcp add draft-mcp-server -- npx draft-mcp-server

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "draft-mcp-server": {
      "command": "npx",
      "args": ["draft-mcp-server"]
    }
  }
}

Related MCP server: GitLab MCP Server

Usage

Ask your assistant to draft something:

"Draft a PR description for the auth changes"
"Write a Linear ticket for the login bug"
"Draft a Slack message about the release"

The review window opens. Edit the text on the left, see the preview on the right. Click Approve or press ⌘ Enter.

Keyboard shortcuts

  • ⌘ Enter / Ctrl Enter — Approve

  • Esc — Reject

  • ⌘ C / Ctrl C — Copy to clipboard

License

MIT

Available Tools

1 tool
review_draftReview DraftA
Read-onlyIdempotent

Let the user review and edit a draft before it goes anywhere.

When creating PR descriptions, Linear tickets, Slack messages, or emails: call this tool first, then use the approved content with the target tool.

Opens a browser window with an editor and live preview. Blocks until the user approves or rejects.

On approve: proceed with the next step (create PR, post ticket, etc.) or copy to clipboard. On reject: ask the user what they'd like to change.

Examples:

  • review_draft(content="## Summary\n...", title="PR: Add auth", app="github", mcp="github:create_pull_request")

  • review_draft(content="Bug description...", title="Login bug", app="linear", mcp="linear:create_issue")

  • review_draft(content="Hello team...", title="Release announcement", app="slack")

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesThe full draft text to review
titleYesShort description of what this draft is
formatNoContent format: md, html, or plainmd
appNoTarget app for UI context hintsgeneric
mcpNoMCP tool to call next if approved (e.g. 'github:create_pull_request')

TDQS

A4.7/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds crucial behavioral details: 'Opens a browser window with an editor and live preview. Blocks until the user approves or rejects.' This discloses the interactive nature and UI behavior. It also explains the consequences of approval/rejection, which goes beyond annotations.

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 well-structured with a concise opening sentence, bullet points for outcomes, and clear examples. Every sentence adds value, and the length is appropriate for the complexity of the tool. It is front-loaded with the essential purpose.

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?

Given the interactive nature of the tool (no output schema), the description thoroughly covers the behavior: opening an editor, blocking for approval/rejection, and next steps. It also mentions clipboard fallback. The description is complete for the tool's complexity and context signals.

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?

Schema coverage is 100%, so the input schema already describes all parameters. The description adds value by providing examples showing how to use the parameters (e.g., app='github', mcp='github:create_pull_request') and context for 'format' and 'app'. This goes beyond the schema's descriptions, enhancing parameter understanding.

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 purpose: 'Let the user review and edit a draft before it goes anywhere.' It specifies the action (review and edit) and the resource (draft). There are no sibling tools to differentiate, but the description is specific and includes examples that reinforce the purpose.

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

Usage Guidelines5/5

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

The description explicitly states when to use the tool: 'When creating PR descriptions, Linear tickets, Slack messages, or emails: call this tool first, then use the approved content with the target tool.' It also explains the flow (blocks until approve/reject) and what to do on each outcome, providing clear usage guidance.

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. 1 tool updatev0.1.0
    • First observedreview_draft

TDQS

A4.7/5.0
Disambiguation5/5

Only one tool exists, so no risk of confusion between tools.

Naming Consistency5/5

The single tool name 'review_draft' follows a clear verb_noun pattern, which is consistent within the set.

Tool Count4/5

The server has exactly one tool, which is minimal but appropriate for a focused drafting/review utility. While the count is low, the purpose is narrow enough that it doesn't feel insufficient.

Completeness5/5

The server fully delivers on its stated purpose: providing a review step for drafts before sending to other tools. No additional tools are needed for this specific function.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

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/sgasser/draft-mcp-server'

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