Skip to main content
Glama
mgcrea

@mgcrea/mcp-cloudkit

by mgcrea

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CLOUDKIT_DEBUGNoSet to 1 to log to stderr.
CLOUDKIT_TEAM_IDYesYour 10-character Apple Developer team id.
CLOUDKIT_MAX_RETRIESNoRetry budget for 429/5xx. Defaults to 3.3
CLOUDKIT_ALLOW_WRITESNoSet to 1 to register cloudkit_deploy_schema and cloudkit_import_schema. Off by default.0
CLOUDKIT_CONTAINER_IDNoDefault container, e.g. iCloud.com.acme.App, so it need not be passed on every call.
CLOUDKIT_MANAGEMENT_TOKENYesYour CloudKit management token (Apple's own variable name used by xcrun cktool).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
cloudkit_auth_statusA

Report whether this server has a working CloudKit management token, whether writes are enabled, and — when something is missing — exactly what to set. Call this first when a tool you expected is not listed: an absent tool here means missing configuration rather than a bug.

cloudkit_list_containersA

List the CloudKit containers this team can manage, with their ids. Use this to find the container id the other cloudkit_* tools take.

cloudkit_list_record_typesA

List a container environment's record types and their fields. This is how you confirm a newly added field actually reached CloudKit: Core Data and SwiftData prefix everything with CD_, so a Swift property isHidden on Track appears here as CD_isHidden on CD_Track. A field missing from DEVELOPMENT has not been written by any client yet — there is nothing to deploy until one has.

cloudkit_export_schemaA

Export an environment's full schema as a .ckdb document. Returns the text, or writes it to outputPath and reports where it went. Exporting both environments and diffing them locally is one way to review a pending change; cloudkit_diff_schema is the direct one.

cloudkit_diff_schemaA

Show what deploying would change: the pending differences between the container's DEVELOPMENT and PRODUCTION schemas, one row per change. Read this before cloudkit_deploy_schema. Production is additive-only and irreversible — a field can be added forever, but never removed, renamed or retyped — so a diff proposing anything other than additions is a reason to stop.

cloudkit_validate_schemaA

Validate a local .ckdb file against a container environment without importing it. Read-only: it reports whether the schema would be accepted, and changes nothing.

cloudkit_requestA

Escape hatch: issue an arbitrary CloudKit management API request. The other cloudkit_* tools cover the documented-by-observation routes; this exists because the API is undocumented, so one endpoint being shaped differently than expected should not make the rest unreachable. Prefer a specific tool when one fits. Only GET is available while writes are disabled.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct concern: auth status, container discovery, record type introspection, schema export, diff, validation, and an escape hatch for raw API calls. The only potential overlap is between export_schema and diff_schema, but their descriptions clearly separate full export from pending-change diff.

Naming Consistency4/5

All tools share the cloudkit_ prefix and mostly follow a verb_noun pattern like list_containers, export_schema, diff_schema. The one deviation is cloudkit_auth_status, which uses a noun-ish status instead of a verb like get_auth_status, but the pattern is otherwise consistent.

Tool Count5/5

Seven tools is a well-scoped size for a specialized CloudKit management server. Each tool adds a meaningful capability, and the escape hatch covers undocumented edge cases without bloating the surface.

Completeness2/5

The set supports listing, exporting, diffing, and validating schemas, but cloudkit_diff_schema explicitly tells agents to read it before cloudkit_deploy_schema, and no deploy tool exists. This creates a dead end: an agent can prepare a deployment review but cannot actually perform the deployment, and there is no import/write path despite auth_status mentioning write state.

Maintenance

ActivityMaintained
ResponsivenessNo issues