A side-by-side look at the Context Doctor and Mdma 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 Mdma 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.get-spec, get-prompt, list-prompt-variants.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Conversational AI | Conversational AI |
| Quality signal | 56/100 · Good | 59/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 | 71 |
| Directory activity | 1 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 4 | 8 |
| Full listing | View Context Doctor | View Mdma |
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 / OpenAIget-specReturns the full MDMA specification: component types, JSON schemas, binding syntax, external data sources (`{ source, params }` refs and the `rows` / `series` / `options` kinds), and authoring rulesget-promptReturns a named prompt (`mdma-author`, `mdma-reviewer`, or `mdma-fixer`). For `mdma-author`, accepts an optional `variantId` (e.g. `google/gemini-2.5-pro`) to return the model-optimised variantlist-prompt-variantsReturns all available `MDMA_AUTHOR` prompt variants (id, label, description) — use the id with `get-prompt` to fetch the model-optimised promptbuild-system-promptGenerates a custom MDMA prompt from structured input (domain, components, fields, steps, business rules). Pass `dataSources` (an external data-source catalog of `rows` / `series` / `options` entries) to get the full system prompt with the catalog and the rule to reference data via `{ source, params…validate-promptValidates a custom prompt against MDMA conventions — returns warnings, suggestions, and constraint referencelist-packagesReturns all MDMA packages with purpose, install command, and usage examplelist-docsReturns the catalog of MDMA documentation files (path, title, description) available for fetching from the public GitHub repoget-docFetches the latest version of an MDMA documentation file from `raw.githubusercontent.com/MobileReality/mdma`. Supports optional `ref` (branch/tag/SHA, defaults to `main`)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": {
"mdma": {
"command": "npx",
"args": [
"-y",
"@mobile-reality/mdma-cli"
]
}
}
}