mcp-server-go
Verified Safeby ggoodman
Overview
A sandboxed local Model Context Protocol (MCP) server for developer workspaces, exposing the host filesystem as resources and providing tools for file manipulation, designed for integration with client applications.
Installation
No command providedEnvironment Variables
- MCP_PUBLIC_ENDPOINT
- OIDC_ISSUER
- REDIS_ADDR
- OIDC_JWKS_URL
Security Notes
The server demonstrates robust security practices, particularly concerning filesystem access. It employs multiple layers of path validation, including `filepath.Abs`, `filepath.EvalSymlinks`, `path.Clean`, and custom `ensureInsideRoot` logic, to prevent directory traversal and symlink-based escape attacks. All file manipulation tools (`fs.read`, `fs.write`, `fs.append`, `fs.move`, `fs.delete`) rigorously enforce this sandboxing. For network communication, the `streaminghttp` transport integrates a pluggable `auth.Authenticator` to handle OIDC/JWT-based bearer token authentication, including proper `WWW-Authenticate` challenges and error responses. It explicitly rejects JSON-RPC batch requests, a good security practice. Session management via `SessionHost` includes `TTL` and `MaxLifetime` for lifecycle control and uses Redis's optimistic locking for concurrent updates. No 'eval' or similar dangerous dynamic code execution patterns were identified, and sensitive configurations like `REDIS_ADDR` are expected from environment variables.
Similar Servers
mcp-k8s-go
This MCP server enables interaction with Kubernetes clusters to list, get, apply, and execute commands on various resources through a conversational interface.
tmcp
A server implementation for the Model Context Protocol (MCP) to enable LLMs to access external context and tools.
1xn-vmcp
An open-source platform for composing, customizing, and extending multiple Model Context Protocol (MCP) servers into a single logical, virtual MCP server, enabling fine-grained context engineering for AI workflows and agents.
mcp-sdk-go
A Go SDK for building applications that communicate with large language models and external tools via the Model Context Protocol (MCP), supporting both client and server implementations.