Skip to content

Latest commit

 

History

History
119 lines (84 loc) · 3.13 KB

File metadata and controls

119 lines (84 loc) · 3.13 KB

Contributing to SimpleMCP

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).

🎯 Project Goals

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

🤝 How to Contribute

Reporting Issues

  • 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

Submitting Changes

  1. Fork the repository

  2. Create a branch for your changes:

    git checkout -b feature/your-feature-name
  3. Make your changes:

    • Keep code simple and well-commented
    • Follow existing code style
    • Add tests if adding functionality
    • Update documentation if needed
  4. Test your changes:

    pytest tests/
  5. Commit with clear messages:

    git commit -m "Add: brief description of what you added"
  6. Push and create a Pull Request:

    git push origin feature/your-feature-name

📝 Code Style

  • 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

🧪 Testing

  • All new code should include tests
  • Run pytest tests/ before submitting
  • Aim for clear, readable test names
  • Test both success and error cases

📚 Documentation

  • Update README.md if you change functionality
  • Keep setup instructions current
  • Add examples for new features
  • Use clear, beginner-friendly language

💡 Good First Contributions

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

🚀 Advanced Contributions

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

❓ Questions?

  • Open an issue with your question
  • Tag it with question
  • We're here to help!

📜 Code of Conduct

  • Be respectful and constructive
  • Welcome newcomers
  • Focus on learning and teaching
  • Keep discussions on-topic

🙏 Thank You!

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!