dobbe

MCP Integrations

dobbe auto-discovers MCP (Model Context Protocol) servers from your Claude Code configuration and uses them for enhanced capabilities.

What Are MCPs?

MCP servers are plugins that extend Claude Code’s capabilities by providing access to external APIs and services. When Claude Code is configured with MCP servers, dobbe detects them and includes the corresponding tools in agent prompts.

How dobbe Discovers MCPs

dobbe reads MCP configuration from two locations:

  1. User-level: ~/.claude/settings.jsonmcpServers section
  2. Project-level: .claude/settings.jsonmcpServers section

It also checks enabledPlugins in both files.

Each server name, command, and args are matched against known patterns to classify which service it provides. Results are cached for the session.

In addition, dobbe discovers MCP servers installed by marketplace plugins via discover_plugin_mcp_prefixes(). This function reads ~/.claude/plugins/installed_plugins.json, inspects each plugin’s .mcp.json, cross-references with enabledPlugins, and returns tool prefix globs for any plugin-installed servers not already covered by the built-in known MCPs. This allows dobbe to dynamically support new MCP integrations without code changes.

Supported MCPs

GitHub

Detection patterns: name/command/args containing “github”

Tool prefix: mcp__github__*

What it enables:

Fallback behavior: When the GitHub MCP is not available, dobbe instructs Claude to use gh api commands via the Bash tool. This is slower but functionally equivalent.

Used by: vuln scan, vuln resolve, review digest, review post, audit, deps, test, changelog, migration, metrics, workflow

Slack

Detection patterns: name/command/args containing “slack”, or enabledPlugins entry containing “slack”

Tool prefix: mcp__claude_ai_Slack__*

What it enables:

Setup: Configure the Slack MCP in Claude Code, then use --notify slack --channel "#your-channel" with any command that supports --notify.

Used by: vuln scan (with --notify slack), review digest (with --notify slack), audit (with --notify slack), deps (with --notify slack), incident (with --notify slack), insight (with --notify slack), metrics (with --notify slack), changelog (with --notify slack)

Atlassian / Jira

Detection patterns: name/command/args containing “atlassian”, “jira”, or “confluence”, or enabledPlugins entry containing “atlassian” or “jira”

Tool prefix: mcp__claude_ai_Atlassian__*

What it enables:

Setup: Configure the Atlassian MCP in Claude Code, then use --notify jira with any command that supports --notify.

Used by: vuln scan (with --notify jira), audit (with --notify jira), deps (with --notify jira), incident (with --notify jira), migration (with --notify jira), metrics (with --notify jira)

Sentry

Detection patterns: name/command/args containing “sentry”, or enabledPlugins entry containing “sentry”

Tool prefix: mcp__claude_ai_Sentry__*

What it enables:

Used by: incident triage (primary – required), incident resolve (primary – required), vuln scan, vuln resolve

Figma

Detection patterns: name/command/args containing “figma”, or enabledPlugins entry containing “figma”

Tool prefix: mcp__claude_ai_Figma__*

What it enables:

Used by: Currently discovered but not actively used by any command

Tool Prefix Mapping

When an MCP is discovered, dobbe adds its tool prefix to the --allowedTools list for relevant agents:

github       -> mcp__github__*
slack        -> mcp__claude_ai_Slack__*
atlassian    -> mcp__claude_ai_Atlassian__*
sentry       -> mcp__claude_ai_Sentry__*
figma        -> mcp__claude_ai_Figma__*
unknown      -> mcp__{name}__*
plugin MCP   -> mcp__plugin_{plugin_name}_{server_name}__*
user extra   -> (literal value from config.toml [tools] extra_allowed)

User-Configured Extra Tools

In addition to auto-discovered MCPs, you can explicitly allow extra tools via your config.toml:

[tools]
extra_allowed = [
    "mcp__my_custom_server__*",
    "mcp__internal_api__query",
]

These patterns are appended to the --allowedTools list alongside auto-discovered MCP prefixes and plugin MCP prefixes. This is useful for:

The get_extra_tools() function reads the [tools] extra_allowed list from config and returns it as-is. These are merged with auto-discovered prefixes in the discover_tools() helper that every command calls at startup.

Plugin MCP Discovery

The discover_plugin_mcp_prefixes() function handles MCP servers installed by Claude Code marketplace plugins:

  1. Reads ~/.claude/plugins/installed_plugins.json for the plugin registry
  2. For each plugin, reads .mcp.json at its install path (supports both {"mcpServers": {...}} wrapper and flat formats)
  3. Cross-references with enabledPlugins in ~/.claude/settings.json – only enabled plugins are included
  4. Skips servers already covered by the built-in known MCPs (github, slack, atlassian, sentry, figma) to avoid duplicate prefixes
  5. Returns tool prefix globs in the format mcp__plugin_{plugin_name}_{server_name}__*

Results are cached for the session. Call invalidate_plugin_mcp_cache() to force re-discovery.

Checking MCP Availability

Run dobbe doctor to see which MCPs are detected:

dobbe doctor

The doctor output includes checks for:

Or run dobbe setup which reports all discovered MCPs in Step 3.

Setting Up MCPs

GitHub MCP

Add to your Claude Code settings (~/.claude/settings.json):

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
      }
    }
  }
}

Slack MCP

Use Claude Code’s built-in Slack integration or add a custom MCP server. The built-in integration appears in enabledPlugins and is auto-detected.

Atlassian MCP

Use Claude Code’s built-in Atlassian integration or configure a custom MCP server. The built-in integration appears in enabledPlugins.

Sentry MCP

Use Claude Code’s built-in Sentry integration or configure a custom MCP server.

See Also