MCP server by sdivyanshu90
MCP Zero to Hero
An open-source monorepo for learning, building, and scaling Model Context Protocol (MCP) servers — from a Hello World tool to research-grade agentic systems.
What Is MCP?
The Model Context Protocol is an open standard that lets AI host applications (like Claude Desktop or IDE copilots) discover and use external capabilities through a single, typed, transport-agnostic protocol.
flowchart LR
subgraph Hosts["Host Applications"]
H1[Claude Desktop]
H2[IDE Copilot]
H3[Custom App]
end
subgraph Protocol["MCP Protocol\n(JSON-RPC 2.0)"]
end
subgraph Servers["Your MCP Servers"]
S1[Files]
S2[Databases]
S3[APIs]
S4[Custom Logic]
end
H1 <-->|stdio or SSE| Protocol
H2 <-->|stdio or SSE| Protocol
H3 <-->|stdio or SSE| Protocol
Protocol <--> S1
Protocol <--> S2
Protocol <--> S3
Protocol <--> S4
style Hosts fill:#dbeafe
style Protocol fill:#d1fae5
style Servers fill:#fef3c7
MCP servers expose three capability families:
| Family | What it does | Example |
| ------------- | ------------------------------ | -------------------------------- |
| Tools | Executable operations | create_issue, query_table |
| Resources | URI-addressed read-only data | schema://main/users |
| Prompts | Reusable interaction templates | code_review, persona_greeter |
Repository Layout
MCP-Zero-To-Hero/
├── theory/ ← 7 conceptual chapters: architecture → security
├── modules/ ← shared helpers, templates, config snippets
└── projects/
├── beginner/ ← Projects 01-05: fundamentals
├── intermediate/← Projects 06-12: real integrations
├── advanced/ ← Projects 13-17: compound workflows
└── research/ ← Projects 18-20: agentic / sampling
Learning Path
flowchart LR
T[theory/\n7 chapters] --> B[Beginner\n01-05]
B --> I[Intermediate\n06-12]
I --> A[Advanced\n13-17]
A --> R[Research\n18-20]
style T fill:#e0e7ff
style B fill:#dbeafe
style I fill:#d1fae5
style A fill:#fef3c7
style R fill:#fee2e2
| Track | Projects | Core skills | | ---------------- | -------- | ----------------------------------------------------- | | Beginner | 01–05 | Tools, resources, prompts, input validation | | Intermediate | 06–12 | Real APIs, filesystems, databases, automation | | Advanced | 13–17 | Vector DBs, cloud infra, pipelines, transport choices | | Research | 18–20 | Host sampling, self-healing loops, semantic search |
Quick Start
Prerequisites
- Node.js 20+ and npm 10+ (for TypeScript projects)
- Python 3.10+ and pip (for Python projects)
- A host app such as Claude Desktop
Run Your First Server (TypeScript)
cd projects/beginner/01-hello-world-server-ts
npm install
npm run build
npm start
Run Your First Server (Python)
cd projects/beginner/02-local-file-system-reader-py
pip install -e .
python3 server.py
Register With Claude Desktop
Each project README includes the exact config snippet. Paste it into claude_desktop_config.json:
{
"mcpServers": {
"hello-world-server": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"]
}
}
}
Repository Rules
- TypeScript projects use
@modelcontextprotocol/sdk(official SDK). - Python projects use the official
mcppackage. stdiois the default transport for all projects.- Every project includes the exact
claude_desktop_config.jsonsnippet. stdoutis reserved for MCP protocol traffic only — all logs go tostderr.
Contents
- theory/README.md — conceptual foundation, 7 chapters
- projects/README.md — full 20-project catalog with descriptions
- modules/README.md — shared utilities and documentation templates
Intended Audience
- Beginners learning MCP concepts for the first time
- Engineers building local MCP servers for personal or team use
- DevRel teams teaching MCP with production-ready examples
- Advanced practitioners exploring agentic and research-oriented MCP workflows