Skip to content

Commit 82054ea

Browse files
committed
🚀 Complete MCP Tutorial v1.0 - 17 notebooks, 3 examples, production-ready AI integration guide
0 parents  commit 82054ea

34 files changed

+4149
-0
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
---
2+
name: 🐛 Bug Report
3+
about: Create a report to help us improve the MCP tutorial
4+
title: '[BUG] '
5+
labels: ['bug', 'needs-triage']
6+
assignees: ''
7+
---
8+
9+
## 🐛 Bug Description
10+
<!-- A clear and concise description of what the bug is -->
11+
12+
## 📍 Location
13+
<!-- Which part of the tutorial is affected? -->
14+
- [ ] Beginner notebooks (01-05)
15+
- [ ] Intermediate notebooks (06-10)
16+
- [ ] Advanced notebooks (11-17)
17+
- [ ] Weather MCP example
18+
- [ ] Database Manager example
19+
- [ ] File Processor example
20+
- [ ] Documentation
21+
- [ ] Setup/Installation
22+
23+
**Specific file**: <!-- e.g., notebooks/beginner/03_your_first_mcp.ipynb -->
24+
25+
## 🔄 Steps to Reproduce
26+
<!-- Steps to reproduce the behavior -->
27+
1. Go to '...'
28+
2. Run cell '...'
29+
3. Execute command '...'
30+
4. See error
31+
32+
## 💻 Expected Behavior
33+
<!-- A clear description of what you expected to happen -->
34+
35+
## 📸 Actual Behavior
36+
<!-- What actually happened? Include error messages, screenshots, etc. -->
37+
38+
```
39+
Paste error message or unexpected output here
40+
```
41+
42+
## 🖥️ Environment
43+
<!-- Please complete the following information -->
44+
- **OS**: [e.g. macOS 13.0, Windows 11, Ubuntu 22.04]
45+
- **Python version**: [e.g. 3.9.7]
46+
- **Jupyter version**: [e.g. Lab 3.6.0, Notebook 6.4.0]
47+
- **Browser** (if relevant): [e.g. Chrome 108, Safari 16]
48+
- **Virtual environment**: [e.g. venv, conda, pipenv]
49+
50+
## 📦 Dependencies
51+
<!-- If relevant, paste the output of: pip list | grep -E "(mcp|jupyter|fastapi)" -->
52+
```
53+
# Paste relevant package versions here
54+
```
55+
56+
## 🔧 Additional Context
57+
<!-- Add any other context about the problem here -->
58+
- [ ] This issue appears to be related to a specific operating system
59+
- [ ] This issue might be environment-specific
60+
- [ ] This worked in a previous version
61+
- [ ] I've searched existing issues and this is not a duplicate
62+
63+
## 🤝 Contribution
64+
<!-- Optional: Are you willing to help fix this? -->
65+
- [ ] I'd like to work on fixing this issue
66+
- [ ] I can provide additional testing
67+
- [ ] I have a potential solution in mind
68+
69+
---
70+
71+
**Thank you for helping improve the MCP tutorial! 🙏**
72+
73+
> 💡 **Pro tip**: The more details you provide, the faster we can help you!
74+
> ⭐ Don't forget to star the repo if this tutorial is helpful!
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
name: 💡 Feature Request
3+
about: Suggest an idea for the MCP tutorial
4+
title: '[FEATURE] '
5+
labels: ['enhancement', 'feature-request']
6+
assignees: ''
7+
---
8+
9+
## 🚀 Feature Summary
10+
<!-- A clear and concise description of what you want to happen -->
11+
12+
## 🎯 Motivation
13+
<!-- Why is this feature needed? What problem does it solve? -->
14+
**Is your feature request related to a problem?**
15+
- [ ] Yes, I'm frustrated when...
16+
- [ ] No, this is an enhancement
17+
18+
**Problem description**:
19+
<!-- A clear description of what the problem is. Ex. I'm always frustrated when [...] -->
20+
21+
## 💡 Proposed Solution
22+
<!-- Describe the solution you'd like -->
23+
24+
## 🔄 Alternatives Considered
25+
<!-- Describe any alternative solutions or features you've considered -->
26+
27+
## 📚 Content Type
28+
<!-- What type of content/feature are you requesting? -->
29+
- [ ] New tutorial notebook
30+
- [ ] Example project
31+
- [ ] Documentation improvement
32+
- [ ] Tool/utility
33+
- [ ] Performance improvement
34+
- [ ] Security enhancement
35+
- [ ] Testing improvement
36+
37+
## 🎯 Target Audience
38+
<!-- Who would benefit from this feature? -->
39+
- [ ] Complete beginners
40+
- [ ] Intermediate developers
41+
- [ ] Advanced/enterprise users
42+
- [ ] All skill levels
43+
44+
## 📊 Complexity Estimate
45+
<!-- How complex do you think this would be to implement? -->
46+
- [ ] Simple (few hours)
47+
- [ ] Medium (few days)
48+
- [ ] Complex (weeks)
49+
- [ ] Not sure
50+
51+
## 🎨 Mockups/Examples
52+
<!-- If applicable, add mockups, code examples, or links to help explain your feature -->
53+
54+
```python
55+
# Example code or pseudocode if relevant
56+
```
57+
58+
## 🌟 Additional Context
59+
<!-- Add any other context, screenshots, or examples about the feature request -->
60+
61+
## 🤝 Contribution
62+
<!-- Are you willing to help implement this? -->
63+
- [ ] I'd like to work on this feature
64+
- [ ] I can help with documentation
65+
- [ ] I can help with testing
66+
- [ ] I can provide examples/use cases
67+
- [ ] I prefer someone else implements it
68+
69+
## 📈 Success Metrics
70+
<!-- How would we know this feature is successful? -->
71+
- [ ] Improves learning experience
72+
- [ ] Reduces common questions/issues
73+
- [ ] Enables new use cases
74+
- [ ] Improves performance
75+
- [ ] Better community engagement
76+
77+
---
78+
79+
**Thank you for contributing ideas to make MCP tutorial better! 🙏**
80+
81+
> 💡 **Pro tip**: The more detailed your request, the more likely it gets implemented!
82+
> ⭐ Star the repo if you find it useful!

.github/ISSUE_TEMPLATE/question.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
name: ❓ Question
3+
about: Ask a question about MCP or this tutorial
4+
title: '[QUESTION] '
5+
labels: ['question', 'help-wanted']
6+
assignees: ''
7+
---
8+
9+
## ❓ Question
10+
<!-- Clear and concise question about MCP or the tutorial -->
11+
12+
## 📍 Context
13+
<!-- What are you trying to accomplish? -->
14+
**What I'm trying to do:**
15+
<!-- Describe your goal or what you're working on -->
16+
17+
**Where I'm stuck:**
18+
<!-- What specific part is confusing or not working? -->
19+
20+
## 📚 Tutorial Section
21+
<!-- Which part of the tutorial is this related to? -->
22+
- [ ] Beginner notebooks (01-05)
23+
- [ ] Intermediate notebooks (06-10)
24+
- [ ] Advanced notebooks (11-17)
25+
- [ ] Examples (weather/database/file processor)
26+
- [ ] General MCP concepts
27+
- [ ] Setup/Installation
28+
- [ ] Not tutorial-specific
29+
30+
**Specific location**: <!-- e.g., notebook name, section, code cell -->
31+
32+
## 🔍 What I've Tried
33+
<!-- What steps have you already taken to solve this? -->
34+
- [ ] Searched existing issues
35+
- [ ] Checked the documentation
36+
- [ ] Tried different approaches
37+
- [ ] Asked in community forums
38+
- [ ] Googled the error/concept
39+
40+
**Attempts so far:**
41+
```
42+
Describe what you've tried or paste code/errors you encountered
43+
```
44+
45+
## 💻 Environment (if relevant)
46+
<!-- Include if this is a technical question -->
47+
- **OS**: [e.g. macOS, Windows, Linux]
48+
- **Python version**: [e.g. 3.9]
49+
- **Jupyter**: [e.g. Lab, Notebook]
50+
51+
## 🎯 Question Category
52+
<!-- What type of question is this? -->
53+
- [ ] **Conceptual** - Help understanding MCP concepts
54+
- [ ] **Technical** - Code not working or behaving unexpectedly
55+
- [ ] **Best Practices** - How to implement something correctly
56+
- [ ] **Use Case** - How to apply MCP to my specific project
57+
- [ ] **Architecture** - Design and structural questions
58+
- [ ] **Performance** - Optimization and scaling questions
59+
- [ ] **Security** - Safety and security concerns
60+
- [ ] **Integration** - Connecting with other tools/platforms
61+
62+
## 🚀 My Background
63+
<!-- Help us tailor our answer to your experience level -->
64+
- [ ] New to MCP
65+
- [ ] New to AI/LLM development
66+
- [ ] Experienced developer, new to AI
67+
- [ ] Experienced with AI, new to MCP
68+
- [ ] Experienced with both
69+
70+
## 🎨 Additional Details
71+
<!-- Any other information that might be helpful -->
72+
73+
---
74+
75+
**Thank you for engaging with the MCP tutorial community! 🙏**
76+
77+
> 💡 **Pro tip**: Good questions help everyone learn - don't hesitate to ask!
78+
> ⭐ Consider starring the repo if it's been helpful!

.github/workflows/welcome.yml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
name: 🎉 Welcome New Contributors
2+
3+
on:
4+
issues:
5+
types: [opened]
6+
pull_request_target:
7+
types: [opened]
8+
9+
jobs:
10+
welcome:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
issues: write
14+
pull-requests: write
15+
steps:
16+
- name: 🎉 Welcome new issue authors
17+
if: github.event_name == 'issues'
18+
uses: actions/github-script@v7
19+
with:
20+
script: |
21+
const issue = context.payload.issue;
22+
const author = issue.user.login;
23+
24+
// Check if this is the author's first issue
25+
const { data: authorIssues } = await github.rest.search.issuesAndPullRequests({
26+
q: `repo:${context.repo.owner}/${context.repo.repo} author:${author} type:issue`,
27+
});
28+
29+
if (authorIssues.total_count === 1) {
30+
const welcomeMessage = `🎉 **Welcome to the MCP Tutorial community, @${author}!**
31+
32+
Thank you for opening your first issue! We're excited to help you on your MCP journey.
33+
34+
## 🚀 Quick Links to Get You Started
35+
- 📖 [Quick Start Guide](https://github.com/${context.repo.owner}/${context.repo.repo}#-quick-start)
36+
- 💬 [Community Discussions](https://github.com/${context.repo.owner}/${context.repo.repo}/discussions)
37+
- 🔧 [Troubleshooting Guide](https://github.com/${context.repo.owner}/${context.repo.repo}/blob/main/resources/cheatsheets/mcp_quick_reference.md#-troubleshooting)
38+
39+
## 💡 Tips for Getting Help Faster
40+
- Include specific error messages if you're having technical issues
41+
- Mention which notebook or example you're working with
42+
- Share your environment details (OS, Python version, etc.)
43+
44+
## 🌟 Love the Tutorial?
45+
If this tutorial has been helpful, please consider:
46+
- ⭐ **Starring this repository** (it really helps!)
47+
- 🐦 **Sharing on social media**
48+
- 📝 **Writing about your MCP projects**
49+
50+
We'll respond as soon as possible. Happy learning! 🚀`;
51+
52+
await github.rest.issues.createComment({
53+
issue_number: issue.number,
54+
owner: context.repo.owner,
55+
repo: context.repo.repo,
56+
body: welcomeMessage
57+
});
58+
}
59+
60+
- name: 🚀 Welcome new PR contributors
61+
if: github.event_name == 'pull_request_target'
62+
uses: actions/github-script@v7
63+
with:
64+
script: |
65+
const pr = context.payload.pull_request;
66+
const author = pr.user.login;
67+
68+
// Check if this is the author's first PR
69+
const { data: authorPRs } = await github.rest.search.issuesAndPullRequests({
70+
q: `repo:${context.repo.owner}/${context.repo.repo} author:${author} type:pr`,
71+
});
72+
73+
if (authorPRs.total_count === 1) {
74+
const welcomeMessage = `🚀 **Welcome to the MCP Tutorial community, @${author}!**
75+
76+
Thank you for your first contribution! We're thrilled to have you as a contributor.
77+
78+
## 📋 Contribution Checklist
79+
Please ensure your PR includes:
80+
- [ ] Clear description of what changes you made
81+
- [ ] Any new dependencies are added to \`requirements.txt\`
82+
- [ ] Code follows our [style guide](https://github.com/${context.repo.owner}/${context.repo.repo}/blob/main/CONTRIBUTING.md#-style-guide)
83+
- [ ] Documentation is updated if needed
84+
- [ ] Tests pass (if applicable)
85+
86+
## 🧪 Testing Your Changes
87+
If you've added new notebooks or examples, please test them:
88+
\`\`\`bash
89+
jupyter nbconvert --to notebook --execute your-notebook.ipynb
90+
\`\`\`
91+
92+
## 🎉 What Happens Next?
93+
1. **Automated checks** will run on your PR
94+
2. **Maintainers will review** your changes (usually within 48 hours)
95+
3. We may suggest **improvements or ask questions**
96+
4. Once approved, your contribution will be **merged**!
97+
98+
## 🌟 Recognition
99+
All contributors are recognized in our README and receive special badges. Thank you for making the MCP tutorial better for everyone!
100+
101+
---
102+
103+
**Questions?** Feel free to ask in the PR comments or [start a discussion](https://github.com/${context.repo.owner}/${context.repo.repo}/discussions).
104+
105+
⭐ Don't forget to star the repo if you haven't already!`;
106+
107+
await github.rest.issues.createComment({
108+
issue_number: pr.number,
109+
owner: context.repo.owner,
110+
repo: context.repo.repo,
111+
body: welcomeMessage
112+
});
113+
}

0 commit comments

Comments
 (0)