feat(mcp): point Claude Code MCP to fork#105
Conversation
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughThis pull request integrates Claude Code MCP (a forked Model Context Protocol) throughout the framework, adding setup scripts, configuration templates, and documentation to enable the Claude Code MCP server as an available integration option for agents and local development environments. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (5)
🧰 Additional context used📓 Path-based instructions (1).agent/scripts/*.sh⚙️ CodeRabbit configuration file
Files:
🧠 Learnings (4)📚 Learning: 2025-12-22T01:25:03.138ZApplied to files:
📚 Learning: 2025-12-22T01:24:53.937ZApplied to files:
📚 Learning: 2026-01-06T15:57:56.027ZApplied to files:
📚 Learning: 2026-01-06T15:57:56.027ZApplied to files:
🧬 Code graph analysis (1).agent/scripts/setup-mcp-integrations.sh (3)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🔇 Additional comments (7)
✏️ Tip: You can disable this entire section by setting Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello @marcusquinn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request integrates a custom forked version of the Claude Code MCP, enhancing the system's ability to perform Claude Code automation. The changes involve updating core scripts and documentation to reflect the new fork, providing clear installation and usage guidelines, and preparing configuration templates for seamless integration with various AI development environments. This ensures greater flexibility and control over Claude Code workflows within the existing tooling. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request successfully integrates a forked version of Claude Code MCP. The changes are comprehensive, covering configuration generation scripts, setup scripts, and documentation. My review focuses on improving the clarity of the documentation for local development and removing a piece of redundant code in a generation script. Overall, the changes are solid and well-executed.
|
|
||
| **One-time setup**: run `claude --dangerously-skip-permissions` and accept prompts. | ||
| **Upstream**: https://github.com/steipete/claude-code-mcp (revert if merged). | ||
| **Local dev (optional)**: clone the fork and swap the command to `./start.sh` for instant iteration. |
There was a problem hiding this comment.
The instruction for local development is a bit vague. It would be helpful to specify where the user should swap the command to make it easier for them to get started with local development. Consider clarifying that they need to edit their MCP configuration.
| **Local dev (optional)**: clone the fork and swap the command to `./start.sh` for instant iteration. | |
| **Local dev (optional)**: clone the fork and edit your MCP configuration (e.g., in `~/.config/opencode/opencode.json`) to use the local `./start.sh` script instead of the `npx` command for instant iteration. |
| # Claude Code MCP tools disabled globally (enable per-agent if needed) | ||
| if 'claude-code-mcp_*' not in config['tools']: | ||
| config['tools']['claude-code-mcp_*'] = False | ||
| print(" Added claude-code-mcp_* to tools (disabled globally, enabled for Build+/AI-DevOps)") |
There was a problem hiding this comment.
This block of code appears to be redundant and unreachable. The script already iterates over DEFAULT_TOOLS around line 425 and adds any missing tools to config['tools']. Since claude-code-mcp_* is now in DEFAULT_TOOLS, the condition 'claude-code-mcp_*' not in config['tools'] on line 487 will never be true. This block can be safely removed to improve code clarity.
| ``` | ||
|
|
||
| **Upstream**: https://github.com/steipete/claude-code-mcp (revert if merged). | ||
| **Local dev (optional)**: clone the fork and point the MCP command to `./start.sh`. |
There was a problem hiding this comment.
The instruction for local development is a bit vague. To improve clarity for users, it would be helpful to specify how to "point the MCP command to ./start.sh". You could mention that this involves editing their specific MCP configuration file.
| **Local dev (optional)**: clone the fork and point the MCP command to `./start.sh`. | |
| **Local dev (optional)**: clone the fork and edit your MCP configuration (e.g., in `~/.cursor/mcp.json` or `~/.config/opencode/opencode.json`) to replace the `npx` command with the path to the local `./start.sh` script. |
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Thu Jan 15 01:57:45 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
🤖 Augment PR SummarySummary: Updates the Claude Code MCP integration to point at a forked server for local automation via
🤖 Was this summary useful? React with 👍 or 👎 |
| # Source: https://github.com/marcusquinn/claude-code-mcp | ||
| # Upstream: https://github.com/steipete/claude-code-mcp (revert if merged) | ||
| config['mcp']['claude-code-mcp'] = { | ||
| "type": "local", |
There was a problem hiding this comment.
config['mcp']['claude-code-mcp'] is set unconditionally here, which will overwrite any existing user config (e.g., a local-dev ./start.sh command) every time this script runs. Consider only setting this block when the key is missing, consistent with the other MCP server sections.
🤖 Was this useful? React with 👍 or 👎
| if command -v claude &> /dev/null; then | ||
| claude mcp add claude-code-mcp "$mcp_command" | ||
| fi | ||
| print_success "Claude Code MCP setup complete!" |
…ps-to-use-my-forked-v
|
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Thu Jan 15 02:09:14 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.agent/scripts/generate-opencode-agents.sh (1)
509-523: Conflicting/redundant Claude Code MCP configuration block.This block (Lines 509-523) references the upstream package
@steipete/claude-code-mcp@1.10.12, but Lines 478-485 already unconditionally set the fork versiongithub:marcusquinn/claude-code-mcp.Because Line 481 runs first and sets the key unconditionally, this conditional block at Line 512 will never execute. This appears to be either:
- A merge artifact that should be removed
- Intentional "fallback" code that's currently unreachable
Given the PR objective is to switch to the fork, this upstream block should likely be removed to avoid confusion and dead code.
🗑️ Suggested removal
-# Claude Code MCP - run Claude Code one-shot as MCP -# Docs: https://github.com/steipete/claude-code-mcp -# Note: this exposes tools as claude-code-mcp_* -if 'claude-code-mcp' not in config['mcp']: - config['mcp']['claude-code-mcp'] = { - "type": "local", - "command": ["npx", "-y", "@steipete/claude-code-mcp@1.10.12"], - "enabled": True - } - print(" Added claude-code-mcp MCP server") - -# Enabled globally (per user request) so all main agents can access it. -if 'claude-code-mcp_*' not in config['tools']: - config['tools']['claude-code-mcp_*'] = True - print(" Added claude-code-mcp_* to tools (enabled globally)")Note: If the intent was to enable
claude-code-mcp_*globally, that logic at Lines 520-523 would also need to be moved up to after Line 491, but verify this aligns with the desired behavior (Lines 489-491 already set it toFalseconditionally, and Line 262 inget_agent_configsets it toTruefor main agents).
♻️ Duplicate comments (4)
.agent/aidevops/mcp-integrations.md (1)
98-108: Claude Code MCP fork documentation looks good overall.The setup instructions are clear, with proper upstream reference and one-time setup guidance. The inclusion of the
--dangerously-skip-permissionsrequirement is important for users to know upfront.However, the local dev instruction on Line 107 remains vague about where to swap the command. Consider specifying the configuration file location (e.g.,
~/.config/opencode/opencode.jsonor~/.cursor/mcp.json).📝 Suggested improvement
-**Local dev (optional)**: clone the fork and swap the command to `./start.sh` for instant iteration. +**Local dev (optional)**: clone the fork and edit your MCP configuration (e.g., `~/.config/opencode/opencode.json`) to use `./start.sh` instead of the `npx` command for instant iteration..wiki/MCP-Integrations.md (1)
245-268: Well-structured Claude Code MCP documentation section.The section follows the established pattern for other MCP servers with installation, upstream reference, one-time setup, and use cases. Good consistency with the rest of the document.
The local dev instruction at Line 258 has the same vagueness issue as the other documentation file—consider specifying which configuration file to edit.
.agent/scripts/setup-mcp-integrations.sh (1)
190-201: Success message is misleading when Claude CLI is absent.The
print_success "Claude Code MCP setup complete!"at Line 199 executes regardless of whether theclaude mcp addcommand actually ran. If the Claude CLI isn't installed, the user sees a success message but the MCP wasn't actually registered.🔧 Suggested fix for accurate feedback
if command -v claude &> /dev/null; then claude mcp add claude-code-mcp "$mcp_command" + print_success "Claude Code MCP setup complete!" + print_info "Use 'claude_code' tool to run Claude Code tasks" + else + print_warning "Claude CLI not found - MCP not registered. Install manually or add to your MCP config." fi - print_success "Claude Code MCP setup complete!" - print_info "Use 'claude_code' tool to run Claude Code tasks" ;;.agent/scripts/generate-opencode-agents.sh (1)
478-491: Unconditional config overwrite will clobber user customizations.Line 481 sets
config['mcp']['claude-code-mcp']unconditionally, which overwrites any existing user configuration (e.g., a local dev./start.shcommand) every time this script runs.For consistency with other MCP server blocks in this file (like
osgrep,dataforseo,serper), wrap this in a conditional check.🔧 Suggested fix for conditional assignment
# Claude Code MCP - forked for local automation # Source: https://github.com/marcusquinn/claude-code-mcp # Upstream: https://github.com/steipete/claude-code-mcp (revert if merged) -config['mcp']['claude-code-mcp'] = { - "type": "local", - "command": ["npx", "-y", "github:marcusquinn/claude-code-mcp"], - "enabled": True -} -print(" Ensured claude-code-mcp MCP server (forked)") +if 'claude-code-mcp' not in config['mcp']: + config['mcp']['claude-code-mcp'] = { + "type": "local", + "command": ["npx", "-y", "github:marcusquinn/claude-code-mcp"], + "enabled": True + } + print(" Added claude-code-mcp MCP server (forked)")
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
.agent/aidevops/mcp-integrations.md.agent/scripts/generate-opencode-agents.sh.agent/scripts/setup-mcp-integrations.sh.wiki/MCP-Integrations.mdconfigs/mcp-templates/claude-code-mcp.json
🧰 Additional context used
📓 Path-based instructions (1)
.agent/scripts/*.sh
⚙️ CodeRabbit configuration file
.agent/scripts/*.sh: Automation scripts - focus on:
- Reliability and robustness
- Clear logging and feedback
- Proper exit codes
- Error recovery mechanisms
Files:
.agent/scripts/generate-opencode-agents.sh.agent/scripts/setup-mcp-integrations.sh
🧠 Learnings (4)
📚 Learning: 2025-12-22T01:25:03.138Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: templates/home/git/AGENTS.md:0-0
Timestamp: 2025-12-22T01:25:03.138Z
Learning: Store API Keys and Tokens in ~/.config/aidevops/mcp-env.sh with file permissions set to 600 (owner read/write only)
Applied to files:
configs/mcp-templates/claude-code-mcp.json
📚 Learning: 2025-12-22T01:24:53.937Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: templates/home/AGENTS.md:0-0
Timestamp: 2025-12-22T01:24:53.937Z
Learning: Follow all security protocols and working directory specifications defined in ~/Git/aidevops/AGENTS.md
Applied to files:
.wiki/MCP-Integrations.md.agent/scripts/generate-opencode-agents.sh
📚 Learning: 2026-01-06T15:57:56.027Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-06T15:57:56.027Z
Learning: Applies to **/setup.sh : Deploy agents locally using ./setup.sh script
Applied to files:
.wiki/MCP-Integrations.md.agent/scripts/generate-opencode-agents.sh
📚 Learning: 2026-01-06T15:57:56.027Z
Learnt from: CR
Repo: marcusquinn/aidevops PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-06T15:57:56.027Z
Learning: Store secrets in ~/.config/aidevops/mcp-env.sh with 600 permissions, never commit credentials
Applied to files:
.agent/scripts/generate-opencode-agents.sh
🧬 Code graph analysis (1)
.agent/scripts/setup-mcp-integrations.sh (3)
.agent/scripts/dspyground-helper.sh (3)
print_info(16-16)print_warning(18-18)print_success(17-17).agent/scripts/sonarcloud-autofix.sh (3)
print_info(18-18)print_warning(20-20)print_success(19-19).agent/scripts/validate-mcp-integrations.sh (3)
print_info(18-18)print_warning(20-20)print_success(19-19)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (7)
.agent/aidevops/mcp-integrations.md (1)
34-34: LGTM!The quick reference correctly notes this is a forked server, providing clear context at a glance.
.wiki/MCP-Integrations.md (1)
358-360: LGTM!Quick setup command is consistent with the pattern used for other MCP servers and correctly references
claude-code-mcp.configs/mcp-templates/claude-code-mcp.json (1)
1-60: Excellent multi-environment MCP template.This template provides clear, consistent configuration snippets for OpenCode, Cursor, Windsurf, Gemini CLI, and GitHub Copilot. The metadata comments with upstream reference and local dev notes are helpful.
A few observations:
- All configurations consistently use
["npx", "-y", "github:marcusquinn/claude-code-mcp"]- The
_noteabout--dangerously-skip-permissionsis important context- Good use of
_filehints to show users where each config belongs.agent/scripts/setup-mcp-integrations.sh (2)
39-39: LGTM!The
get_mcp_commandcase correctly returns the npx command for the forked repository.
51-51: LGTM!
claude-code-mcpcorrectly added toMCP_LISTfor discoverability..agent/scripts/generate-opencode-agents.sh (2)
124-132: LGTM!Build+ and AI-DevOps agents correctly receive
claude-code-mcp_*: Trueto enable Claude Code MCP tools.
171-173: LGTM!Sensible default of
Falseforclaude-code-mcp_*in DEFAULT_TOOLS—agents must explicitly opt-in.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.



Summary
npxTesting
bash .agent/scripts/linters-local.shNotes
origin/mainfor audit trailSummary by CodeRabbit
New Features
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.