๐งฌ The ultimate MCP server starter kit โ Python, TypeScript, and Go in one repo. Build MCP servers in minutes.
Stop boilerplate. Start building.
mcp-genesis is the only starter kit that gives you a fully-working MCP server in three languages, with the same tool definitions, the same conventions, and the same genesis new command to scaffold yours.
What is MCP? โข Quick Start โข Languages โข Compare
๐ค What is MCP?
The Model Context Protocol (MCP) is the open standard for connecting AI assistants to data sources, tools, and APIs. Think of it as USB-C for AI โ a single port that lets any LLM talk to anything.
This repo gives you production-ready scaffolding to build your own MCP server in Python, TypeScript, or Go.
โก Quick Start
Scaffold a new server (any language)
npx mcp-genesis new my-server --lang python
npx mcp-genesis new my-server --lang typescript
npx mcp-genesis new my-server --lang go
You get a complete project with:
- โ Three working example tools
- โ stdio + SSE transports configured
- โ Auth middleware stub
- โ Structured logging
- โ Tests
- โ Dockerfile
- โ One-line Claude Desktop config example
Or clone and study
git clone https://github.com/kasimmj/mcp-genesis
cd mcp-genesis/python && python -m mcp_genesis.server
cd mcp-genesis/typescript && npm install && npm run dev
cd mcp-genesis/go && go run ./cmd/genesis
๐ Repo Layout
mcp-genesis/
โโโ python/ # Reference server in Python
โ โโโ mcp_genesis/
โ โ โโโ server.py
โ โ โโโ tools.py
โ โ โโโ transports.py
โ โโโ pyproject.toml
โโโ typescript/ # Reference server in TypeScript
โ โโโ src/
โ โ โโโ server.ts
โ โ โโโ tools.ts
โ โ โโโ transports.ts
โ โโโ package.json
โโโ go/ # Reference server in Go
โ โโโ cmd/genesis/
โ โโโ go.mod
โโโ templates/ # Skeleton templates used by `genesis new`
โโโ examples/ # Real-world example servers
โโโ docs/ # Protocol notes, design decisions
All three implementations expose the same three example tools, so you can compare implementations apples-to-apples.
๐ ๏ธ Built-in Example Tools
| Tool | What it does |
|------|--------------|
| echo | Returns the input string. Useful smoke test. |
| now | Returns the current ISO-8601 timestamp + timezone. |
| read_file | Reads a file path with path-traversal protection and 1 MB cap. |
Each tool is implemented identically across all three languages.
๐ Supported Languages
๐ Python
from mcp_genesis import Server, tool
server = Server(name="genesis", version="0.1.0")
@tool
def echo(text: str) -> str:
"""Return the input string unchanged."""
return text
if __name__ == "__main__":
server.run_stdio()
๐ฆ TypeScript
import { Server, tool } from "mcp-genesis";
const server = new Server({ name: "genesis", version: "0.1.0" });
server.addTool(tool({
name: "echo",
description: "Return the input string unchanged.",
parameters: { text: { type: "string" } },
handler: ({ text }) => text,
}));
server.runStdio();
๐น Go
package main
import "github.com/kasimmj/mcp-genesis/go/pkg/genesis"
func main() {
s := genesis.New("genesis", "0.1.0")
s.AddTool(genesis.Tool{
Name: "echo",
Description: "Return the input string unchanged.",
Handler: func(args map[string]any) (any, error) {
return args["text"], nil
},
})
s.RunStdio()
}
๐ Side-by-side
| | Python | TypeScript | Go | |----------------------|---------------------|---------------------|---------------------| | Bundle size | ~150 KB | ~80 KB | ~5 MB (binary) | | Cold start | ~80 ms | ~120 ms | ~5 ms | | Best for | Data tools, AI utils | Web integrations | High-throughput, edge| | Auth helpers | โ | โ | โ | | Stdio transport | โ | โ | โ | | SSE transport | โ | โ | โ | | Docker image | python:3.12-slim | node:20-alpine | scratch + binary |
Pick the one that matches your team's stack. The protocol is the same; the ergonomics differ.
๐งช Connect to Claude Desktop
After running your server, add this to your Claude Desktop config:
{
"mcpServers": {
"genesis-python": {
"command": "python",
"args": ["-m", "mcp_genesis.server"]
}
}
}
Restart Claude Desktop โ your tools appear in the picker.
๐ Docs
๐ค Contributing
We're looking for:
- New examples in
examples/(database connectors, SaaS integrations, file utils) - Bug reports for any of the three reference implementations
- Translations of docs
See CONTRIBUTING.md.
๐ License
MIT ยฉ 2026 Kasim Mohammed
Star โญ to bookmark for your next MCP project.