An async MCP server for Jamf Pro integration providing computer health analysis
Project description
JamfMCP
⚠️ Important ⚠️
This project is currently in active development and should be considered alpha-quality software. The API, features, and functionality are subject to change without notice. Users should expect:
- Breaking changes between versions
- Incomplete features and documentation
- Potential bugs and unexpected behavior
- API endpoints and tool signatures may change
Use in production environments at your own risk. Contributions and feedback are welcome!
An async MCP (Model Context Protocol) server for Jamf Pro integration, providing AI assistants with tools for computer health analysis, inventory management, and policy monitoring.
Features
- Computer Health Analysis: Generate comprehensive health scorecards with security compliance, CVE analysis, and system diagnostics
- Inventory Management: Search and retrieve detailed computer inventory information
- Policy & Configuration: Access policies, configuration profiles, scripts, and packages
- Security Intelligence: Integrate with macadmins SOFA feed for macOS security vulnerability tracking
- Organizational Data: Query buildings, departments, sites, network segments, and more
- Async Architecture: Built with modern async Python for high performance
- Flexible Authentication: Support for both basic auth and OAuth client credentials
Installation
pip install jamfmcp
Quick Setup
Use the JamfMCP CLI tool for automated setup:
# For Claude Desktop
jamfmcp setup -p claude-desktop
# For Cursor
jamfmcp setup -p cursor
# For other platforms
jamfmcp setup -p <platform>
The CLI will guide you through the entire configuration process.
Documentation
For detailed installation, configuration, and usage instructions, please visit the full documentation.
Key Documentation Sections:
- Getting Started - Installation and prerequisites
- CLI Setup Guide - Automated configuration tool
- Quickstart Guide - Example queries and workflows
- Configuration - Platform-specific setup
- Troubleshooting - Common issues and solutions
Important Notes for Claude Desktop Users
Claude Desktop requires uv to be installed via Homebrew on macOS. See the prerequisites documentation for critical setup requirements.
Basic Usage
Once configured, you can ask your AI assistant questions like:
- "Generate a health scorecard for computer with serial ABC123"
- "Find all computers that haven't checked in for 30 days"
- "What CVEs affect computers running macOS 14.5?"
- "List all configuration profiles and their scope"
Development
For contributors and developers:
# Clone and install for development
git clone https://github.com/liquidz00/jamfmcp.git
cd jamfmcp
make install-dev
# Run tests
make test
# For local development setup
jamfmcp setup -p <platform> --local
See the development documentation for detailed contribution guidelines.
Support
- Documentation: liquidz00.github.io/jamfmcp
- Issues: GitHub Issues
- Discussions: MacAdmins Slack #jamfmcp
Contributing
Contributions are welcome! Please see our contributing guide for details.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Acknowledgments
- Built with FastMCP
- Security intelligence from macadmins SOFA
- Jamf Pro API documentation: developer.jamf.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jamfmcp-1.0.1.tar.gz.
File metadata
- Download URL: jamfmcp-1.0.1.tar.gz
- Upload date:
- Size: 97.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f032a378b388bebfd8aa81a7f8a6769cbcb521ad66de5350fe609c1b492d5b7
|
|
| MD5 |
ab623d89988878f5c8ffcba0e774d57b
|
|
| BLAKE2b-256 |
f8eb2a961f9efe5a926990575baa6b0ba1e4978a4d1fef5d4722192563f9750e
|
Provenance
The following attestation bundles were made for jamfmcp-1.0.1.tar.gz:
Publisher:
build-release-publish.yml on liquidz00/jamfmcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jamfmcp-1.0.1.tar.gz -
Subject digest:
1f032a378b388bebfd8aa81a7f8a6769cbcb521ad66de5350fe609c1b492d5b7 - Sigstore transparency entry: 687951109
- Sigstore integration time:
-
Permalink:
liquidz00/jamfmcp@99a106f6e998da2dccef9c831b3ff9471f01cfe8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/liquidz00
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-release-publish.yml@99a106f6e998da2dccef9c831b3ff9471f01cfe8 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file jamfmcp-1.0.1-py3-none-any.whl.
File metadata
- Download URL: jamfmcp-1.0.1-py3-none-any.whl
- Upload date:
- Size: 103.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
123facbe4fce5be29b940822caafa49f39471f19d00bd69eda2350d0569bf504
|
|
| MD5 |
eb649a562a043aca2afc23aca96b7876
|
|
| BLAKE2b-256 |
9302a60c33400592f0a782180deb2c6e5c6988d702458a20525454749e28f4c8
|
Provenance
The following attestation bundles were made for jamfmcp-1.0.1-py3-none-any.whl:
Publisher:
build-release-publish.yml on liquidz00/jamfmcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jamfmcp-1.0.1-py3-none-any.whl -
Subject digest:
123facbe4fce5be29b940822caafa49f39471f19d00bd69eda2350d0569bf504 - Sigstore transparency entry: 687951239
- Sigstore integration time:
-
Permalink:
liquidz00/jamfmcp@99a106f6e998da2dccef9c831b3ff9471f01cfe8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/liquidz00
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-release-publish.yml@99a106f6e998da2dccef9c831b3ff9471f01cfe8 -
Trigger Event:
workflow_dispatch
-
Statement type: