Skip to main content
Glama

Prose Coach

Server Details

Deterministic writing filter. Marks 43 AI patterns with the line and the fix.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL

TDQS

A4.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of overlapping purposes or confusion between tools. The tool's purpose is uniquely defined within the server.

Naming Consistency5/5

The single tool name 'scan_draft' follows a clear verb_noun pattern, and since there is only one name, consistency is trivially upheld.

Tool Count3/5

The server has exactly one tool, which is borderline thin even if the tool's scope is well-defined. It serves a narrow purpose but feels slightly under-equipped for the 'Prose Coach' label.

Completeness4/5

The tool thoroughly covers the stated function of scanning drafts for AI patterns and returning fixes, leaving no dead ends for that specific task. However, a coach might realistically benefit from additional capabilities like batch scanning or detailed style reports, so a minor gap exists.

Available Tools

1 tool
scan_draftScan a draft for AI writing patternsA
Read-onlyIdempotent
Inspect

Scan a draft for the patterns that make writing read as AI-generated: banned vocabulary, structural tells (triplets, negation formulas, summary closers, colon chains, flat rhythm), and pattern density scored against the accumulation threshold. Deterministic — the same text always returns the same findings. Run this before showing the user any outward-facing draft: an email, a post, a cover letter, marketing copy, a blog article. Returns each finding with the evidence quoted from the text and the fix.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe draft to scan. Paste the prose itself, not a summary of it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
wordsNoWord count of the scanned draft.
reasonNoQuota that refused the scan: daily_drafts or rescan_cap.
limitedNoTrue when the scan was refused by a quota.
verdictNoVerdict band: low, light, moderate, or heavy.
findingsNoPRO tier: each fired rule with severity and hit count.
burstinessNoSentence-rhythm variation, 0-10.
totalMarkersNoTotal AI-pattern markers found.
verdictLabelNoHuman-readable verdict.
densityPer100NoMarkers per 100 words.
draftsRemainingNoFree-tier drafts left today.
bannedVocabCountNoFree tier: banned vocabulary patterns detected.
structuralTellCountNoFree tier: structural tells detected.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already mark readOnly/idempotent/non-destructive. The description adds determinism ('same text always returns the same findings') and the output shape ('each finding with evidence quoted... and the fix'), which enriches the behavioral picture beyond the structured hints, though scoring thresholds are left 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?

Three sentences, each with a distinct purpose: define scope, state determinism, and provide usage timing plus result summary. No filler or redundancy; the core purpose is 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?

For a single-parameter, read-only tool with an output schema, the description covers purpose, usage timing, determinism, and result structure. Nothing an agent needs to invoke it correctly is missing.

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% and the only parameter 'text' already has a strong description in the schema ('Paste the prose itself, not a summary of it'). The tool description restates the draft concept but doesn't add new parameter-level meaning, so baseline 3 applies.

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?

Explicitly names the action (Scan) and the resource (a draft), then enumerates the specific pattern categories detected: banned vocabulary, structural tells, and pattern density. The title aligns with the description, and with no sibling tools there's no differentiation burden.

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?

Gives an explicit 'Run this before...' directive with concrete examples (email, post, cover letter, marketing copy, blog article). While no alternatives exist, the usage context is unambiguous and actionable.

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.

  1. 1 tool update
    • Changedscan_draft1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "bannedVocabCount": {
        +      "description": "Free tier: banned vocabulary patterns detected.",
        +      "type": "number"
        +    },
        +    "burstiness": {
        +      "description": "Sentence-rhythm variation, 0-10.",
        +      "type": "number"
        +    },
        +    "densityPer100": {
        +      "description": "Markers per 100 words.",
        +      "type": "number"
        +    },
        +    "draftsRemaining": {
        +      "description": "Free-tier drafts left today.",
        +      "type": "number"
        +    },
        +    "findings": {
        +      "description": "PRO tier: each fired rule with severity and hit count.",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "count": {
        +            "type": "number"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "severity": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "severity",
        +          "count"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "limited": {
        +      "description": "True when the scan was refused by a quota.",
        +      "type": "boolean"
        +    },
        +    "reason": {
        +      "description": "Quota that refused the scan: daily_drafts or rescan_cap.",
        +      "type": "string"
        +    },
        +    "structuralTellCount": {
        +      "description": "Free tier: structural tells detected.",
        +      "type": "number"
        +    },
        +    "totalMarkers": {
        +      "description": "Total AI-pattern markers found.",
        +      "type": "number"
        +    },
        +    "verdict": {
        +      "description": "Verdict band: low, light, moderate, or heavy.",
        +      "type": "string"
        +    },
        +    "verdictLabel": {
        +      "description": "Human-readable verdict.",
        +      "type": "string"
        +    },
        +    "words": {
        +      "description": "Word count of the scanned draft.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
  2. 1 tool update
    • Changedscan_draft1 field changed
      • addedInput schema / properties / text / maxLength
        Added value: +12000
  3. 1 tool update
    • First observedscan_draft

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources