Demo stdio MCP server (tools, resource, prompt) for tinymcp tests—not production use.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"tiny-go-mcp": {
"command": "/absolute/path/to/tiny-go-mcp"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Demo stdio MCP server (tools, resource, prompt) for tinymcp tests—not production use.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
This server is missing a description.If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in other
Pi Coding Agent extension (CLI-first) — routes bash/read/grep/find/ls through lean-ctx CLI for strong token savings. Optional MCP bridge can register advanced tools.
97% token reduction for AI coding sessions — zero deps, 21 languages, MCP server
App framework, testing framework, and inspector for MCP Apps.
MCP proxy that compresses prose fields (tool descriptions, etc.) using caveman rules. Same accuracy, fewer context tokens.
MCP Security Weekly
Get CVE alerts and security updates for io.github.kioie/tiny-go-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A lightweight Model Context Protocol (MCP) toolkit for Go. Build spec-compliant MCP servers (stdio, streamable HTTP, legacy SSE) with tools, resources, and prompts — minimal boilerplate and automatic JSON Schema from Go structs.
Built on the official modelcontextprotocol/go-sdk.
Requirements: Go 1.26+ (download).
| Tiny Go MCP Server | Full frameworks | |
|---|---|---|
| Goal | Thin helper on official go-sdk + tiny static binary | Full MCP feature surface |
| Deps | Official go-sdk only | Varies |
| Binary | ~5MB stripped, no runtime on host | Often larger stacks |
| Schemas | Inferred from struct tags | Manual or builder APIs |
Use this project as a library (tinymcp package) or as a starting template (cmd/tiny-go-mcp).
| tinymcp (this repo) | mcp-go | go-sdk alone | |
|---|---|---|---|
| Best for | Thin helper on go-sdk, tiny binary | Rich helpers, large ecosystem | Full control, no extra layer |
| Schema | Struct tags → auto JSON Schema | Builder APIs / helpers | AddTool + generics yourself |
| Transport | stdio (Start()), streamable HTTP (StartHTTP), legacy SSE (StartSSE) | stdio, SSE, HTTP, … | All transports |
| Deps | go-sdk only | Standalone module | go-sdk only |
Choose tinymcp when you want the official protocol implementation with minimal boilerplate and a small static server binary.
tinymcp is a thin helper on the official go-sdk — not a replacement for it.
We reduce setup and transport boilerplate (server creation, registration error handling, stdio/HTTP/SSE, TextResult, deploy examples). The protocol implementation, generics, and schema inference still come from modelcontextprotocol/go-sdk.
That means handler code uses both imports — and that is intentional:
import (
"github.com/kioie/tiny-go-mcp-server/tinymcp"
"github.com/modelcontextprotocol/go-sdk/mcp" // handler types, prompts, resources, advanced APIs
)
| Use tinymcp for | Use go-sdk (mcp) for |
|---|---|
NewServer, RegisterTool, transports | Handler signatures (CallToolRequest, GetPromptRequest, …) |
| Safe registration (errors, not panics) | Tool annotations, elicitation, custom protocol features |
TextResult, HTTP middleware helpers | Anything via server.RawServer() |
We are not aiming for a non-leaky facade that hides the SDK. If you need full control, call RawServer() or use go-sdk directly — same underlying server, no lock-in.
Same protocol implementation — tinymcp removes repetitive setup. Handler code still imports mcp for request types in both cases.
go-sdk alone (minimal stdio server):
server := mcp.NewServer(&mcp.Implementation{Name: "my-mcp", Version: "1.0.0"}, nil)
mcp.AddTool(server, &mcp.Tool{
Name: "greet",
Description: "Greet someone by name",
}, gree
... [View full README on GitHub](https://github.com/kioie/tiny-go-mcp-server#readme)