A side-by-side look at the Codescene MCP Server and Codemagic MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Codescene MCP Server for developer tools work as a local process; choose Codemagic MCP for developer tools as a local process. You can also run both side by side in one mcpServers block.
analyze_change_set, code_health_refactoring_business_case, code_health_review.CODEMAGIC_API_TOKEN, ASC_KEY_ID, ASC_ISSUER_ID, ASC_PRIVATE_KEY_B64, ASC_BYPASS_KEYCHAIN, GOOGLE_PLAY_SERVICE_ACCOUNT_CREDENTIALS.ping, list_applications, list_teams.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Developer Tools | Developer Tools |
| Quality signal | 65/100 · Great | 59/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Not declared | Free |
| Required env vars | None listed | CODEMAGIC_API_TOKENASC_KEY_IDASC_ISSUER_IDASC_PRIVATE_KEY_B64ASC_BYPASS_KEYCHAINGOOGLE_PLAY_SERVICE_ACCOUNT_CREDENTIALS |
| Verified owner | Community listing | Community listing |
| GitHub stars | 71 | 1 |
| Directory activity | 3 views 0 installs 0 upvotes | 4 views 0 installs 0 upvotes |
| Tools | 28 | 63 |
| Full listing | View Codescene MCP Server | View Codemagic MCP |
analyze_change_setRun a branch-level Code Health review for all files that differ between
current HEAD and base_ref.
When to use:
Use this as a local PR pre-flight check before opening a pull
request, so regressions are caught across the full change set.
Limitations:
- Requires a valid git repository path.
- base_ref must exist and be resolvable by git in that repository.
- Reviews only files that differ from base_ref.
- Output is JSON text from the CLI command.
The result can be used to decide whether to refactor before creating
or updating a pull request.
Returns:
A JSON object containing:
- quality_gates: the central outcome, summarizing whether the change
set passes or fails Code Health thresholds ("passed" or "failed").
- metadata: scope and coverage details from the CLI, including `status` plus file counts such as `checked-file-count`. Use this to distinguish an empty `results` array caused by checked files with no degradations from one caused by no applicable branch changes.
- results: an array of objects for each affected file with:
- name: the name of the file whose Code Health is impacted.
- verdict: "improved", "degraded", "stable", or "unknown".
- findings: an array describing improvements/degradation for each code smell.
Setup hints:
If the result contains `codescene_setup_hint`, do not mention that field.
Follow its `message`: briefly explain the benefit, ask permission to add
the suggested repository instructions, and wait before editing files.
On failure:
If this tool returns an error (e.g., the CLI cannot run, or base_ref
cannot be resolved by git), run the verify_installation tool to diagnose the
cause, then report the failing checks and how to fix them.
Example:
Compare against base_ref="main" for git_repository_path="/repo" and
fail the local PR check if any file verdict is "degraded".code_health_refactoring_business_caseGenerate a data-driven business case for refactoring a source file.
When to use:
Use this tool to justify refactoring investment with quantified
predictions tied to the file's current Code Health.
Limitations:
- Estimates are model-based projections, not guarantees.
- Evaluates one file at a time.
- Requires an analyzable source file.
Returns:
A JSON object with:
- scenario: Recommended target Code Health level.
- optimistic_outcome: Upper bound estimate for improvements
in development speed and defect reduction.
- pessimistic_outcome: Lower bound estimate for improvements.
- confidence_interval: The optimistic to pessimistic range,
representing a 90% confidence interval for the expected impact.
On failure:
If this tool returns an error (e.g., the CLI cannot run, or the file
cannot be analyzed), run the verify_installation tool to diagnose the
cause, then report the failing checks and how to fix them.
Example:
Call with file_path="/repo/src/service.py" and use the optimistic
and pessimistic outcomes to frame a refactoring proposal.code_health_reviewReview the Code Health of a single source file and return a detailed
CLI review output that includes the score and code smell findings.
When to use:
Use this tool when you need actionable maintainability diagnostics
for one file (not just the score).
Limitations:
- Analyzes one file at a time.
- Requires a supported source file.
- Returns CLI review text, not a normalized JSON schema.
Returns:
A review string from the CodeScene CLI. The output typically
includes a Code Health score and code smell details to explain
why the score is high or low.
The Code Health scores are interpreted as:
* Optimal Code: a Code Health 10.0 is optimized for both human and AI comprehension
* Green Code: high quality with a score of 9.0-9.9
* Yellow Code: problematic technical debt with a score of 4.0-8.9
* Red Code: severe technical debt, maintainability issues, and expensive onboarding with a score of 1.0-3.9
Setup hints:
If the result contains `codescene_setup_hint`, do not mention that field.
Follow its `message`: briefly explain the benefit, ask permission to add
the suggested repository instructions, and wait before editing files.
On failure:
If this tool returns an error (e.g., the CLI cannot run, or Code Health
cannot be computed), run the verify_installation tool to diagnose the
cause, then report the failing checks and how to fix them.
Example:
Call with file_path="/repo/src/app.py" and summarize the returned
smells into prioritized refactoring actions.code_health_scoreCalculate the Code Health score for a single source file.
The tool returns one numeric score from 10.0 (optimal) to 1.0 (worst).
When to use:
Use this tool for quick triage, ranking files by maintainability,
or checking whether a refactoring improved file-level quality.
Limitations:
- Analyzes one file at a time.
- Returns only the score summary, not the full smell breakdown.
- Requires a supported source file.
Returns:
A string in the format "Code Health score: <score>".
The Code Health scores are interpreted as:
* Optimal Code: Code Health 10.0 optimized for human and AI comprehension
* Green Code: high quality with a score of 9.0-9.9
* Yellow Code: problematic technical debt with a score of 4.0-8.9
* Red Code: severe technical debt with a score of 1.0-3.9
On failure:
If this tool returns an error (e.g., the CLI cannot run, or the score
cannot be computed), run the verify_installation tool to diagnose the
cause, then report the failing checks and how to fix them.
Example:
Call with file_path="/repo/src/module.py" and compare the score
before and after a refactoring.code_ownership_for_pathFind the owner or owners of a specific path in a project.
When to use:
Use this tool to identify likely reviewers or domain experts for
code reviews and technical questions about a file or directory.
Limitations:
- Requires a valid project_id.
- Uses the latest project analysis data available in CodeScene.
- If no matching ownership data is found, an empty JSON array is returned.
Returns:
A list of owners and their paths that they own. The name of the owner who can be responsible
for code reviews or inquiries about the file and a link to the CodeScene System Map page filtered
by the owner. Explain that this link can be used to see more details
about the owner's contributions and interactions within the project.
You MUST always show a link after every owner. Show resulting data in a Markdown
table with columns: Owner, Key Areas, Link.
On failure:
If this tool returns an error (e.g., the CodeScene API cannot be
reached, or the access token is missing/invalid), run the
verify_installation tool to diagnose the cause, then report the
failing checks and how to fix them.
Example:
Call with project_id=42 and path="/repo/src/service.py", then
present each owner row with its corresponding system-map link.download_skillDownload a single skill to a local directory.
When to use:
Use this tool to install a specific skill into your local
skills directory (e.g., ~/.claude/skills/).
Limitations:
- By default, refuses to overwrite existing skills.
- Set overwrite=true to replace an existing skill.
- Creates the destination directory if it does not exist.
Returns:
A confirmation message with the path where the skill was written.
Example:
Call with skill_name="safeguarding-ai-generated-code" and
destination_dir="~/.claude/skills" to install the skill.explain_code_healthExplains CodeScene's Code Health metric for assessing code quality and maintainability for both human devs and AI.
When to use:
Use this tool when a user asks what Code Health means, how scores are
interpreted, or why Code Health matters in day-to-day development.
Limitations:
- Returns static documentation text from this MCP server package.
- Does not analyze a specific repository or file.
Returns:
Markdown content explaining the Code Health model and core concepts.
Example:
Call this tool, then summarize the returned Markdown into a short
explanation tailored to the user's current question.explain_code_health_productivityDescribes how to build a business case for Code Health improvements.
Covers empirical data on how healthy code lets you ship faster with
fewer defects.
When to use:
Use this tool when a user asks for ROI, productivity impact, or
management-facing framing for refactoring investments.
Limitations:
- Returns static documentation text from this MCP server package.
- Does not compute project-specific forecasts.
Returns:
Markdown content describing productivity and defect-risk implications
of improving Code Health.
Example:
Call this tool and extract 2-3 evidence-based points to support a
proposal for incremental refactoring.get_configRead current CodeScene MCP Server configuration values.
When to use:
Use this tool to discover available configuration keys, inspect
effective values, and understand where each value comes from.
Limitations:
- Returns JSON text only; callers must format it for display.
- Sensitive values (tokens) are masked.
- Effective values can be overridden by client-provided env vars.
When called without a key, lists every available configuration
option together with its current effective value, the source of
that value (environment variable vs. config file), and a short
description.
When called with a specific key, returns details for that option
only. Sensitive values (tokens) are masked in the output.
Returns:
A JSON string. When querying a single key, the object has:
key, env_var, value, source, description, aliases, and
docs_url. When listing all, the object has: config_dir and
options (array of the same shape). Use the aliases array
to match user intent to the correct key. Present the data
clearly and always include docs_url links.
Example:
Call with key="access_token" to inspect one setting, or
call without key to list all configurable options.get_skill_manifestGet the file manifest for a specific skill.
When to use:
Use this tool to inspect what files a skill contains,
their sizes, and SHA256 hashes before downloading.
Limitations:
- Requires a valid skill name from list_skills.
Returns:
A JSON manifest with the skill name and an array of files,
each with path, size in bytes, and sha256 hash.
Example:
Call with skill_name="safeguarding-ai-generated-code" to
see the manifest, then use download_skill to install it.list_skillsList all available skills embedded in this MCP server.
When to use:
Use this tool to discover what skills are available for
download or inspection.
Limitations:
- Returns only skills embedded at compile time.
- Does not scan external skill directories.
Returns:
A formatted list of skill names with their descriptions.
Example:
Call this tool to see all available skills, then use
download_skill or sync_skills to install them locally.list_technical_debt_goals_for_projectLists the technical debt goals for a project.
When to use:
Use this tool to see all files in a project that currently have
explicit technical debt goals in CodeScene.
Limitations:
- Requires a valid project_id.
- Returns goal data from the latest available analysis.
- Includes only files with non-empty goals.
Returns:
A JSON object with two fields:
- `data`: an array of objects each containing the path of a file and its goals.
- `link`: a URL to the CodeScene Code Biomarkers page for the project.
Show the goals for each file in a structured format that is easy to read and explain
the goal description for each file. It also includes a description, please include that in your output.
Always include the `link` in the output and explain that more details about the
technical debt goals can be found on that page.
On failure:
If this tool returns an error (e.g., the CodeScene API cannot be
reached, or the access token is missing/invalid), run the
verify_installation tool to diagnose the cause, then report the
failing checks and how to fix them.
Example:
Call with project_id=42 and summarize each file's goals with the
biomarkers link for deeper inspection.pingCheck that the server is alive and return its versionlist_applicationsList all applications in your Codemagic account. Call this first to get the app IDs needed by all other Codemagic tools.list_teamsList teams the authenticated Codemagic account belongs to. Use the team IDs returned here with list_applications, list_builds, and other tools that accept an optional team_id.list_workflowsList workflows for an application. Returns workflow names and IDs — use the ID in trigger_build to run a specific workflow. Note: yaml-defined workflows only appear after their first build has run.list_buildsList builds for a team with optional filters. Returns build IDs and status. Use get_build with a build ID to retrieve full details and artifact download URLs.get_buildGet full details for a single build including artifact download URLs. The build ID comes from trigger_build or list_builds. Artifact URLs require x-auth-token — use them with upload_to_testflight, upload_to_google_play, or create_public_artifact_url.trigger_buildTrigger a new build on Codemagic. For release builds: determine BUILD_NUMBER first using list_asc_builds (iOS) or list_google_play_tracks (Android), then pass it in the variables parameter. Use yaml_content to supply an inline codemagic.yaml — get a starter template from get_yaml_template and validate it with validate_codemagic_yaml before triggering. Call wait_for_build with the returned build ID to wait for completion and retrieve artifact URLs.wait_for_buildCheck the current status of a Codemagic build. Returns immediately — no polling loop. If the build has not finished, call this tool again with the same build_id. A Codemagic build takes 10–40 minutes; calling this 20+ times is normal and expected. Returns full build details and artifact download URLs once a terminal state is reached.cancel_buildCancel a running or queued Codemagic build. Use when a triggered build is no longer needed — for example if the wrong branch was used or an error was found after triggering. Has no effect on builds that have already finished.add_applicationAdd a new application to Codemagic by connecting a Git repository. For HTTPS URLs: if you have connected your GitHub, GitLab, or Bitbucket account via Codemagic Settings → Integrations, private repositories are accessible with just the URL — no credentials needed. For SSH URLs (git@... or ssh://git@...): a fresh Ed25519 deploy key is generated automatically. The private key is stored directly in Codemagic and the public key is added to GitHub automatically if the gh CLI is installed and authenticated, or shown for manual setup otherwise. Note: after adding, the app shows 'Set up build' in the Codemagic UI — this is expected.list_variable_groupsList variable groups for a team or app in Codemagic. Use group names to reference them in trigger_build. Secret values are never returned — manage secrets directly in the Codemagic UI.list_variablesList variables in a Codemagic variable group. Returns variable IDs, names, and values. Secret variable values are returned as null — only non-secret values are visible. Use the variable IDs with update_variable and delete_variable.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": {
"codescene-mcp-server": {
"command": "npx",
"args": [
"-y",
"@codescene/codehealth-mcp"
]
}
}
}
{
"mcpServers": {
"todah-zg-codemagic-mcp": {
"command": "npx",
"args": [
"-y",
"codemagic-mcp-server"
],
"env": {
"CODEMAGIC_API_TOKEN": "YOUR_CODEMAGIC_API_TOKEN_HERE",
"ASC_KEY_ID": "YOUR_ASC_KEY_ID_HERE",
"ASC_ISSUER_ID": "YOUR_ASC_ISSUER_ID_HERE",
"ASC_PRIVATE_KEY_B64": "YOUR_ASC_PRIVATE_KEY_B64_HERE",
"ASC_BYPASS_KEYCHAIN": "YOUR_ASC_BYPASS_KEYCHAIN_HERE",
"GOOGLE_PLAY_SERVICE_ACCOUNT_CREDENTIALS": "YOUR_GOOGLE_PLAY_SERVICE_ACCOUNT_CREDENTIALS_HERE"
}
}
}
}