Skip to main content
Glama
Jordan-Jarvis

Build Unblocker MCP

Build Unblocker MCP

A Model-Context-Protocol (MCP) server for Cursor IDE to terminate hung Windows build executables.

Features

  • Monitors specified build processes (cl.exe, link.exe, msbuild.exe, etc.)

  • Terminates processes that are idle (less than 1% CPU usage) for a configurable duration (default 90 seconds)

  • Provides a tool (unblock_build) for Cursor IDE to trigger the unblocking process

Related MCP server: stdout-mcp-server

Installation

  1. Ensure you have Python 3.11 or later installed.

  2. Install using pipx (recommended for CLI tools):

    pipx install .

    Or using pip:

    pip install .

Cursor Integration

Add the following to your Cursor IDE settings (settings.json):

{
  "mcpServers": {
    "build-unblocker": {
      "command": "unblock-build-mcp"
    }
  }
}

Local Smoke Test

You can run the tool manually to test it (use --dry-run to avoid killing processes):

pipx run unblock-build-mcp --idle-seconds 5 --dry-run

Continuous Integration

CI Status (Replace your-github-username with your actual GitHub username and build-unblocker-mcp with the repository name)

License

This project is licensed under the MIT License. See the LICENSE file for details.

Available Tools

1 tool
unblock_buildC

Kill build executables idle > idle_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
idle_secondsNo
process_namesNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'Kill' which implies a destructive action, but doesn't specify permissions needed, side effects (e.g., data loss), error handling, or rate limits. This leaves significant gaps for a tool that terminates processes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste—it directly states the tool's action and condition. It's appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (destructive action with 3 parameters), no annotations, and no output schema, the description is inadequate. It doesn't cover return values, error cases, or detailed behavioral traits, leaving the agent with insufficient information for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It references 'idle_seconds' but doesn't explain the other parameters (dry_run, process_names) or provide additional context beyond the schema's titles. The description adds minimal value, barely meeting the baseline for low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Kill') and target ('build executables idle > idle_seconds'), providing a specific verb+resource combination. However, without sibling tools for comparison, it cannot demonstrate differentiation from alternatives, though it's not vague or tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when build executables are idle beyond a threshold, but provides no explicit guidance on when to use this tool versus alternatives, prerequisites, or exclusions. It lacks context for decision-making in a broader workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools, as there are no other tools to confuse it with. The tool's purpose is clearly defined to kill idle build executables, making it distinct by default.

Naming Consistency5/5

Since there is only one tool, it inherently follows a consistent naming pattern with no deviations to evaluate. The tool name 'unblock_build' uses a verb_noun format, which is clear and predictable in isolation.

Tool Count2/5

A single tool is too few for a server named 'Build Unblocker MCP', which suggests a broader scope related to managing or troubleshooting builds. This minimal set likely leaves significant gaps in functionality, such as monitoring build status or handling other build-related issues.

Completeness2/5

The tool surface is severely incomplete for the implied domain of build management. While 'unblock_build' addresses killing idle executables, there are obvious gaps like checking build health, restarting builds, or logging build errors, which are essential for comprehensive build unblocking workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jordan-Jarvis/Cpp-build-unlock-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server