Codescene MCP Server vs Webcake Landing

A side-by-side look at the Codescene MCP Server and Webcake Landing MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Codescene MCP Server logoCodescene MCP ServerDeveloper Tools · Local subprocess (stdio)An MCP server that provides CodeScene Code Health analysis tools.65GreatAuth: not declaredWebcake Landing logoWebcake LandingDeveloper Tools · Local subprocess (stdio)Build, validate, and persist Webcake landing-page source JSON: element schemas plus AI usage hints.65GreatAuth: not declared

Verdict: choose Codescene MCP Server for developer tools work as a local process; choose Webcake Landing for developer tools as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Codescene MCP Server logoChoose Codescene MCP Server when

  • You need dedicated capabilities in the Developer Tools domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like analyze_change_set, code_health_refactoring_business_case, code_health_review.
Explore Codescene MCP Server

Webcake Landing logoChoose Webcake Landing when

  • You need dedicated capabilities in the Developer Tools domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like get_generation_guide, list_elements, get_element.
Explore Webcake Landing

Feature & specification comparison

Rows where the two servers differ are marked.

SpecCodescene MCP Server logoCodescene MCP ServerWebcake Landing logoWebcake Landing
CategoryDeveloper ToolsDeveloper Tools
Quality signal65/100 · Great65/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars727
Directory activity 3 views 0 installs 0 upvotes 0 views 0 installs 0 upvotes
Tools2823

Tools & capabilities

Codescene MCP Server tools 28

  • 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.
  • +16 more on the listing page

Webcake Landing tools 23

  • get_generation_guideReturns the page-building conventions reference: output shape, the absolute-positioning coordinate system, event vocabulary, and the recommended workflow.
  • list_elementsList every supported element type, grouped by category, with a one-line summary and whether it is a container (can hold children).
  • get_elementReturns usage details for one element type, or for several via `types: [...]`: a summary, when it applies, key `specials` fields, a sparse skeleton node (the server fills omitted boilerplate), and for common types a filled example. `types` returns { elements: { [type]: details } }; `type` returns a single doc.
  • get_page_schemaReturns the full JSON Schema (Draft 2020-12) of a Webcake page source object { page: [...], settings: {...} } for structural reference and validation.
  • new_elementReturns a default element node for a type in the sparse authoring shape: a fresh id, seeded styles for both breakpoints, and seeded specials. properties, runtime, empty events and per-breakpoint config are omitted because the server fills them from factory defaults on validate and save.
  • new_page_skeletonReturns an empty, complete top-level page source { page:[], popup:[], settings, options, cartConfigs } in the Webcake editor's shape. desktopWidth (960 or 1200) and mobileWidth (420 or 360) set settings.width_section, the canvas width that all element coordinates are measured in.
  • validate_pageValidates a page source against the JSON schema and semantic rules: unique ids, dangling event targets, children only on container types, missing field_name, top-level types, and form-data bindings (duplicate field_name within one form; dangling promoId / connectedSurvey / connectedForm / set_field_value targets). Before validating it applies deterministic layout corrections (off-canvas boxes moved on-canvas, elements below wrapped text moved down) and lists them in auto_fixed. Returns errors (structural problems that block saving) and warnings (visible layout defects such as overlapping text, off-canvas bounds, or empty bands).
  • layoutComputes on-canvas coordinates (top/left/width/height) for a group of elements on both breakpoints. Modes: 'center' (one box centered on the canvas), 'row' (N boxes in a centered horizontal row on desktop, stacked into one column on mobile), 'grid' (N uniform cells in `cols` columns, stacked on mobile), 'stack' (a vertical list down the content column). Respects the page margins (content column 80–880 on desktop and 20–400 on mobile by default). Returns one box per item in input order, plus `notes` for off-canvas or over-wide inputs. Pure computation: no credentials, no network.
  • search_imagesSearches Pexels stock photos (API: https://www.pexels.com/api/documentation/) by short English subject queries. Each photo includes hotlinkable URLs at several sizes, a `sizes` map with each variant's pixel dimensions, `avg_color`, and the photographer's name and attribution URL; the response also includes a `size_guide` mapping slot widths to variants (hero/banner ~940–1880px → large/large2x, card ~350px → medium, avatar → tiny). `queries: [...]` runs several searches in parallel and returns { queries: { [q]: result } } — `pick:'best'` (default) keeps only the top photo per query, `pick:'all'` the full list; `query` runs a single search. Works without configuration through a shared hosted proxy; a PEXELS_API_KEY env var or x-pexels-key header uses a personal Pexels quota.
  • get_icon_svgResolves icon-font names into inline SVG markup via the public Iconify API (https://iconify.design/docs/api/). Accepts Material Symbols refs ("ms:verified"), Font Awesome refs ("fa:chart-line"), Iconify ids ("mdi:home"), or bare names (treated as Material Symbols); underscores become hyphens, and Material Symbols resolve to the outlined variant with a filled fallback. These are the same `ms:` / `fa:` refs that ingest results report in block.icon. Returns { icons: { "<ref>": { ok, svg, iconify } } }. In Webcake an icon renders as an SVG mask on a rectangle element: the SVG goes in responsive.desktop.config.svgMask and responsive.mobile.config.svgMask (each breakpoint is read separately), the visible color comes from styles.background (the SVG's own fill is ignored), and the mask is stretched to the box (preserveAspectRatio='none'), so a square box keeps its proportions. No Webcake credentials needed.
  • render_previewRenders a public URL to a PNG screenshot and returns it as an image. `page_id` targets a created page's preview URL (/preview/<id>); `url` targets any public page and takes precedence. full_page (default true) captures the whole scrollable page and `width` sets the viewport; `tiles:true` returns a tall page as several top-to-bottom band images (requires a self-hosted Playwright host via RENDER_SCREENSHOT_BASE, otherwise a single image is returned). Engine: Microlink's free tier by default (API: https://microlink.io/docs/api/getting-started/overview; about 50 requests/day per IP — when rate-limited the result is ok:false with HTTP 429), or a self-hosted screenshot proxy set by RENDER_SCREENSHOT_BASE / x-render-screenshot-base; MICROLINK_API_KEY / x-microlink-key raises the quota. A page published without a custom domain serves its preview for about 10 minutes after the last publish; after that the preview shows 'Preview page is expired'. Docs: https://github.com/vuluu2k/webcake-landing-mcp/blob/main/docs/tools.md
  • upload_imagesRe-hosts images on Webcake's CDN (statics.pancake.vn) and returns a map from each original entry to its hosted URL. Accepts up to 20 entries per call, processed in parallel, up to 200 MB each: http(s) image URLs, data:image/…;base64 URIs, and — only when the server runs locally over stdio — local file paths (absolute, ~/, file://, or Windows drive paths; rejected per entry on the remote HTTP transport). Upload target: with Webcake credentials and a resolved organization, each image is filed into that organization's media collection (the library the Webcake editor's media picker shows) and marked collection:true with its asset_id; without credentials the public CDN endpoint is used (the URL works, but the image is not in any collection: collection:false). Organization resolution: organization_id, then WEBCAKE_ORG_ID / x-webcake-org-id, then automatic selection when the account has exactly one organization; with two or more and none given, the result is ok:false with reason:'organization_required' and the organization list. dry_run defaults to false, because this only adds images to the media library and changes no page data; dry_run:true lists what would be processed without any network or filesystem access.
  • +11 more on the listing page

Ready-to-paste client configs

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.

Codescene MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "codescene-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@codescene/codehealth-mcp"
      ]
    }
  }
}

Webcake Landing

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "webcake-landing": {
      "command": "npx",
      "args": [
        "-y",
        "webcake-landing-mcp"
      ]
    }
  }
}

Frequently asked questions

Codescene MCP Server is categorized under Developer Tools and uses a local stdio subprocess. Webcake Landing belongs to Developer Tools and uses a local stdio subprocess. Pick Codescene MCP Server for developer tools work and Webcake Landing for developer tools.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Codescene MCP Server has no declared pricing — check the project's own site. Webcake Landing has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add codescene-mcp-server and webcake-landing as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Codescene MCP Server has a quality signal of 65/100 (Great) with 3 views, 0 installs and 72 GitHub stars. Webcake Landing has 65/100 (Great) with 0 views, 0 installs and 7 GitHub stars.