mcp-go-starter
@SamMorrowDrums
About mcp-go-starter
A starter repo for building a go MCP server
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"mcp-go-starter": {
"command": "npx",
"args": [
"@modelcontextprotocol/inspector",
"--",
"go",
"run",
"./cmd/stdio/main.go"
]
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is mcp-go-starter?
A feature-complete Model Context Protocol (MCP) server template in Go using the official go-sdk. It demonstrates all major MCP features with clean, idiomatic Go code, intended for developers building MCP servers in Go.
How to use mcp-go-starter?
Clone the repository, run go mod download to install dependencies, then start the server via stdio (go run ./cmd/stdio) or HTTP (go run ./cmd/http, runs on localhost:3000). Alternatively, use make build to create binaries or make dev for live reload with air. The server is preconfigured for VS Code integration and DevContainers.
Key features of mcp-go-starter
- Tools: hello, get_weather, ask_llm, long_task, load_bonus_tool
- Resources: info://about (static), file://example.md (file-based)
- Resource templates: greeting://{name}, data://items/{id}
- Prompts: greet (various styles), code_review (with focus areas)
- Support for tool annotations, progress updates, and LLM sampling
- Dynamic tool loading at runtime
Use cases of mcp-go-starter
- Learning MCP patterns and best practices in Go
- Bootstrapping a new MCP server project quickly
- Testing MCP features interactively with MCP Inspector
- Integrating with VS Code for local development and debugging
- Deploying MCP servers via stdio (local) or HTTP (remote/web)
FAQ from mcp-go-starter
What prerequisites are needed to run mcp-go-starter?
Go 1.22+ is required. Optionally install air for live reload and golangci-lint for linting.
What transports does mcp-go-starter support?
It supports stdio transport (for local development) and HTTP transport (for remote/web deployment, default port 3000).
How can I test the mcp-go-starter server?
Use the MCP Inspector by running npx @modelcontextprotocol/inspector -- go run ./cmd/stdio/main.go. The Inspector provides tabs for tools, resources, prompts, logs, and schema validation.
What environment variables are available for mcp-go-starter?
The PORT variable sets the HTTP server port; default is 3000. Copy .env.example to .env to configure.
How do I set up development with live reload?
Install air (go install github.com/air-verse/air@latest) and run make dev. Changes to any .go file will automatically rebuild and restart the server.
More Developer Tools MCP servers
MCP Containers
metorialConnect any AI model to 1200+ integrations (MCP, CLI, API)
Smithery CLI
smithery-aiInstall, manage and develop MCP servers and skills for agents
test
prysmaticlabsGo implementation of Ethereum proof of stake
Code Index MCP
johnhuang316A Model Context Protocol (MCP) server that helps large language models index, search, and analyze code repositories with minimal setup
Comments