mcp-forge
A complete MCP server template that include vitamins (oauth authentication included)
claude mcp add --transport stdio achetronic-mcp-forge docker run -i achetronic/mcp-forge
How to use
MCP Forge is a production-ready MCP server template written in Go, designed to integrate with remote providers (such as Claude Web and OpenAI) and local providers. It includes OAuth support and JWT validation options, and is structured to work with both remote and local clients. To run the server in a production-like setup, you can leverage the prebuilt Docker image (achetronic/mcp-forge) which encapsulates the Go binary and its dependencies. The server is designed to be extended inside the internal/tools area for your custom MCP tools and resources, and it ships with examples, a Helm chart, a Dockerfile, and CI workflows to streamline deployment. The README also demonstrates how local clients (like Claude Desktop) can connect via stdio or via a local HTTP proxy setup for remote-style operation.
How to install
Prerequisites:
- Docker (recommended for this server image)
- Optional: Go environment for local development or building from source
Installation steps (Docker):
- Install Docker on your system: https://docs.docker.com/get-docker/
- Pull and run the MCP Forge image in a container: docker run -i achetronic/mcp-forge
- (Optional) If you need to customize configuration, mount a config file or environment variables into the container according to your deployment setup. See the project docs for the supported configuration options and YAML/JSON examples.
Local development (optional, if you prefer building from source):
- Install Go 1.24+ (as recommended by the project): https://golang.org/dl/
- Clone the repository and navigate to the project root.
- Build the Go binary and run locally (adjust paths as needed): make build ./bin/mcp-forge --config docs/config-stdio.yaml
- For stdio development, you can start the server in stdio mode using the provided YAML examples and the Makefile targets (see the README's notes about starting in stdio mode).
Note: The README indicates the server is designed to run in both remote (HTTP) and local (stdio) configurations, with a recommended production path using Helm in Kubernetes and a hashring proxy in front for session routing.
Additional notes
Tips and common considerations:
- The project emphasizes OAuth 8414/9728 compliance and flexible JWT validation (local or via external systems).
- For local development, you can use the stdio transport or enable an HTTP proxy in front of the MCP, which is useful for testing remote client behavior before deploying to production.
- The repository includes a chart/Helm deployment and a Dockerfile to simplify containerized deployment; leverage these for Kubernetes-based environments.
- If you plan to connect local clients (Claude Desktop, Cursor, VSCode) via stdio, you may need to compile the Go binary and point your client to the generated binary and a local config file. For HTTP transport, the mcp-remote package (npm) can be used as a bridge in local development.
- Environment variables related to JWTs and OAuth or candidate claims should be defined according to your deployment’s OAuth provider (e.g., Keycloak) and in accordance with the config examples provided in the docs.
- When using Docker, ensure the image is kept up to date and that you expose any needed ports or mount configuration files as required by your environment.
Related MCP Servers
mcp-neo4j
Neo4j Labs Model Context Protocol servers
weather
A lightweight Model Context Protocol (MCP) server that enables AI assistants like Claude to retrieve and interpret real-time weather data. Discuss on Hacker News:
tasker
An MCP server for Android's Tasker automation app.
workflowy
Powerful CLI and MCP server for WorkFlowy: reports, search/replace, backup support, and AI integration (Claude, LLMs)
gtm
An MCP server for Google Tag Manager. Connect it to your LLM, authenticate once, and start managing GTM through natural language.
chromedp
MCP server for browser automation using chromedp