Contributor Guide

Thank you for your interest in contributing to JamfMCP! This guide will help you get started.

Code of Conduct

By participating in this project, you agree to abide by our code of conduct:

  • Be respectful and inclusive

  • Welcome newcomers and help them get started

  • Focus on constructive criticism

  • Respect differing viewpoints and experiences

Prerequisites

  • Python 3.13 or higher

  • uv package manager

  • Git for version control

  • GitHub account

Development Overview

👾 Development Guide

Configuring your development environment for best success

Development Guide
🔐 Security Considerations

Security practices to keep in mind when contributing

Security Considerations
🚀 FastMCP Logging

Implementing FastMCP logging mechanisms

FastMCP Client Logging
🧪 Testing

Testing strategies and running tests

Testing Guide

Development Principles

Code Quality

  • Type Hints: All functions typed

  • Docstrings: Sphinx-style documentation

  • Testing: Comprehensive test coverage

  • Linting: Ruff for style consistency

Async First

  • All API calls are async

  • Use asyncio patterns

  • Handle concurrency properly

  • Avoid blocking operations

Error Handling

  • Structured error responses

  • Proper logging at all levels

  • Graceful degradation

  • User-friendly messages