shadow-cljs-mcp
shadow-cljs-mcp
监控 shadow-cljs 构建并提供实时构建状态更新的模型上下文协议 (MCP) 服务器。
安装
将以下内容添加到您的 Cline/Cursor/Claude 的任何设置中:
{
"mcpServers": {
"shadow-cljs-mcp": {
"command": "npx",
"args": [
"shadow-cljs-mcp"
],
"disabled": false,
"autoApprove": [],
"timeout": 60
}
}
}具有可选的服务器位置
{
"mcpServers": {
"shadow-cljs-mcp": {
"command": "npx",
"args": [
"shadow-cljs-mcp",
"--host",
"localhost",
"--port",
"9630"
],
"disabled": false,
"autoApprove": [],
"timeout": 60
}
}
}--host和--port参数是可选的。如果不提供,服务器将默认连接到localhost:9630 。
Related MCP server: clj-kondo MCP Server
概述
此 MCP 服务器连接到正在运行的 shadow-cljs 实例,并跟踪构建进度、失败和完成情况。它提供了一个 MCP 工具,LLM 可以使用它来在更改 ClojureScript 文件后验证构建状态。
LLM 整合
添加到你的法学硕士笔记
将以下内容添加到你的 LLM 的注释文件(例如,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工具响应示例
成功构建:
{
"status": "completed",
"resources": 317,
"compiled": 1,
"warnings": 0,
"duration": 0.609,
"compiledFiles": [
"path/to/your/file.cljs (505ms)"
]
}构建失败:
{
"status": "failed",
"message": "Build failed",
"details": {
// Error information
}
}使用说明
LLM 应该在每次编辑 ClojureScript 文件后调用 get_last_build_status
编译错误将详细显示,以便于调试
成功的构建显示哪些文件被编译以及花费了多长时间
启动此服务器之前,请确保 shadow-cljs 正在运行
要求
运行 shadow-cljs 实例(若未另行配置,则默认为 localhost:9630)
Available Tools
1 toolget_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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It effectively describes the tool's behavior: it retrieves build status and includes warnings/errors, which is useful for understanding output. However, it doesn't mention potential side effects, error handling, or response format details, leaving some behavioral aspects unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences that are front-loaded with the tool's purpose and followed by usage guidance. Every sentence adds value without redundancy, making it appropriately sized and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is mostly complete. It explains what the tool does and when to use it. However, without an output schema, it could benefit from more detail on the return format (e.g., what 'status' includes), but this is a minor gap for such a straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't discuss parameters, which is appropriate. A baseline of 4 is applied since no parameters exist, and the description doesn't add unnecessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get the status'), target resource ('last shadow-cljs build'), and scope ('including any warnings or errors'). It precisely defines what the tool does without being tautological or vague, and since there are no sibling tools, no differentiation is needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: 'Call this after making edits to ClojureScript files to verify if the build succeeded or failed.' This provides clear context and timing guidance. Since there are no sibling tools, no alternative comparisons are necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
get_last_build_status
TDQS
Scored across 1 tool
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.
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.
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.
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
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
Real-time planetary signal engine and Model Context Protocol (MCP) server for autonomous AI agents.
Related MCP Servers
- AlicenseBqualityFmaintenanceA 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.18127 npm53MIT
- AlicenseAqualityDmaintenanceA 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.110 npm4MIT
- AlicenseNot gradedqualityDmaintenanceA 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.6 npm2Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA 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