better-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fs_readA | Read a file with pagination. Returns content, total lines, and file size. |
| fs_writeA | Write content to a file. Creates directories if needed. Handles escaping correctly. |
| fs_searchB | Search files by regex pattern within the project. |
| fs_listC | List directory contents. |
| shell_runA | Run a predefined command from the project config. Available: build, test, dev, start, ps, logs. |
| shell_bg_startA | Start a command in the background and return immediately with a job ID. Use shell_bg_status, shell_bg_log, and shell_bg_stop to manage the job. Default timeout is 30 minutes. Commands run in /bin/sh. |
| shell_bg_statusA | Check the status of a background job. Returns running state, exit code (if done), stdout/stderr so far, and duration. |
| shell_bg_logA | Get the log output of a background job. Optionally limit to the last N lines. |
| shell_bg_stopA | Stop a running background job by sending SIGTERM (then SIGKILL after 5s if needed). |
| shell_bg_listA | List all active or recently finished background jobs. |
| git_statusA | Get the current git status: branch, clean/dirty, staged/unstaged/untracked files, ahead/behind remote, last commit. |
| git_logC | Get recent commit history. |
| git_diffA | Get diff of changes. Defaults to diff against HEAD. |
| project_infoA | Get comprehensive info about a project: stack, structure, file counts, config detection, enabled tools. |
| read_resourceB | Read a project resource file (handoff, plan, schema, docs). |
| workspace_list_projectsA | List all configured projects with their name, root, stack, and enabled tools. |
| workspace_set_projectA | Set the active project for subsequent tool calls that don't specify a project explicitly. |
| plugin_example-echo_echoA | [example-echo v1.0.0] Echoes back the input message exactly as provided |
| plugin_example-echo_greetA | [example-echo v1.0.0] Returns a friendly greeting for the given name |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| @erquier/better-mcp:readme | Resource: readme (project: @erquier/better-mcp) |
| @erquier/better-mcp:changelog | Resource: changelog (project: @erquier/better-mcp) |
TDQS
Scored across 19 tools
Each tool has a clearly distinct purpose within its domain (filesystem, shell, git, project, workspace, plugins). No overlapping functionality; even the echo plugin tools are distinct.
Most tools follow a domain prefix + verb_noun pattern (e.g., fs_read, shell_bg_start). Minor inconsistencies: plugin names use hyphens (plugin_example-echo_echo) and git_status uses a noun instead of verb.
19 tools is reasonable for a general-purpose development MCP server covering multiple domains. It provides sufficient functionality without being overwhelming.
Covers core file, shell, git, and project management but has notable gaps: no file delete or copy, no git commit or push, no arbitrary shell command execution via shell_run (only predefined commands). The plugin example is minimal.