Thank you for your interest in contributing to SimpleMCP! This is an educational project designed to help developers learn the Anthropic Model Context Protocol (MCP).
SimpleMCP aims to be:
- Simple: Easy to understand for beginners
- Educational: Clear examples of MCP integration
- Well-documented: Every concept explained
- Practical: Real working code that can be extended
-
Bugs: If something doesn't work, open an issue with:
- What you expected to happen
- What actually happened
- Steps to reproduce
- Your environment (OS, Python version)
-
Documentation: Found something unclear? Let us know!
-
Feature Ideas: Have an idea? Open an issue to discuss it first
-
Fork the repository
-
Create a branch for your changes:
git checkout -b feature/your-feature-name
-
Make your changes:
- Keep code simple and well-commented
- Follow existing code style
- Add tests if adding functionality
- Update documentation if needed
-
Test your changes:
pytest tests/
-
Commit with clear messages:
git commit -m "Add: brief description of what you added" -
Push and create a Pull Request:
git push origin feature/your-feature-name
- Python: Follow PEP 8
- Comments: Explain why, not what
- Docstrings: Use clear, helpful docstrings
- Type Hints: Use type hints where helpful
- Keep it simple: This is an educational example
- All new code should include tests
- Run
pytest tests/before submitting - Aim for clear, readable test names
- Test both success and error cases
- Update README.md if you change functionality
- Keep setup instructions current
- Add examples for new features
- Use clear, beginner-friendly language
Here are some ideas for first-time contributors:
- Add more example stories to
stories/stories.json - Improve documentation - fix typos, clarify explanations
- Add more tests - increase test coverage
- Create example clients - show how to use the servers
- Add code comments - help others understand the code
- Fix bugs - check the issues page
For experienced developers:
- Add new MCP tools - extend functionality
- Performance improvements - optimize without sacrificing clarity
- Additional transports - WebSocket, etc.
- Security enhancements - authentication, rate limiting
- CI/CD setup - automated testing and deployment
- Open an issue with your question
- Tag it with
question - We're here to help!
- Be respectful and constructive
- Welcome newcomers
- Focus on learning and teaching
- Keep discussions on-topic
Every contribution, big or small, helps make this project better for everyone learning MCP!
Remember: The goal is to help people learn. Clear, simple code is better than clever code!