mcp-makefile-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_MAKEFILE_PATH | No | Path to the Makefile (default: ./Makefile) | |
| MCP_MAKEFILE_TEMP_DIR | No | Base directory for temporary files (default: /tmp) | |
| MCP_MAKEFILE_LOG_LEVEL | No | Logging level: DEBUG, INFO, WARNING, ERROR (default: INFO) | |
| MCP_MAKEFILE_WRITE_TO_FILE | No | Write full output to temporary files: true/false (default: false) | |
| MCP_MAKEFILE_ALLOWED_TARGETS | No | Comma-separated list of allowed targets (default: all non-internal targets) | |
| MCP_MAKEFILE_MAX_OUTPUT_CHARS | No | Maximum characters to return from target output, 0 for unlimited (default: 0) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| helpC | Show available targets |
| versionA | Show current version from VERSION file |
| releaseA | Create new release with version bump, tests, git tag, and push. Prompts for version type: [p]atch, [m]inor, [M]ajor, or [n]o bump. Use DRY_RUN=1 to preview without making changes |
| syncB | Install dependencies and create lockfile |
| testC | Run all tests |
| test-coverageB | Run tests with coverage report |
| lintC | Run ruff linter |
| formatC | Format code with ruff |
| type-checkB | Run pyright type checker |
| security-scanB | Run security scans (bandit, safety, vulture, pylint) |
| checkB | Run all static checks and security scans (depends on: format, lint, type-check, security-scan) |
| cleanD | Clean cache files |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Most tools have distinct purposes, but 'check' is a composite that runs format, lint, type-check, and security-scan, which could cause agents to misuse it when only one subtask is needed. Additionally, 'test' and 'test-coverage' overlap; both run tests, with the latter adding coverage.
All tool names follow a consistent pattern: single verbs or hyphenated verb-noun compounds in lowercase (e.g., format, test-coverage, security-scan). No mixing of conventions like camelCase or snake_case.
With 12 tools, the server is well-scoped for a Python development workflow using Makefiles. The number covers essential tasks without being excessive or insufficient.
The tools cover the core development lifecycle: formatting, linting, type checking, security scanning, testing, and release management. Missing a build or deploy step, but these are often outside the scope of a Makefile server for development tasks.