1. Conduid
  2. AI
  3. Go MCP Server
MCP server · AI

Go MCP Server

A Model Context Protocol (MCP) server implementation from scratch in Go. Made for learning purposes only

Unclaimed Apache-2.0 ai
62Good

Scored 11 days ago · breakdown

About Go MCP Server

Go MCP Server is an MCP server published by cbrgm in the AI category: a Model Context Protocol (MCP) server implementation from scratch in Go. Made for learning purposes only.

The repository has 6 stars and 1 forks, with the last commit 3 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/cbrgm/go-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (3)

getTeaInfoGet detailed tea information and brewing instructions

Parameters not published.

getTeaNamesList all available teas

Parameters not published.

getTeasByTypeFilter teas by type (Green Tea, Black Tea, Oolong Tea, White Tea)

Parameters not published.

Ask AI

✦

Ask AI about Go MCP Server

Powered by Claude · Grounded in docs

I know everything about Go MCP Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.0.13v1.0.13 · 1 Jul 2026What's Changed patch(deps): update patch versions to v1.26.4 by @renovate[bot] in https://github.com/cbrgm/go-mcp-server/pull/116 chore(deps): update docker digests to v3.24 by @renovate[bot] in…
v1.0.12v1.0.12 · 1 Jun 2026What's Changed ci(tools): update build tools by @renovate[bot] in https://github.com/cbrgm/go-mcp-server/pull/108 patch(deps): update dependency golang to v1.26.3 by @renovate[bot] in https://github.com/cbrgm/go-mcp-server/pull/109…
v1.0.11v1.0.11 · 1 May 2026What's Changed ci(tools): update docker/login-action action to v4.1.0 by @renovate[bot] in https://github.com/cbrgm/go-mcp-server/pull/103 patch(deps): update dependency golang to v1.26.2 by @renovate[bot] in…
v1.0.10v1.0.10 · 1 Apr 2026What's Changed ci(tools): update build tools by @renovate[bot] in https://github.com/cbrgm/go-mcp-server/pull/68 minor(deps): update dependency golang to v1.26.0 by @renovate[bot] in https://github.com/cbrgm/go-mcp-server/pull/63…
v1.0.9v1.0.9 · 1 Mar 2026What's Changed ci(tools): update build tools by @renovate[bot] in https://github.com/cbrgm/go-mcp-server/pull/60 ci(tools): update actionhippie/manifest action to v1.8.3 by @renovate[bot] in https://github.com/cbrgm/go-mcp-server/pull/61…

README

Go MCP Server

A Model Context Protocol (MCP) server implementation in Go that provides tea information through tools, resources, and prompts.

Note: This project is for learning purposes only. I built this MCP server from scratch to understand the Model Context Protocol specification. For production use, consider using mcp-go or wait for the official MCP Go SDK to be released (expected end of June 2025).

This MCP server, especially the mcp package, was written with the help of Claude Code using the latest version of the MCP specification (2025-06-21).

Features

  • MCP 2025-03-26 Specification Compliant
  • Multiple Transports: stdio (default), http with SSE
  • Tea Collection: 8 premium teas (Green, Black, Oolong, White)
  • Full MCP Capabilities: Tools, Resources, and Prompts

Quick Start

# Build the binary
go build ./cmd/go-mcp-server

# Run with stdio transport (default)
./go-mcp-server

# Run with HTTP transport
./go-mcp-server -transport http -port 8080

# Test with MCP Inspector
echo '{"jsonrpc":"2.0","method":"initialize","id":1}' | ./go-mcp-server

Usage

The server binary accepts several command line arguments to configure its behavior:

./go-mcp-server [options]

Command Line Arguments

Argument Type Default Description
-transport string stdio Transport protocol to use (stdio or http)
-port int 8080 HTTP server port (only used with -transport http)
-request-timeout duration 30s Maximum time to wait for request processing
-shutdown-timeout duration 10s Maximum time to wait for graceful shutdown
-log-level string info Log level (debug, info, warn, error)
-log-json bool false Output logs in JSON format
-server-name string MCP Server Server name returned in initialization
-server-version string 1.0.0 Server version returned in initialization

Examples

# Default stdio transport with debug logging
./go-mcp-server -log-level debug

# HTTP transport on custom port with JSON logs
./go-mcp-server -transport http -port 9000 -log-json

# Custom timeouts for production use
./go-mcp-server -transport http -request-timeout 60s -shutdown-timeout 30s

# Custom server identification
./go-mcp-server -server-name "My Tea Server" -server-version "2.0.0"

MCP Capabilities

Tools

  • getTeaNames - List all available teas
  • getTeaInfo - Get detailed tea information and brewing instructions
  • getTeasByType - Filter teas by type (Green Tea, Black Tea, Oolong Tea, White Tea)

Resources

  • menu://tea - Complete tea collection with prices and details

Prompts

  • tea_recommendation - Personalized recommendations based on mood/preferences
  • brewing_guide - Detailed brewing instructions for specific teas
  • tea_pairing - Food pairing suggestions

Tea Collection Example

Try these commands to explore the tea collection:

# List all available teas
echo '{"jsonrpc":"2.0","method":"tools/call","id":1,"params":{"name":"getTeaNames","arguments":{}}}' | ./go-mcp-server

# Get information about a specific tea
echo '{"jsonrpc":"2.0","method":"tools/call","id":2,"params":{"name":"getTeaInfo","arguments":{"name":"earl-grey"}}}' | ./go-mcp-server

# Get all oolong teas
echo '{"jsonrpc":"2.0","method":"tools/call","id":3,"params":{"name":"getTeasByType","arguments":{"type":"Oolong Tea"}}}' | ./go-mcp-server

# Read the complete tea menu resource
echo '{"jsonrpc":"2.0","method":"resources/read","id":4,"params":{"uri":"menu://tea"}}' | ./go-mcp-server

# Get a brewing guide for gyokuro
echo '{"jsonrpc":"2.0","method":"prompts/get","id":5,"params":{"name":"brewing_guide","arguments":{"tea_name":"gyokuro"}}}' | ./go-mcp-server

Web UI

When using HTTP transport, a web status page is available at the root path (/) of the server. This page shows server information, active sessions, and available endpoints.

MCP Client Configuration

Claude Desktop / VS Code / Other MCP Clients

Add this configuration to your MCP client settings:

{
  "mcpServers": {
    "tea": {
      "command": "podman",
      "args": ["run", "-i", "--rm", "ghcr.io/cbrgm/go-mcp-server:v1"]
    }
  }
}

For local development, you can also use:

{
  "mcpServers": {
    "tea": {
      "command": "go",
      "args": ["run", "./cmd/go-mcp-server"],
      "cwd": "/path/to/go-mcp-server"
    }
  }
}

Testing with MCP Inspector

  1. Install: npm install -g @modelcontextprotocol/inspector
  2. Start: npx @modelcontextprotocol/inspector
  3. Connect with command: go run ./cmd/go-mcp-server

License

Apache 2.0

README fetched from the repository 4 days ago. The original is authoritative.

Questions

About Go MCP Server

How do I install Go MCP Server?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Go MCP Server safe to use with an AI agent?

Its trust score is 62 out of 100 (good). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Go MCP Server still maintained?

Yes — the latest release is v1.0.13 (1 Jul 2026), and the last commit was 3 months ago. The repository has 6 stars.