Includes Git integration for project management and version control, with recommendations for committing work frequently as part of the development workflow.
Enables MCP server deployment using Node.js runtime, with the project providing specific configurations and examples for Node.js-based MCP development.
Utilizes TypeScript for type-safe MCP tool development, with the project providing TypeScript starter templates and compiled JavaScript output for execution.
Implements Zod for input validation within MCP tools, enabling structured validation of user inputs and parameters across the various tools provided by the server.
🚀 MCP & Copilot Studio Learning Project
Learn Model Context Protocol (MCP) development from absolute zero to production!
Welcome to your comprehensive learning journey with Model Context Protocol (MCP) and Copilot Studio! This project assumes you're starting completely from scratch - no prior knowledge, no tools installed. We'll get you up and running in under 30 minutes! 🎯
📋 Prerequisites (Install Everything from Scratch)
1. Install Visual Studio Code
Everyone starts here - even if you have another editor!
Download VS Code: Go to https://code.visualstudio.com/
Install: Run the installer with default settings
Verify: Open VS Code and you should see the welcome screen
2. Install Node.js (Required for MCP Development)
MCP servers run on Node.js - this is essential!
Download Node.js: Go to https://nodejs.org/
Choose LTS Version: Download the "LTS" (Long Term Support) version
Install: Run installer with default settings
Verify Installation:
Open Command Prompt (Windows) or Terminal (Mac/Linux)
Type:
node --version
(should show v16.0.0 or higher)Type:
npm --version
(should show 8.0.0 or higher)
3. Install Git (For Project Management)
You'll need this to clone projects and manage code
Download Git: Go to https://git-scm.com/downloads
Install: Use default settings during installation
Verify: Type
git --version
in your terminal
4. Install Claude Desktop (For Testing Your MCP Server)
This is where you'll test your MCP tools!
Download Claude Desktop: Go to https://claude.ai/download
Install: Follow platform-specific instructions
Create Account: Sign up for Claude if you don't have an account
Verify: Open Claude Desktop and ensure it launches
5. Install PowerShell 7+ (Windows Users)
Modern PowerShell for better development experience
Download: Go to https://github.com/PowerShell/PowerShell/releases
Install: Choose the .msi installer for Windows
Verify: Type
pwsh --version
in Command Prompt
🏗️ Project Structure (What You're About to Build)
⚡ Complete Setup Process (Start Here!)
Step 1: Get This Project
Step 2: Install Project Dependencies
Step 3: Verify Everything Works
🎯 Your First 30 Minutes (Complete Beginner Path)
Minutes 0-10: Understanding the Structure
Open the project in VS Code (File > Open Folder)
Explore the folders using the VS Code sidebar:
Look at
days/day-1/
- this is your Day 1 lessonLook at
exercises/day-1-basics.md
- this is your step-by-step guideNotice
src/
is empty - you'll copy files here to work on themSee
days/day-2/
,days/day-3/
, anddays/day-4/
for upcoming lessons
Minutes 10-20: Your First MCP Tool
Copy the starter file:
Copy-Item days/day-1/index-starter.ts src/index.tsOpen
exercises/day-1-basics.md
and follow Step 2BBuild and test:
npm run build npm start
Minutes 20-30: Connect to Claude Desktop
Configure Claude Desktop following Step 3 in
exercises/day-1-basics.md
Test your greeting tool in Claude Desktop
See the magic happen - you just built your first MCP tool! 🎉
🔧 Connect to Claude Desktop (Essential Step)
Windows Configuration
Find the config file:
%APPDATA%\Claude\claude_desktop_config.json
If the file doesn't exist, create it
If the folder doesn't exist, run Claude Desktop once first
Add your server configuration:
Important: Change the path to match where YOU put this project!
Restart Claude Desktop completely
Look for the tools icon 🔧 in Claude Desktop
Mac Configuration
Find the config file:
~/Library/Application Support/Claude/claude_desktop_config.json
Follow the same JSON structure but with Mac paths
Use forward slashes in paths:
/Users/YourName/Projects/MCP/build/index.js
Test Prompts for Claude Desktop
Once connected, try these:
"Use the greeting tool to greet me formally as John"
"Use the calculator tool to multiply 15 by 8"
"Generate 3 random passwords with length 12"
"What resources are available?"
"Read the project information resource"
"Use the code-review prompt for TypeScript code focusing on performance"
"Generate a writing-helper prompt for professional email to executives"
🎓 Learning Path (Your 7-Day Journey)
💡 Pro Tip: Each day builds on the previous day. Don't skip ahead!
Day 1: Basics (Start Here!) ⭐
Follow
exercises/day-1-basics.md
step-by-stepBuild your first greeting tool - Simple but functional
Connect to Claude Desktop - See your tool in action
Try bonus challenges - Time-based greetings, multi-language support
What You'll Learn: MCP server structure, basic tool creation, Claude Desktop integration
Day 2: Advanced Tools
Follow
exercises/day-2-advanced-tools.md
for complete guideCreate 3 custom tools - Calculator, text analyzer, random generator
Master input validation - Learn advanced Zod patterns
Implement error handling - Graceful failures and user feedback
What You'll Learn: Complex tools, input validation, professional error handling
Day 3: Resources ⭐
Follow
exercises/day-3-resources.md
for complete guideCreate dynamic resources - File-like data for Claude
Add static documentation - Help content and guides
Test resource access - Interactive resource testing
What You'll Learn: Resource architecture, URI schemes, content types, Claude integration
Day 4: Prompts ⭐
Follow
exercises/day-4-prompts.md
for complete guideCreate 5 smart prompt templates - Code review, writing helper, meeting summary, learning tutor, project planner
Master dynamic content generation - Context-aware prompt customization
Implement management tools - Prompt organization and preview systems
What You'll Learn: Prompt architecture, template design, context-aware assistance, structured AI frameworks
Day 5: Integration (Coming Soon)
Connect to external APIs - Real-world data integration
Add environment configuration - Secure API key management
Implement caching - Performance optimization
Day 6: Best Practices (Coming Soon)
Add comprehensive logging - Production-ready logging
Implement rate limiting - Prevent abuse
Write unit tests - Quality assurance
Day 7: Advanced Features (Coming Soon)
Create complex workflows - Multi-step tool interactions
Add performance monitoring - Health checks and metrics
Deploy and test - Production deployment
🚀 Daily Quick Start Routine
Each morning, run these commands:
📚 Key Files to Know (Your Learning Roadmap)
🎯 New to MCP? Read
docs/learning-journey-guide.md
first to understand how all these files work together!
File/Folder | Purpose | When to Use |
| Day-by-day lesson files | Copy starter files, reference complete solutions |
| Your working file | Edit this TypeScript file daily |
| Compiled output | Generated automatically, Node.js runs this |
| Step-by-step learning | Daily hands-on practice guides |
| Professional reference | Understanding WHY & production patterns |
| TypeScript vs JavaScript | Understanding the build process |
| How everything fits together | When confused about what to use when |
| Project configuration | Adding dependencies, scripts |
🛠️ What You'll Build (Your MCP Tools Portfolio)
Day 1: Greeting Tool ⭐
Your first MCP tool - simple but powerful!
Personalized greetings with different styles (formal, casual, enthusiastic)
Input validation for names and greeting types
Bonus: Time-aware greetings, multi-language support, mood detection
Day 2: Professional Tool Suite 💼
Three production-ready tools working together!
Calculator Tool: All arithmetic operations with advanced math functions
Text Analyzer Tool: Word count, sentiment analysis, text transformations
Random Generator Tool: Passwords, UUIDs, numbers with custom ranges
Bonus: Tool chaining, batch operations, export capabilities
Day 3: Dynamic Resources 📁
File-like data that Claude can read and process
Project documentation that updates automatically
Configuration files that tools can reference
Dynamic content generation based on user preferences
User progress tracking and analytics
Bonus: Resource analytics, configuration management, code examples library
Day 4: Smart Prompts 🧠
Pre-written templates that make Claude more effective
Code review frameworks with language-specific analysis
Context-aware writing assistance for different audiences
Meeting summary templates for various meeting types
Adaptive learning prompts based on skill level and style
Project planning frameworks for different contexts
Bonus: Template systems, prompt history, smart suggestions
Day 5: API Integration 🌐
Connect to real-world data sources
Weather information tools
News and content aggregation
Database connections and queries
📋 Troubleshooting (When Things Go Wrong)
❌ "Node is not recognized as a command"
Problem: Node.js isn't installed or not in PATH Solution:
Download Node.js from nodejs.org
Install with default settings
Restart your terminal/VS Code
Test with
node --version
❌ "Cannot find module 'build/index.js'"
Problem: Project hasn't been built yet Solution:
❌ Claude Desktop doesn't show tools
Problem: Configuration file issues Solution:
Check the file path in
claude_desktop_config.json
is correctEnsure the path uses YOUR actual project location
Restart Claude Desktop completely
Verify no JSON syntax errors (use a JSON validator)
❌ TypeScript errors in VS Code
Problem: TypeScript configuration or dependencies Solution:
❌ Permission denied errors
Problem: File permissions on Windows/Mac Solution:
Run VS Code as administrator (Windows)
Use
sudo
for install commands (Mac/Linux)Check folder permissions
� Essential Resources & Documentation
Official MCP Documentation
MCP Specification - The official protocol docs
TypeScript SDK - Code examples and API
Python SDK - If you prefer Python
This Project's Learning Materials
docs/best-practices.md
- Production guidelines and patternsdocs/typescript-javascript-guide.md
- Understanding the build processdocs/learning-journey-guide.md
- How all the files work togetherexamples/weather-server.md
- Real API integration example
VS Code Extensions (Recommended)
Install these for better development experience:
TypeScript and JavaScript Language Features (built-in)
MCP Tools (if available in marketplace)
Error Lens - Shows errors inline
Prettier - Code formatting
GitLens - Git integration
� What's Next After This Project?
Immediate Next Steps
Build something for your workflow - Create tools you'll actually use
Explore Copilot Studio integration - Check
docs/copilot-studio-integration.md
Join the MCP community - Share your tools and learn from others
Advanced Learning Paths
Production Deployment: Learn to deploy MCP servers to cloud platforms
Advanced Integrations: Connect to databases, APIs, and enterprise systems
Custom Protocols: Extend MCP for specialized use cases
Performance Optimization: Scale your MCP servers for high-volume usage
Real-World Applications
Development Tools: Code analysis, testing automation, deployment helpers
Business Automation: Report generation, data analysis, workflow optimization
Content Creation: Writing assistance, research tools, content management
Personal Productivity: Task management, note organization, learning aids
💡 Learning Tips for Success
Before You Start Each Day
✅ Read the day's README file first (
days/day-X/README.md
)✅ Have the step-by-step guide open (
exercises/day-X-[topic].md
)✅ Start with a fresh coffee ☕ (optional but recommended!)
During Development
🔄 Build often: Run
npm run build
after each change🧪 Test immediately: Use
npm start
to verify your server works📝 Read error messages: They usually tell you exactly what's wrong
🤔 Experiment freely: Copy code, modify it, see what happens
When Stuck
📖 Check the complete example file (
days/day-X/index-complete.ts
)🔍 Read the troubleshooting section above
🎯 Start with the simplest version, then add complexity
💬 Ask questions in MCP community forums
Building Good Habits
📁 Organize your code: Use clear variable names and comments
⚡ Version control: Commit your work frequently with Git
📚 Document as you go: Write notes about what you learn
🔄 Review and refactor: Make your code better over time
🎉 Welcome to MCP Development!
You're about to embark on an exciting journey into the world of Model Context Protocol development. This isn't just about learning a new technology - you're gaining skills that will help you build AI-powered tools that can transform how you and others work.
What Makes This Special
Hands-on Learning: You'll build real tools, not just read about them
Progressive Complexity: Each day builds naturally on the previous day
Practical Focus: Everything you build has real-world applications
Community Driven: Join a growing ecosystem of MCP developers
Your Success Metrics
By the end of this project, you'll be able to:
✅ Build MCP servers from scratch
✅ Create tools that Claude Desktop can use
✅ Handle complex input validation and error scenarios
✅ Integrate with external APIs and data sources
✅ Deploy and maintain production MCP servers
✅ Understand when and why to use different MCP patterns
Ready to begin? Open exercises/day-1-basics.md
and start your Day 1 journey! 🚀
Happy learning! The future of AI-assisted development starts with understanding how to build the bridges between humans, AI, and the tools we use every day.
Tools
A comprehensive learning project providing hands-on experience with Model Context Protocol (MCP) server development, featuring calculator and text utility tools for integration with Claude Desktop.
- 📋 Prerequisites (Install Everything from Scratch)
- 🏗️ Project Structure (What You're About to Build)
- ⚡ Complete Setup Process (Start Here!)
- 🎯 Your First 30 Minutes (Complete Beginner Path)
- 🔧 Connect to Claude Desktop (Essential Step)
- 🎓 Learning Path (Your 7-Day Journey)
- 🚀 Daily Quick Start Routine
- 📚 Key Files to Know (Your Learning Roadmap)
- 🛠️ What You'll Build (Your MCP Tools Portfolio)
- 📋 Troubleshooting (When Things Go Wrong)
- � Essential Resources & Documentation
- � What's Next After This Project?
- 💡 Learning Tips for Success
- 🎉 Welcome to MCP Development!
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server built with mcp-framework that allows users to create and manage custom tools for processing data, integrating with the Claude Desktop via CLI.Last updated -455
- AsecurityAlicenseAqualityAn educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server for integrating with various LLM clients like Claude Desktop.Last updated -1131MIT License
- -securityFlicense-qualityA starter template for building Model Context Protocol (MCP) servers, enabling developers to create and add custom tools that can be integrated with Claude Desktop.Last updated -2
- AsecurityFlicenseAqualityA server built on mcp-framework that enables integration with Claude Desktop through the Model Context Protocol.Last updated -11