mcp -developer-tool
MCP server from da-snap/mcp-server-developer-tool
claude mcp add --transport stdio da-snap-mcp-server-developer-tool go run ./cmd/mcp-server \ --env GO_ENV="production" \ --env MCP_DENIED_PATHS="optional:comma-separated list of denied directories" \ --env MCP_ALLOWED_PATHS="optional:comma-separated list of allowed directories"
How to use
This MCP server is a modular Go implementation of the Model Context Protocol. It exposes a pluggable set of tools under internal/tools, enabling secure file operations, shell command execution, and file inspection within configurable boundaries. The server is designed to restrict file operations to approved directories and to provide a straightforward mechanism to add new tools by implementing the Tool interface and registering them in the main server entry point. Use the built server to manage model-context based workflows where clients can query, read, write, or search files in a controlled environment guided by the server configuration.
How to install
Prerequisites:
- Go 1.18+ (or newer)
- GOPATH configured (optional if using modules)
Install and run:
- Ensure you have Go installed and your environment set up.
- Navigate to the repository root containing the mcp-server module.
- Build and run the server:
# Build the server (or run directly with go run as shown below)
cd cmd/mcp-server
go build -o mcp-server
# Run the server
./mcp-server
If you prefer to run it without building a binary first, you can execute:
cd cmd/mcp-server
go run .
Optional: set environment variables to constrain paths before starting the server, e.g.:
export MCP_ALLOWED_PATHS=/home/user/safe:/tmp/workspace
export MCP_DENIED_PATHS=/home/user/.ssh:/home/user/credentials
./mcp-server
Additional notes
Notes and tips:
- The server enforces a path restriction system to limit file operations to allowed directories. Default behavior allows the current working directory unless overridden by MCP_ALLOWED_PATHS. Common sensitive directories such as .git and .env are denied by default.
- You can configure tools at runtime or extend the tooling by adding new files under internal/tools and registering them in the main server entry. Tools implement the Tool interface and can optionally implement ConfigAware to access server configuration for security checks.
- For shell-related tools (execute_shell_command), commands are whitelisted and must be executed within allowed paths to prevent unauthorized access.
- To test, run go test ./... from the repository root after ensuring dependencies are fetched. The internal server tests live under internal/server and can help validate behavior.
- If you modify configuration, restart the server to apply changes.
Related MCP Servers
trpc-agent-go
trpc-agent-go is a powerful Go framework for building intelligent agent systems using large language models (LLMs) and tools.
station
Station is our open-source runtime that lets teams deploy agents on their own infrastructure with full control.
tiger-cli
Tiger CLI is the command-line interface for Tiger Cloud. It includes an MCP server for helping coding agents write production-level Postgres code.
gopls
MCP server for golang projects development: Expand AI Code Agent ability boundary to have a semantic understanding and determinisic information for golang projects.
kubernetes
A Model Context Protocol (MCP) server for the Kubernetes API.
gcp-cost
💰 An MCP server that enables AI assistants to estimate Google Cloud costs, powered by Cloud Billing Catalog API and built with Genkit for Go