MCPcopy
hub / github.com/micromdm/micromdm

github.com/micromdm/micromdm @v1.13.1 sqlite

repository ↗ · DeepWiki ↗ · release v1.13.1 ↗
2,345 symbols 4,773 edges 217 files 227 documented · 10%
README

MicroMDM v1 - a devops friendly MDM server

[!WARNING] The MicroMDM "v1" project is in maintenance mode and support officially ends at the end of 2025. You are encouraged to explore or migrate to NanoMDM and other projects in the Nano-suite of projects.

CI

MicroMDM v1 is a Mobile Device Management server for Apple Devices, focused on giving you all the power through an API.

User Guide

  • Introduction
    Requirements and other information you should know before using MicroMDM.

  • Quickstart
    A quick guide to get MicroMDM up and running.

  • Enrolling Devices
    Describes customizing the enrollment profile and the options available to get the profile installed on a device. Covers DEP provisioning as well as manual profile installs.

  • API and Webhooks
    High level overview of the API used for scheduling device actions and processing the responses.

Developer Guide

To help with development, start by reading the CONTRIBUTING document, which has relevant resources.

For a local development environment, or a demo setup, the ngrok guide, is the best resource to get something working.

Extension points exported contracts — how you extend this code

BootstrapTokenRetriever (Interface)
BootBootstrapTokenRetriever retrieves BootStrap Tokens for devices [4 implementers]
mdm/service.go
Queue (Interface)
Queue is an MDM Command Queue. [2 implementers]
platform/command/service.go
Syncer (Interface)
(no doc) [3 implementers]
platform/dep/sync/depsync.go
File (Interface)
File is an io.Reader which knows its size. [1 implementers]
mdm/appmanifest/appmanifest.go
PushOption (FuncType)
PushOption adds optional parameters to the Push method.
platform/apns/push.go
GetClientConfigSrvOptions (FuncType)
These specify options for the ClientConfigSrv
vpp/clientconfigsrv.go
DeviceRequestOption (FuncType)
DeviceRequestOption is an optional parameter for the DeviceService API. The option can be used to set Cursor or Limit op
dep/devices.go
WorkerStore (Interface)
(no doc) [1 implementers]
platform/user/worker.go

Core symbols most depended-on inside this repo

String
called by 116
mdm/checkin_event.go
usageFor
called by 29
cmd/mdmctl/mdmdctl.go
DecodeJSONResponse
called by 28
pkg/httputil/httputil.go
Subscribe
called by 28
platform/pubsub/pubsub.go
EncodeRequestWithToken
called by 27
pkg/httputil/httputil.go
CopyURL
called by 27
pkg/httputil/httputil.go
Error
called by 23
mdm/checkin.go
Encode
called by 21
pkg/crypto/mdmcertutil/certutil.go

Shape

Method 1,361
Function 459
Struct 448
Interface 59
FuncType 13
TypeAlias 5

Languages

Go100%

Modules by API surface

mdm/mdm/internal/mdmproto/mdm.pb.go755 symbols
mdm/internal/checkinproto/checkin.pb.go83 symbols
mdm/mdm/command.go52 symbols
platform/device/internal/deviceproto/device.pb.go40 symbols
platform/dep/sync/internal/depsyncproto/depsync.pb.go32 symbols
platform/queue/internal/devicecommandproto/device_command.pb.go29 symbols
mdm/internal/connectproto/connect.pb.go27 symbols
platform/dep/sync/depsync.go24 symbols
mdm/enroll/service.go23 symbols
cmd/mdmctl/config.go20 symbols
platform/queue/queue.go19 symbols
platform/device/worker.go19 symbols

Dependencies from manifests, versioned

github.com/RobotsAndPencils/bufordv0.14.0 · 1×
github.com/boltdb/boltv1.3.1 · 1×
github.com/felixge/httpsnoopv1.0.3 · 1×
github.com/garyburd/go-oauthv0.0.0-2018031915545 · 1×
github.com/go-kit/kitv0.13.0 · 1×
github.com/go-kit/logv0.2.0 · 1×
github.com/go-logfmt/logfmtv0.5.1 · 1×
github.com/gorilla/handlersv1.5.2 · 1×
github.com/groob/finalizerv0.0.0-2017070711535 · 1×
github.com/jessepeterson/cfgprofilesv0.4.1 · 1×

For agents

$ claude mcp add micromdm \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact