In-depth architectural comparison of the Octocode MCP and Mdma MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Octocode MCP
Version Control · Local stdio
Quality: 67/100 (Great) | Auth: API Key required
Mdma
Version Control · Local stdio
Quality: 65/100 (Great) | Auth: No auth required
Verdict Summary: Choose Octocode MCP if you need specialized Version Control tools running via a local process. Choose Mdma if your workspace requires Version Control integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Octocode MCP when:
You need dedicated capabilities in the Version Control domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (Free / Open Source).
AI-powered developer assistant that enables advanced research, analysis and discovery across GitHub and NPM realms in realtime.
MCP server for MDMA (interactive Markdown applications with mounted components). Exposes the MDMA spec, authoring prompts, package metadata, and live docs to AI assistants. Tools: get-spec, get-prompt, build-system-prompt, validate-prompt, list-packages, list-docs, get-doc. Install: npx @mobile-reality/mdma-mcp.
Category & Scope
Tools & Capabilities Breakdown
Octocode MCP Tools (17)
ghSearchCode
Code and path search across GitHub by owner, repository, path, filename, extension, and match filters. Accepts 1 to 5 parallel queries.
ghGetFileContent
Read a GitHub file or region: full file, line range, match slice, or paginated chars.
ghViewRepoStructure
Browse a repository's directory tree, plus opt-in repository enrichments.
Octocode MCP is categorized under Version Control and uses a local stdio subprocess. In contrast, Mdma belongs to Version Control using local stdio subprocess. Select Octocode MCP when you need capabilities focused on version control and Mdma when you require tools for version control.
Search issues, or read one issue's body and comments.
ghSearchCommits
Walk a repository's commit history, or compare two refs (`base`+`head`).
ghListReleases
List releases and the latest stable release, with opt-in assets. **Opt-in** (see [Tools](#tools) for the flags).
ghSearchDiscussions
Search a repository's Discussions (Q&A, RFCs, announcements) through GraphQL. **Opt-in** (see [Tools](#tools) for the flags).
ghCloneRepo
Clone a repository or sparse subtree into the local cache for local and LSP analysis. **Opt-in** on MCP (`ENABLE_CLONE=true`); on by default in the CLI.
localSearchCode
Local code/text search returning file and line anchors. `mode:"structural"` runs Octocode AST shape queries (`pattern` or `rule`).
localViewStructure
Browse a local directory tree: depth, filters, pagination, metadata.
+5 more tools listed on main page
Mdma Tools (8)
get-spec
Returns the full MDMA specification: component types, JSON schemas, binding syntax, and authoring rules
get-prompt
Returns 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 variant
list-prompt-variants
Returns all available `MDMA_AUTHOR` prompt variants (id, label, description) — use the id with `get-prompt` to fetch the model-optimised prompt
build-system-prompt
Generates a custom MDMA prompt from structured input (domain, components, fields, steps, business rules)
validate-prompt
Validates a custom prompt against MDMA conventions — returns warnings, suggestions, and constraint reference
list-packages
Returns all MDMA packages with purpose, install command, and usage example
list-docs
Returns the catalog of MDMA documentation files (path, title, description) available for fetching from the public GitHub repo
get-doc
Fetches the latest version of an MDMA documentation file from `raw.githubusercontent.com/MobileReality/mdma`. Supports optional `ref` (branch/tag/SHA, defaults to `main`)