Skip to main content
Glama
shadow-cljs-mcp
by Bigsy

shadow-cljs-mcp

npm version

A Model Context Protocol (MCP) server that monitors shadow-cljs builds and provides real-time build status updates.

Installation

Add the following to your Cline/Cursor/Claude whatever settings:

{
  "mcpServers": {
    "shadow-cljs-mcp": {
      "command": "npx",
      "args": [
        "shadow-cljs-mcp"
      ],
      "disabled": false,
      "autoApprove": [],
      "timeout": 60
    }
  }
}

With optional server location

{
  "mcpServers": {
    "shadow-cljs-mcp": {
      "command": "npx",
      "args": [
        "shadow-cljs-mcp",
        "--host",
        "localhost",
        "--port",
        "9630"
      ],
      "disabled": false,
      "autoApprove": [],
      "timeout": 60
    }
  }
}

The --host and --port arguments are optional. If not provided, the server will default to connecting to localhost:9630.

Related MCP server: clj-kondo MCP Server

Overview

This MCP server connects to a running shadow-cljs instance and tracks build progress, failures, and completions. It provides an MCP tool that LLMs can use to verify build status after making changes to ClojureScript files.

LLM Integration

Adding to Your LLM Notes

Add the following to your LLM's notes file (e.g., CLAUDE.md, cursorrules.md):

After any edits to ClojureScript files, use the shadow-cljs-mcp server's get_last_build_status tool to verify the build succeeded:

<use_mcp_tool>
<server_name>shadow-cljs-mcp</server_name>
<tool_name>get_last_build_status</tool_name>
<arguments>
{}
</arguments>
</use_mcp_tool>

This will show:
- Build status (completed/failed)
- Which files were compiled
- Any errors or warnings
- Build duration and metrics

Example Tool Response

Successful build:

{
  "status": "completed",
  "resources": 317,
  "compiled": 1,
  "warnings": 0,
  "duration": 0.609,
  "compiledFiles": [
    "path/to/your/file.cljs (505ms)"
  ]
}

Failed build:

{
  "status": "failed",
  "message": "Build failed",
  "details": {
    // Error information
  }
}

Usage Notes

  • LLMs should call get_last_build_status after each ClojureScript file edit

  • Compilation errors will be shown in detail for easy debugging

  • Successful builds show which files were compiled and how long they took

  • Make sure shadow-cljs is running before starting this server

Requirements

  • Running shadow-cljs instance (defaults to localhost:9630 if not configured otherwise)

Available Tools

1 tool
get_last_build_statusA

Get the status of the last shadow-cljs build including any warnings or errors. Call this after making edits to ClojureScript files to verify if the build succeeded or failed.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined and distinct by default.

    Naming Consistency5/5

    The single tool name 'get_last_build_status' follows a clear verb_noun pattern, and there are no other tools to create inconsistency. The naming is straightforward and predictable.

    Tool Count2/5

    A single tool is too few for a server's purpose, as it severely limits functionality and suggests an incomplete or overly narrow scope. This makes the server feel thin and underdeveloped.

    Completeness2/5

    The server is severely incomplete for a build tool domain. It only provides status checking, with no tools for initiating builds, managing configurations, handling dependencies, or other essential operations, creating significant gaps.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol server that enables AI assistants to build and test Xcode projects directly through a standardized interface, with capabilities for running tests, monitoring progress, and accessing logs in real-time.
      18
      157 npm
      53
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A Model Context Protocol server that provides clj-kondo linting capabilities for Clojure/ClojureScript/EDN files, useful for environments like Claude code and desktop that lack built-in linting.
      1
      7 npm
      4
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables AI coding assistants like Claude Code to manage long-running development processes, solving the problem where Claude Code cannot see output from processes like 'npm run dev' that don't exit immediately.
      5 npm
      2
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that analyzes application codebases with real-time file watching, providing AI assistants like Claude with deep insights into project structure, code patterns, and architecture.
      MIT