MCP Tools Reference: Android Device Management MCP Server

Tool: list_enterprises

Lists enterprises accessible to the caller.

The following sample demonstrate how to use curl to invoke the list_enterprises MCP tool.

Curl Request
                  
curl --location 'https://androidmanagement.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_enterprises",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Input Schema

Request to list EMM-managed enterprises.

ListEnterprisesRequest

JSON representation
{
  "projectId": string,
  "pageSize": integer,
  "pageToken": string,
  "view": enum (EnterpriseView)
}
Fields
projectId

string

Required. The Cloud project ID of the EMM managing the enterprises.

pageSize

integer

The requested page size. The actual page size may be fixed to a min or max value.

pageToken

string

A token identifying a page of results returned by the server.

view

enum (EnterpriseView)

Specifies which Enterprise fields to return. This method only supports BASIC.

Output Schema

Response to a request to list enterprises.

ListEnterprisesResponse

JSON representation
{
  "enterprises": [
    {
      object (Enterprise)
    }
  ],
  "nextPageToken": string
}
Fields
enterprises[]

object (Enterprise)

The list of enterprises.

nextPageToken

string

If there are more results, a token to retrieve next page of results.

Enterprise

JSON representation
{
  "name": string,
  "enabledNotificationTypes": [
    enum (NotificationType)
  ],
  "pubsubTopic": string,
  "primaryColor": integer,
  "logo": {
    object (ExternalData)
  },
  "enterpriseDisplayName": string,
  "termsAndConditions": [
    {
      object (TermsAndConditions)
    }
  ],
  "appAutoApprovalEnabled": boolean,
  "signinDetails": [
    {
      object (SigninDetail)
    }
  ],
  "contactInfo": {
    object (ContactInfo)
  },
  "googleAuthenticationSettings": {
    object (GoogleAuthenticationSettings)
  },
  "enterpriseType": enum (EnterpriseType),
  "managedGooglePlayAccountsEnterpriseType": enum (ManagedGooglePlayAccountsEnterpriseType),
  "managedGoogleDomainType": enum (ManagedGoogleDomainType)
}
Fields
name

string

The name of the enterprise which is generated by the server during creation, in the form enterprises/{enterpriseId}.

enabledNotificationTypes[]

enum (NotificationType)

The types of Google Pub/Sub notifications enabled for the enterprise.

pubsubTopic

string

The topic which Pub/Sub notifications are published to, in the form projects/{project}/topics/{topic}. This field is only required if Pub/Sub notifications are enabled.

primaryColor

integer

A color in RGB format that indicates the predominant color to display in the device management app UI. The color components are stored as follows: (red << 16) | (green << 8) | blue, where the value of each component is between 0 and 255, inclusive.

logo

object (ExternalData)

An image displayed as a logo during device provisioning. Supported types are: image/bmp, image/gif, image/x-ico, image/jpeg, image/png, image/webp, image/vnd.wap.wbmp, image/x-adobe-dng.

enterpriseDisplayName

string

The name of the enterprise displayed to users. This field has a maximum length of 100 characters.

termsAndConditions[]

object (TermsAndConditions)

Terms and conditions that must be accepted when provisioning a device for this enterprise. A page of terms is generated for each value in this list.

appAutoApprovalEnabled
(deprecated)

boolean

Deprecated and unused.

signinDetails[]

object (SigninDetail)

Sign-in details of the enterprise.

contactInfo

object (ContactInfo)

The enterprise contact info of an EMM-managed enterprise.

googleAuthenticationSettings

object (GoogleAuthenticationSettings)

Settings for Google-provided user authentication.

enterpriseType

enum (EnterpriseType)

Output only. The type of the enterprise.

managedGooglePlayAccountsEnterpriseType

enum (ManagedGooglePlayAccountsEnterpriseType)

Output only. The type of a managed Google Play Accounts enterprise.

managedGoogleDomainType

enum (ManagedGoogleDomainType)

Output only. The type of managed Google domain.

Int32Value

JSON representation
{
  "value": integer
}
Fields
value

integer

The int32 value.

ExternalData

JSON representation
{
  "url": string,
  "sha256Hash": string
}
Fields
url

string

The absolute URL to the data, which must use either the http or https scheme. Android Device Policy doesn't provide any credentials in the GET request, so the URL must be publicly accessible. Including a long, random component in the URL may be used to prevent attackers from discovering the URL.

sha256Hash

string

The base-64 encoded SHA-256 hash of the content hosted at url. If the content doesn't match this hash, Android Device Policy won't use the data.

TermsAndConditions

JSON representation
{
  "header": {
    object (UserFacingMessage)
  },
  "content": {
    object (UserFacingMessage)
  }
}
Fields
header

object (UserFacingMessage)

A short header which appears above the HTML content.

content

object (UserFacingMessage)

A well-formatted HTML string. It will be parsed on the client with android.text.Html#fromHtml.

UserFacingMessage

JSON representation
{
  "localizedMessages": {
    string: string,
    ...
  },
  "defaultMessage": string
}
Fields
localizedMessages

map (key: string, value: string)

A map containing <locale, message> pairs, where locale is a well-formed BCP 47 language code, such as en-US, es-ES, or fr.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

defaultMessage

string

The default message displayed if no localized message is specified or the user's locale doesn't match with any of the localized messages. A default message must be provided if any localized messages are provided.

LocalizedMessagesEntry

JSON representation
{
  "key": string,
  "value": string
}
Fields
key

string

value

string

SigninDetail

JSON representation
{
  "signinUrl": string,
  "signinEnrollmentToken": string,
  "qrCode": string,
  "allowPersonalUsage": enum (AllowPersonalUsage),
  "defaultStatus": enum (SigninDetailDefaultStatus),

  // Union field _token_tag can be only one of the following:
  "tokenTag": string
  // End of list of possible types for union field _token_tag.
}
Fields
signinUrl

string

Sign-in URL for authentication when device is provisioned with a sign-in enrollment token. The sign-in endpoint should finish authentication flow with a URL in the form of https://enterprise.google.com/android/enroll?et= for a successful login, or https://enterprise.google.com/android/enroll/invalid for a failed login.

signinEnrollmentToken

string

An enterprise wide enrollment token used to trigger custom sign-in flow. This is a read-only field generated by the server.

qrCode

string

A JSON string whose UTF-8 representation can be used to generate a QR code to enroll a device with this enrollment token. To enroll a device using NFC, the NFC record must contain a serialized java.util.Properties representation of the properties in the JSON. This is a read-only field generated by the server.

allowPersonalUsage

enum (AllowPersonalUsage)

Controls whether personal usage is allowed on a device provisioned with this enrollment token.

For company-owned devices:

  • Enabling personal usage allows the user to set up a work profile on the device.
  • Disabling personal usage requires the user provision the device as a fully managed device.

For personally-owned devices:

  • Enabling personal usage allows the user to set up a work profile on the device.
  • Disabling personal usage will prevent the device from provisioning. Personal usage cannot be disabled on personally-owned device.
defaultStatus

enum (SigninDetailDefaultStatus)

Optional. Whether the sign-in URL should be used by default for the enterprise. The SigninDetail with defaultStatus set to SIGNIN_DETAIL_IS_DEFAULT is used for Google account enrollment method. Only one of an enterprise's signinDetails can have defaultStatus set to SIGNIN_DETAIL_IS_DEFAULT. If an Enterprise has at least one signinDetails and none of them have defaultStatus set to SIGNIN_DETAIL_IS_DEFAULT then the first one from the list is selected and has set defaultStatus to SIGNIN_DETAIL_IS_DEFAULT. If no signinDetails specified for the Enterprise then the Google Account device enrollment will fail.

Union field _token_tag.

_token_tag can be only one of the following:

tokenTag

string

An EMM-specified metadata to distinguish between instances of SigninDetail.

ContactInfo

JSON representation
{
  "contactEmail": string,
  "dataProtectionOfficerName": string,
  "dataProtectionOfficerEmail": string,
  "dataProtectionOfficerPhone": string,
  "euRepresentativeName": string,
  "euRepresentativeEmail": string,
  "euRepresentativePhone": string
}
Fields
contactEmail

string

Email address for a point of contact, which will be used to send important announcements related to managed Google Play.

dataProtectionOfficerName

string

The name of the data protection officer.

dataProtectionOfficerEmail

string

The email of the data protection officer. The email is validated but not verified.

dataProtectionOfficerPhone

string

The phone number of the data protection officer The phone number is validated but not verified.

euRepresentativeName

string

The name of the EU representative.

euRepresentativeEmail

string

The email of the EU representative. The email is validated but not verified.

euRepresentativePhone

string

The phone number of the EU representative. The phone number is validated but not verified.

GoogleAuthenticationSettings

JSON representation
{
  "googleAuthenticationRequired": enum (GoogleAuthenticationRequired)
}
Fields
googleAuthenticationRequired

enum (GoogleAuthenticationRequired)

Output only. Whether users need to be authenticated by Google during the enrollment process. IT admin can specify if Google authentication is enabled for the enterprise for knowledge worker devices. This value can be set only via the Google Admin Console. Google authentication can be used with signin_url In the case where Google authentication is required and a signin_url is specified, Google authentication will be launched before signin_url.

Tool Annotations

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌