A side-by-side look at the Context Doctor and Promptlint MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Context Doctor for conversational ai work as a local process; choose Promptlint MCP for conversational ai as a local process. You can also run both side by side in one mcpServers block.
profile_context, optimize_context, pack_context.lint_prompt, trim_prompt.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Conversational AI | Conversational AI |
| Quality signal | 56/100 · Good | 51/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2 | 1 |
| Directory activity | 0 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 4 | 2 |
| Full listing | View Context Doctor | View Promptlint MCP |
profile_contextToken breakdown by category, largest messages, findings with estimated savings. Takes either `conversation` (full JSON or text) or `sketch` (turns + large/repeated blocks, for chat apps)optimize_contextRewrites the conversation: dedupe, trim stale tool results, strip base64, optional history pruningpack_contextOnly the chunks of large local files or folders (or passed `text`) that a question needs, within `max_tokens`; outline without a query; `ids` to fetch more. Reads no files over HTTPcontext_best_practicesCurated checklist, optionally specialized for Anthropic / OpenAIlint_promptTwo `text` content items: `[0]` human one-line summary (`"score: X/100 · issues: N · tokens: A → B …"`), `[1]` full JSON of the `lint()` result (parse with `JSON.parse(result.content[1].text)`).trim_promptTwo `text` content items: `[0]` the trimmed prompt, `[1]` a savings footer (`"Saved N tokens (P%). Original: A, trimmed: B."`). Does NOT resolve contradictions, redundancy, or ambiguity — run `lint_prompt` for those.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"context-doctor": {
"command": "npx",
"args": [
"-y",
"context-doctor"
]
}
}
}
{
"mcpServers": {
"promptlint-mcp": {
"command": "npx",
"args": [
"-y",
"-p",
"promptlint-mcp",
"promptlint"
]
}
}
}