mcp-courses
mcp-coursesはPythonを用いたプログラミングの学習リソースを提供するプロジェクトです。多様なトピックをカバーしており、実践的な課題を通じてスキルを向上させることができます。初心者から中級者向けの内容が豊富で、コミュニティのサポートも充実しています。
GitHubスター
47
ユーザー評価
未評価
お気に入り
0
閲覧数
33
フォーク
9
イシュー
0
MCP Courses
A comprehensive collection of courses and tutorials for learning the Model Context Protocol (MCP) - an open protocol that standardizes how AI applications connect to external tools and data sources.
ð¯ What is MCP?
The Model Context Protocol (MCP) enables AI models to connect with external data sources, tools, and environments, allowing for seamless transfer of information and capabilities between AI systems and the broader digital world. MCP transforms the complex MÃN integration problem into a simple M+N solution by providing a standard interface.
Key Benefits:
- For Users: Simpler and more consistent experiences across AI applications
- For Developers: Easy integration with a growing ecosystem of tools and data sources
- For Tool Providers: Single implementation that works with multiple AI applications
- For Ecosystem: Increased interoperability, innovation, and reduced fragmentation
ð Course Structure
ð Deep Learning Course
Status: â Available
A comprehensive course covering MCP implementation with practical examples using Streamlit, Wikipedia, and arXiv integrations.
Course Contents:
ð Fundamentals & Tool Integration
3_streamlit_tool_use_arxiv.py
- Streamlit app with arXiv paper search functionality3_arxiv_mcp_server.py
- MCP server for arXiv paper search and information extraction4_streamlit_tool_use_wikipedia.py
- Streamlit app with Wikipedia integration4_wikipedia_mcp_server_sse.py
- Wikipedia MCP server with SSE transport4_wikipedia_mcp_server_stdio.py
- Wikipedia MCP server with STDIO transport
ð MCP Client Implementation
5_mcp_client.py
- Basic MCP client implementation5_streamlit_mcp_client.py
- Streamlit interface for single MCP server connection6_streamlit_mcp_client_multiple.py
- Advanced multi-server MCP client with Streamlit UI
ð Advanced Server Implementations
7_wikipedia_mcp_server_stdio_prompts_resources.py
- Full-featured Wikipedia server with prompts and resources7_wikipedia_mcp_client_prompts_resources_stdio.py
- Client for advanced Wikipedia server7_wikipedia_mcp_server_prompts_resources_sse copy.py
- SSE version with prompts and resources7_wikipedia_mcp_server_prompts_resources_streamable-http.py
- HTTP streamable version (Production recommended)
Key Features Covered:
- Transport Protocols: STDIO, SSE, and Streamable HTTP
- Tool Integration: Search, content retrieval, and data processing
- Multi-Server Architecture: Connect to multiple MCP servers simultaneously
- Interactive UI: Streamlit-based chat interfaces
- Resource Management: Prompts, tools, and resources handling
- Game Generation: Interactive educational content creation
Configuration:
server_config.json
- Multi-server configuration file- Pre-configured data directories for papers and wiki articles
ð DataCamp Course
Status: ð Coming Soon
Advanced data science and analytics integration with MCP protocol.
ð¤ Hugging Face Course
Status: ð Coming Soon
Machine learning model integration and deployment using MCP with Hugging Face ecosystem.
ð Getting Started
Prerequisites
- Python 3.8+
- Node.js (for filesystem server)
- UV package manager (recommended)
Installation
- Clone the repository:
git clone https://github.com/davila7/mcp-courses.git
cd mcp-courses
pip install -r requirements.txt
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
# Copy and configure your API keys
cp .env.example .env
# Edit .env with your API keys (Anthropic, Brave Search, etc.)
Quick Start - Deep Learning Course
- Run a basic MCP server:
# Start Wikipedia MCP server with STDIO
python deeplearning_course/4_wikipedia_mcp_server_stdio.py
- Launch Streamlit client:
# Single server client
streamlit run deeplearning_course/5_streamlit_mcp_client.py
# Multi-server client (recommended)
streamlit run deeplearning_course/6_streamlit_mcp_client_multiple.py
- Configure servers:
- Edit deeplearning_course/server_config.json to add your server configurations
- The multi-server client supports filesystem and Wikipedia servers out of the box
ðï¸ Architecture Overview
Transport Protocols Supported:
- STDIO: Direct process communication (development)
- SSE: Server-Sent Events over HTTP (web applications)
- Streamable HTTP: Modern HTTP with bidirectional streaming (production recommended)
Core Components:
- MCP Servers: Expose tools, resources, and prompts
- MCP Clients: Connect to servers and manage communication
- Streamlit UIs: Interactive web interfaces for testing and demonstration
- Configuration Management: JSON-based server configuration
ð Learning Path
- Start with Tool Integration (3_*.py files)
- Learn basic tool calling with Streamlit
- Understand arXiv and Wikipedia API integration
- Explore MCP Servers (4_*.py files)
- Implement MCP servers with different transport protocols
- Compare STDIO vs SSE implementations
- Build MCP Clients (5_*.py and 6_*.py files)
- Create single and multi-server clients
- Master session management and tool orchestration
- Advanced Features (7_*.py files)
- Implement prompts and resources
- Build production-ready servers with Streamable HTTP
Project Structure:
mcp-courses/
âââ deeplearning_course/ # Complete MCP course materials
â âââ papers/ # arXiv paper storage
â âââ wiki_articles/ # Wikipedia article cache
â âââ server_config.json # Multi-server configuration
âââ main.py # Repository entry point
âââ requirements.txt # Python dependencies
âââ pyproject.toml # Project configuration
Contributing
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
ð License
This project is open source and available under the MIT License.
ð Resources
- MCP Official Documentation: Model Context Protocol
- Anthropic Tool use: Tool use Documentation
- Anthropic MCP Guide: MCP Documentation