MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

🧬 The ultimate MCP server starter kit — Python, TypeScript, and Go in one repo. Build MCP servers in minutes.

创建于 5/22/2026
更新于 about 5 hours ago
Repository documentation and setup instructions
api?type=waving&color=gradient&customColorList=30,2,12,20&height=200&section=header&text=mcp-genesis&fontSize=68&fontColor=ffffff&animation=fadeIn&desc=The%20ultimate%20MCP%20server%20starter%20kit%20%E2%80%94%20Python%20%E2%80%A2%20TypeScript%20%E2%80%A2%20Go&descSize=17&descAlignY=70 - MCP Genesis by kasimmj

MCP-D97757?style=for-the-badge&logo=anthropic&logoColor=white - MCP Genesis by kasimmj Python-3776AB?style=for-the-badge&logo=python&logoColor=white - MCP Genesis by kasimmj TypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white - MCP Genesis by kasimmj Go-00ADD8?style=for-the-badge&logo=go&logoColor=white - MCP Genesis by kasimmj MIT-000000?style=for-the-badge - MCP Genesis by kasimmj

mcp-genesis?style=social - MCP Genesis by kasimmj mcp-genesis?style=social - MCP Genesis by kasimmj

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 StartLanguagesCompare


🤔 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.

api?type=waving&color=gradient&customColorList=30,2,12,20&height=100&section=footer - MCP Genesis by kasimmj
快速设置
此服务器的安装指南

安装包 (如果需要)

uvx mcp-genesis

Cursor 配置 (mcp.json)

{ "mcpServers": { "kasimmj-mcp-genesis": { "command": "uvx", "args": [ "mcp-genesis" ] } } }