Skip to main content
Glama
concavegit
by concavegit

list_devices

Retrieve registered devices for your Apple development team. Filter by name, platform, status, or UDID to manage testing and provisioning workflows.

Instructions

Get a list of all devices registered to your team

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of devices to return (default: 100, max: 200)
sortNoSort order for the results
filterNo
fieldsNo

Implementation Reference

  • The main execution logic for the 'list_devices' tool. Constructs query parameters from input args (limit, sort, filter, fields) using utility functions and calls the AppStoreConnectClient GET '/devices' endpoint.
    async listDevices(args: { limit?: number; sort?: DeviceSortOptions; filter?: DeviceFilters; fields?: { devices?: DeviceFieldOptions[]; }; } = {}): Promise<ListDevicesResponse> { const { limit = 100, sort, filter, fields } = args; const params: Record<string, any> = { limit: sanitizeLimit(limit) }; if (sort) { params.sort = sort; } Object.assign(params, buildFilterParams(filter)); Object.assign(params, buildFieldParams(fields)); return this.client.get<ListDevicesResponse>('/devices', params); }
  • src/index.ts:1380-1382 (registration)
    Registers the 'list_devices' tool name in the MCP server switch statement, mapping tool calls to the DeviceHandlers.listDevices method.
    case "list_devices": return { toolResult: await this.deviceHandlers.listDevices(args as any) };
  • Defines the tool schema including name, description, and detailed inputSchema for parameters (limit, sort, filter, fields) used for validation in MCP.
    name: "list_devices", description: "Get a list of all devices registered to your team", inputSchema: { type: "object", properties: { limit: { type: "number", description: "Maximum number of devices to return (default: 100, max: 200)", minimum: 1, maximum: 200 }, sort: { type: "string", description: "Sort order for the results", enum: [ "name", "-name", "platform", "-platform", "status", "-status", "udid", "-udid", "deviceClass", "-deviceClass", "model", "-model", "addedDate", "-addedDate" ] }, filter: { type: "object", properties: { name: { type: "string", description: "Filter by device name" }, platform: { type: "string", description: "Filter by platform", enum: ["IOS", "MAC_OS"] }, status: { type: "string", description: "Filter by status", enum: ["ENABLED", "DISABLED"] }, udid: { type: "string", description: "Filter by device UDID" }, deviceClass: { type: "string", description: "Filter by device class", enum: ["APPLE_WATCH", "IPAD", "IPHONE", "IPOD", "APPLE_TV", "MAC"] } } }, fields: { type: "object", properties: { devices: { type: "array", items: { type: "string", enum: ["name", "platform", "udid", "deviceClass", "status", "model", "addedDate"] }, description: "Fields to include for each device" } } } } } },
  • TypeScript interface defining the expected output structure for the list_devices response.
    export interface ListDevicesResponse { data: Device[]; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/concavegit/app-store-connect-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server