MCP.so
Sign In

mcp-go-starter

@SamMorrowDrums

About mcp-go-starter

A starter repo for building a go MCP server

Basic information

Category

Developer Tools

License

MIT

Runtime

go

Transports

stdio

Publisher

SamMorrowDrums

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.

Comments

More Developer Tools MCP servers