aliatx2017/reasonix-hermes/go-mcp-server
Trust tier 3
- community
Source check pending
Checking that the SKILL.md file is still in the repository.
Build Go MCP (Model Context Protocol) servers — stdio/HTTP transport, JSON-RPC 2.0, concurrency, security, graceful shutdown. Covers patterns from Reasonix-Hermes bridge and memory server implementations.
Install
npx vskill@latest install aliatx2017/reasonix-hermes/go-mcp-serverSKILL.md
Go MCP Server Patterns
Patterns for building MCP servers in Go, drawn from Reasonix-Hermes's own cmd/reasonix-mcpbridge/ and cmd/reasonix-memoryserver/.
When to Use
- Building a new MCP server in Go
- Adding tools to an existing Go MCP server
- Debugging MCP transport issues (stdio vs HTTP vs SSE)
- Designing MCP server architecture for production use
Architecture
Transport Layer
Three transport options, choose based on deployment:
| Transport | When | Implementation | |
|---|---|---|---|
| stdio | Local subprocess (Claude Code, Reasonix plugin) | os.Stdin/os.Stdout JSON-RPC | |
| HTTP | Remote server, REST-friendly | net/http handler, Bearer auth | |
| SSE | Streaming events from server | text/event-stream, long-lived connection |
JSON-RPC 2.0
All transports use the same wire format:
Tool Registration
Concurrency
- stdio: Single reader goroutine + single writer goroutine + mutex. JSON-RPC responses must be ordered.
- HTTP: Standard
net/httpconcurrency — each request in its own goroutine. - Batch safety: If supporting JSON-RPC batches, process sequentially or with result ordering.
Security
- Bearer auth for HTTP transport (see
pkg/httputil/auth.go) - Input validation — validate tool arguments against InputSchema before execution
- Timeout — every tool handler should respect
ctx.Done() - No secrets in logs — sanitize error messages, never log API keys
Graceful Shutdown
Testing
- httptest for HTTP transport — mock server, test tool calls end-to-end
- Table-driven tests for tool handlers — each tool should have success + error cases
- Race detector —
go test -racefor concurrency testing
Reference Implementations
| Component | Path | Notes | |
|---|---|---|---|
| MCP bridge server | cmd/reasonix-mcpbridge/ | 6 tools, HTTP transport, Bearer auth | |
| Memory server | cmd/reasonix-memoryserver/ | 3 tools, HTTP mode, SQLite backend | |
| Shared auth | pkg/httputil/auth.go | Bearer token middleware | |
| Shared MCP types | pkg/mcputil/ | JSON-RPC types and server helpers | |
| MCP client | internal/plugin/ | stdio/HTTP/SSE client |
Related
- Project skill:
native-mcp— MCP client patterns - Tool:
install_source— install MCP servers from URL/source docs/SPEC.md— MCP transport spec
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.reasonix/skills/go-mcp-server/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/aliatx2017/reasonix-hermes/go-mcp-server)