Desktop Management MCP Server (rcobb2/desktop-management-mcp) is an MCP server listed on the M8ven Trust Index. It scores 56 out of 100, grade D. It declares 119 tools. No publisher has claimed this listing.

D
Caution
56/100

Desktop Management MCP Server

MCP server for managing devices via JAMF Pro and Microsoft Intune APIs, enabling AI assistants to query and control device management tasks.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

rcobb2

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
⚠️
Known vulnerabilities in dependencies: 10 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
119 tools verified — handlers match their declared behaviour
76 read-only tools verified — handlers contain no write/delete/exec
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 3 credentials: AZURE_CLIENT_SECRET, JAMF_CLIENT_SECRET, JAMF_PLATFORM_CLIENT_SECRET
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes119 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

intune_get_device_by_name
intune_get_device_by_serial
intune_get_autopilot_status
intune_list_autopilot_devices
intune_get_devices_by_user
intune_get_device_groups
intune_get_device_apps
intune_list_configuration_policies
intune_get_policy_assignments
intune_troubleshoot_device_policies
intune_troubleshoot_policy
intune_list_app_deployments
intune_get_app_assignments
intune_troubleshoot_app
intune_get_group_members
intune_list_devices
intune_create_win32_app
intune_assign_app_to_groups
intune_create_android_managed_store_app
intune_create_remediation
intune_assign_remediation
intune_run_remediation_now
intune_send_device_action
intune_set_device_category
intune_set_device_name
intune_set_autopilot_group_tag
intune_set_autopilot_friendly_name
intune_list_autopilot_deployment_profiles
intune_get_autopilot_deployment_profile
intune_assign_policy
intune_assign_app
intune_get_configuration_profile
intune_list_compliance_policies
intune_get_compliance_policy

Get the full detail and group assignments of a single Intune compliance policy, by ID or name.

intune_create_android_compliance_policy
intune_update_compliance_policy
intune_assign_compliance_policy
intune_create_android_configuration_profile
intune_update_configuration_profile
intune_list_app_configuration_policies
intune_get_app_configuration_policy
intune_create_android_app_configuration_policy
intune_update_app_configuration_policy
intune_assign_app_configuration_policy
intune_list_conditional_access_policies
intune_list_enrollment_restrictions
intune_get_configuration_conflicts
intune_get_app_install_status
jamf_get_computer
jamf_list_computers
jamf_get_computers_by_user
jamf_get_mobile_device
jamf_list_smart_groups
jamf_get_smart_group_members
jamf_get_smart_group
jamf_list_static_groups
jamf_list_user_groups
jamf_get_user_group
jamf_create_user_group
jamf_list_sites
jamf_list_scripts
jamf_get_script
jamf_list_packages
jamf_list_inventory_preload
jamf_list_prestage_configs
jamf_get_computer_by_serial
jamf_update_computer
jamf_assign_computers_to_prestage
jamf_upsert_inventory_preload_record
jamf_list_policies
jamf_list_self_service_policies
jamf_get_policy
jamf_list_configuration_profiles
jamf_get_configuration_profile
jamf_create_configuration_profile
jamf_delete_configuration_profile
jamf_get_sso_settings
jamf_get_self_service_branding
jamf_create_extension_attribute
jamf_list_patch_policies
jamf_list_departments
jamf_list_categories
jamf_flush_mdm_commands
jamf_flush_policy_logs
jamf_delete_computer
jamf_get_filevault_status
jamf_list_filevault_status
jamf_get_laps_accounts
jamf_get_laps_password
jamf_list_mobile_devices
jamf_create_script
jamf_upload_package
jamf_create_smart_group
jamf_create_smart_group_v2
jamf_create_policy
jamf_update_policy
jamf_update_policy_scripts
jamf_upload_policy_icon
jamf_list_ldap_servers
jamf_search_directory_user

19 further tools are not listed here. The complete surface is in the source.

// known CVEs in dependencies10 high6 medium12 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

highaxios@1.13.5GHSA-35jp-ww65-95wh

axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `config.proxy`

highaxios@1.13.5GHSA-3g43-6gmg-66jw

axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollution Gadget in Config Merge

highaxios@1.13.5GHSA-6chq-wfr3-2hj9

Axios: Header Injection via Prototype Pollution

highaxios@1.13.5GHSA-777c-7fjr-54vf

Allocation of Resources Without Limits or Throttling in Axios

highaxios@1.13.5GHSA-hfxv-24rg-xrqf

Axios: Regular Expression Denial of Service (ReDoS) via Cookie Name Injection

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configAZURE_CLIENT_IDAZURE_TENANT_ID, , AZURE_CLIENT_SECRET — Graph app-only client credentials for device data; unrelated to the Entra auth vars below
🔐 secretAZURE_CLIENT_SECRETAZURE_TENANT_ID, AZURE_CLIENT_ID, — Graph app-only client credentials for device data; unrelated to the Entra auth vars below
configAZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET — Graph app-only client credentials for device data; unrelated to the Entra auth vars below
configDEVICE_AUTH_CLIENT_ID
configDEVICE_AUTH_SCOPE
configENTRA_OAUTH_ENABLEDJAMF_MCP_PUBLIC_URL — this server's externally-visible origin, e.g. https://jamf-mcp.colgate.edu (required only when =true, used to build RFC 9728 resource metadata)
configENTRA_RESOURCE_APP_IDGUID app ID of the same resource app; accepted as an alternate valid aud value (see Authentication above)
configENTRA_RESOURCE_APP_ID_URIApplication ID URI of the resource app, e.g. api://colgate.edu/desktop-mgmt-mcp
configENTRA_TENANT_IDEntra tenant GUID (deliberately separate from AZURE_TENANT_ID above — different app registration, different purpose, don't reuse one BWS secret for both)
configINTUNE_MCP_PUBLIC_URLthis server's externally-visible origin, e.g. https://intune-mcp.colgate.edu (required only when ENTRA_OAUTH_ENABLED=true)
configJAMF_CLIENT_ID, JAMF_CLIENT_SECRET
🔐 secretJAMF_CLIENT_SECRETJAMF_CLIENT_ID,
configJAMF_MCP_PUBLIC_URLthis server's externally-visible origin, e.g. https://jamf-mcp.colgate.edu (required only when ENTRA_OAUTH_ENABLED=true, used to build RFC 9728 resource metadata)
configJAMF_PACKAGE_UPLOAD_DIRdirectory jamf_upload_package may read files from on this server's own filesystem. Required for that tool; it refuses every call if unset.
configJAMF_PLATFORM_CLIENT_ID
🔐 secretJAMF_PLATFORM_CLIENT_SECRET
configJAMF_PLATFORM_REGIONoptional, Platform API Gateway region ("us" default, "eu", "apac")
configJAMF_PLATFORM_TENANT_IDtenant UUID for the Platform API Gateway (distinct from JAMF_URL)
configJAMF_PLATFORM_URLtoken endpoint for the above credential (e.g. https://us.apigw.jamf.com/auth/token)
configJAMF_URLe.g. https://yourorg.jamfcloud.com
configMCP_MAX_CONCURRENT_REQUESTS
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployPORT
// quality suggestions

All four hints declared on every tool

119/119 tools missing one or more hints — intune_get_device_by_name (missing: destructiveHint, idempotentHint); intune_get_device_by_serial (missing: destructiveHint, idempotentHint); intune_get_autopilot_status (missing: destructiveHint, idempotentHint), +116 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool test coverage

Only 4/119 tools referenced in tests (3%)

Write tests that reference each tool by name so every tool has at least one test.

Production dependencies are patched

0 critical, 10 high severity in production deps — axios@1.13.5 (high), axios@1.13.5 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 3 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/rcobb2/desktop-management-mcp?variant=verified)](https://m8ven.ai/mcp/rcobb2/desktop-management-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 030eea053bf02a0ff6d04ad5760228fea13cccd6
code hash: 8c9dd53d49fde8c02d4de6490bb9b99bf760d93b7d3869658ba3018cbd381a96
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client