home / mcp / mcp server developer tool mcp server

MCP Server Developer Tool MCP Server

Go-based MCP server enabling configurable path-restricted file operations and pluggable tools.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "da-snap-mcp-server-developer-tool": {
      "command": "./mcp-server",
      "args": [],
      "env": {
        "MCP_DENIED_PATHS": "/path/to/deny:/another/deny",
        "MCP_ALLOWED_PATHS": "/path/to/allow:/another/path"
      }
    }
  }
}

You run a modular MCP server written in Go to provide a secure and extensible data and command interface via the Model Context Protocol. It supports controlled file operations, pluggable tools, and configurable path restrictions to help you securely expose a server-side API for clients to interact with data sources and actions.

How to use

Start by building and running the MCP server locally. Once the server is running, you can connect to it from an MCP client to perform actions, run tools, and access responses. The server exposes a simple, extensible interface that lets you execute predefined tools, query response data, and receive structured results. You control what the server can access on the filesystem through path restrictions, and you can extend functionality by adding new tools that implement the server’s Tool interface.

How to install

Prerequisites you need before installation:

  • Go 1.20 or later is required to build the server.
  • A Go-enabled environment with access to the internet to fetch modules.
  • A compatible shell (bash, zsh, or PowerShell) for running commands.

Clone the project code into a local directory and navigate into the project root to begin building and running.

cd cmd/mcp-server

go build -o mcp-server

./mcp-server

Additional setup and notes

Configure security by restricting allowed file operation paths. You can set allowed paths and denied paths either via command-line flags or environment variables. The server defaults to allowing operations only in the current working directory if you do not specify paths.

Configuration and security notes

- Path restrictions help ensure file operations stay within safe directories. For commands executed by the server, path checks apply to both whitelisted paths and denied paths.

- The server automatically denies common sensitive directories like ".git" and ".env" unless explicitly overridden by configuration.

Troubleshooting and tips

If you encounter permission errors, verify that the process has access to all allowed directories and that denied paths are not inadvertently permitting restricted locations.

Notes on extensibility

You can add new tools that implement the Tool interface to extend server capabilities. New tools can optionally implement the ConfigAware interface to access server configuration during execution, enabling security-aware tooling.

Available tools

execute_shell_command

Executes shell commands with security restrictions, ensuring commands run in permitted directories and within the defined allowed paths.

show_file

Shows contents or metadata of a specified file within the server’s controlled environment.

search_file

Searches for text or patterns within files, operating under the server’s path restrictions.

write_file

Writes data to a file within allowed paths, enforcing safety checks before writing.