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 lesson - Look at
exercises/day-1-basics.md
- this is your step-by-step guide - Notice
src/
is empty - you'll copy files here to work on them - See
days/day-2/
,days/day-3/
, anddays/day-4/
for upcoming lessons
- Look at
Minutes 10-20: Your First MCP Tool
- Copy the starter file:
- Open
exercises/day-1-basics.md
and follow Step 2B - Build and test:
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-step - Build 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 guide - Create 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 guide - Create 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 guide - Create 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 |
---|---|---|
days/day-X/ | Day-by-day lesson files | Copy starter files, reference complete solutions |
src/index.ts | Your working file | Edit this TypeScript file daily |
build/index.js | Compiled output | Generated automatically, Node.js runs this |
exercises/day-X-[topic].md | Step-by-step learning | Daily hands-on practice guides |
docs/best-practices.md | Professional reference | Understanding WHY & production patterns |
docs/typescript-javascript-guide.md | TypeScript vs JavaScript | Understanding the build process |
docs/learning-journey-guide.md | How everything fits together | When confused about what to use when |
package.json | 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 correct - Ensure 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.
This server cannot be installed
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 -325TypeScript
- 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 -1119PythonMIT 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 -2TypeScript
- AsecurityFlicenseAqualityA server built on mcp-framework that enables integration with Claude Desktop through the Model Context Protocol.Last updated -11