Chrome Enterprise Premium MCP Server
OfficialProvides tools for managing Chrome Enterprise Premium resources, including DLP rules, content detectors, connector policies, browser telemetry, and license management, allowing AI agents to inspect and configure Chrome Enterprise environments.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Chrome Enterprise Premium MCP Serverlist all DLP rules and their status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Chrome Enterprise Premium MCP Server
A Model Context Protocol (MCP) server for Chrome Enterprise Premium (CEP). CEP extends Chrome's built-in security with Data Loss Prevention (DLP), real-time threat protection (phishing and malware scanning), and Context-Aware Access controls. This server exposes CEP's DLP rules, content detectors, connector policies, browser telemetry, and license management as MCP tools, so any MCP-compatible AI agent can inspect and configure a Chrome Enterprise environment.
Prerequisites
Before setting up the MCP server, ensure you have the following:
Node.js & npm: Node.js version
20.0.0or higher installed locally.Google Workspace Account:
Any Workspace edition with a Chrome Enterprise Premium license.
An administrator role in the Admin Console (Super Admin or delegated with Chrome Management and DLP permissions). Standard Workspace accounts (or Google Cloud IAM permissions alone) do not grant access and will return
403 Permission Deniederrors with no indication that a Workspace role is missing.
OAuth App Trust (if required): If your organization restricts third-party app access, a Super Admin must trust the OAuth client in the Admin Console before you can authenticate.
MCP Client: A compatible MCP host application (such as Gemini CLI, Claude Desktop, Cursor, Windsurf, or VS Code).
Quick start
Get up and running in less than 2 minutes using the bundled Google-managed OAuth client. No repository cloning required!
1. Connect your MCP client
The server uses stdio transport; your MCP client launches it as a child process. Depending on your client, connect the server using one of the following methods:
If you are using the Gemini CLI, you can install this repository directly as an extension with a single command. This automatically configures the MCP connection and loads the built-in AI guidance rules:
gemini extensions install https://github.com/google/chrome-enterprise-premium-mcpFor all other MCP-compatible clients (such as Claude Desktop, Cursor, Windsurf, or VSCode), add this configuration block to your client's settings file (e.g., claude_desktop_config.json or ~/.gemini/settings.json):
{
"mcpServers": {
"cep": {
"command": "npx",
"args": ["-y", "@google/chrome-enterprise-premium-mcp@latest"],
"env": { "GCP_STDIO": "true" }
}
}
}2. Query the agent
Restart your MCP client, then ask the agent to perform a check, for example:
"How can you help me use Chrome Enterprise Premium?"
"How do I set up a rule to block uploads of credit card numbers?"
"List my Chrome Enterprise Premium DLP rules."
Authentication: The first time you run a query that calls a tool requiring authentication, the agent will prompt you to sign in.
Desktop: A browser tab will open automatically on Google's consent screen.
Headless/Remote: If you are on SSH, Cloud Shell, or a container, the agent will provide a consent URL. Open it locally, sign in, and paste the redirect URL back to the agent in the chat.
CLI Fallback: If you prefer to authenticate via the terminal, you can run:
npx @google/chrome-enterprise-premium-mcp auth login
Related MCP server: MCP Google Workspace Server
Security & Blast Radius Warning
This server is an administrator-level interface to Chrome Enterprise Premium. When you connect it to an MCP client, you can use natural-language prompts to:
Create and modify DLP rules and content detectors.
Change connector policies.
Force-install browser extensions onto every managed Chrome browser.
Enable Google Cloud APIs on your project.
An attacker who plants hidden instructions in untrusted inputs—mail, documents, scraped pages, ticket bodies—can hijack the connected MCP client through indirect prompt injection. The attacker can then run those tools without your consent.
To reduce the blast radius:
Connect this server only to MCP clients you trust, on data sources you trust.
Treat every document, message, and webpage you put in front of the agent as untrusted. It might contain hidden instructions.
Pay extra attention to mutating tools (
create_*,update_*,enable_*); they have tenant-wide security impact.Use a dedicated, least-privilege admin account when experimenting.
Workspace Scopes & Permissions
The scope set requested during the "Sign in" consent flow maps directly to the underlying Google APIs needed for the server's tools:
Scope | API | Used for |
| OpenID Connect | Identifies the logged-in admin in startup output |
| Reading and writing connector and extension policies | |
| Telemetry version counts | |
| Listing managed browser profiles | |
| Fetching Chrome activity logs | |
| Organizational Unit hierarchy | |
| Customer ID resolution | |
| CEP subscription and per-user license checks | |
| Managing DLP rules and content detectors (CRUD) | |
| Verifying and enabling required Google Cloud APIs |
OAuth App Trust Required: If your organization restricts third-party app access, a Super Admin must trust the OAuth client in the Admin Console before you can authenticate.
Advanced Authentication Options
For production environments, headless systems, or customized configurations, the server supports alternative auth pathways:
Custom OAuth Client: To run under your own Google Cloud project instead of the default managed one (enabling you to manage your own consent screen and credentials), see Use a Custom OAuth Client.
Headless / SSH Sessions: To authenticate on remote hosts or CI runners without a web browser, see Sign In from a Host Without a Browser.
Hosted Deployments: For Cloud Run, Vertex AI Agent Engine, or service-account automation, see the Authentication Setup Matrix.
Configuration
For environment variables and stdio vs. HTTP transport, see
docs/configuration.md.
Available tools and prompts
Prompts
Prompt | Description |
| Health check of the Chrome Enterprise environment (APIs, DLP, connectors, extensions). |
| Rule-by-rule review with tuning, enforcement, and cleanup recommendations. |
| Manually re-injects the expert persona and rules (useful if the agent loses context). |
Tools
The server exposes tools for reading and managing Chrome Enterprise resources:
Discovery: get customer ID, list org units, count browser versions, list customer profiles
Licensing: check CEP subscription status, check per-user license assignment
DLP: list/create DLP rules, list/create detectors (regex, word list, URL list), create default rule sets
Connectors: get connector policy status, enable Chrome Enterprise connectors
Extensions: check SEB extension status, install SEB extension
Security: get Chrome activity logs, check and enable required APIs
Knowledge: retrieve documentation from the built-in Chrome Enterprise Premium knowledge base
Architecture
The codebase has three layers: API clients in lib/api/ (one interface +
real implementation per Google API), MCP tools and prompts in tools/ and
prompts/, and the server entry point in mcp-server.js. Integration tests
redirect the real API clients at an in-process Express fake under
test/helpers/. For the directory layout, design patterns, and how the test
backends are wired, see docs/architecture.md.
Troubleshooting
For known issues with auth, permissions, Node.js setup, and MCP client
integration (including the /mcp reload tip when CEP tools do not show up
right after restart), see
docs/troubleshooting.md.
FAQ
For license requirements, Workspace edition, service-account auth,
experimental features, and other recurring questions, see
docs/faq.md.
Reporting bugs
If something isn't working:
In Gemini CLI, run
/bugto capture session diagnostics. Attach the generated file to your issue.Run
npm run presubmitand paste the output; this lets maintainers tell environmental problems from real code bugs.Describe what you expected vs. what actually happened, including the exact error message.
Contributing
Contributions are welcome! For local development setup, building, testing, and contributor guidelines, please see CONTRIBUTING.md.
Legal
This repository is provided as a reference implementation that customers can explore and adapt under the Apache 2.0 license. It is not an officially supported Google product.
License: Apache License 2.0
Terms of Service: Terms of Service
Privacy Policy: Privacy Policy
Security: Security Policy
Available Tools
25 toolscep_authA
Sign in to Google for the Chrome Enterprise Premium (CEP) MCP server. Before calling this tool, you MUST warn the user that this will open a browser tab or prompt them to sign in, and ask for their confirmation. Use this tool ONLY for the CEP MCP server. The Google Workspace MCP server has its own separate auth tool—do not use this one for that. Requests the CEP scope set: Admin SDK reports, Chrome browser management, Cloud Identity (DLP), Identity, Licensing, Service Usage. Call with no arguments to start the sign-in. If the response sets nextAction to paste-redirect-url, ask the user to paste the URL the browser was redirected to, then call cep_auth again with that string as the redirectUrl argument.
| Name | Required | Description | Default |
|---|---|---|---|
| authMethod | No | The authentication method to use: "auto" (attempts browser, falls back to manual), "browser" (forces opening browser), "manual" (skips browser and directly provides URL for manual copy-paste). | auto |
| redirectUrl | No | The full URL the browser was redirected to after consent (looks like http://127.0.0.1:PORT/?code=...&state=...). Omit to start a fresh sign-in. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| authUrl | No | |
| message | No | |
| expiresAt | No | |
| nextAction | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the browser-opening behavior, user confirmation requirement, requested scopes, and the continuation flow with redirectUrl. This gives the agent a clear picture of the tool's side effects and interaction requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise yet comprehensive, using clear sentences that each convey a necessary piece of information: purpose, warning, exclusion, scopes, and usage steps. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the interactive auth flow and the presence of an output schema, the description sufficiently covers operational steps, prerequisites (user warning), and response handling. The absence of return value details is acceptable since an output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers both parameters (authMethod enum and redirectUrl). The description adds value by explaining the exact usage flow: call with no arguments to start, and pass redirectUrl when nextAction is paste-redirect-url. This enriches the schema's static definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool signs in to Google for the CEP MCP server, identifies the specific scope set, and distinguishes it from the Google Workspace MCP auth tool. This clearly differentiates it from sibling tools like cep_auth_status and cep_auth_clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance, including the mandatory user warning and confirmation, the restriction to only the CEP MCP server, and the specific two-step flow for handling nextAction. This goes beyond simple context and gives actionable instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cep_auth_clearA
Clears cached OAuth credentials for the Chrome Enterprise Premium (CEP) MCP server, forcing re-authentication on the next call. Use this tool only for the CEP MCP server; the Google Workspace MCP server has its own separate clear tool.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| cleared | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently states the consequence of clearing cached OAuth credentials (forcing re-authentication on the next call). While it doesn't mention reversibility or impact on other servers, it clarifies the scope, which is sufficient for a simple clear operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary function, followed by usage guidance. No wasted words—both sentences earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple zero-parameter tool with an output schema. The description covers purpose, scope, and behavioral effect. With an output schema present, return values need no explanation. The description is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the schema coverage is 100% (i.e., no parameters to document). Per rubric, 0 params earns a baseline of 4. The description adds no parameter info because none exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Clears') and resource ('cached OAuth credentials for the Chrome Enterprise Premium (CEP) MCP server'), making the tool's function unmistakable. It also distinguishes from siblings by explicitly limiting scope to the CEP MCP server and referencing a separate clear tool for Google Workspace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Use this tool only for the CEP MCP server; the Google Workspace MCP server has its own separate clear tool.' This clearly directs users to the correct context and points to an alternative when applicable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cep_auth_statusA
Reports the current OAuth credential status and cached scopes for the Chrome Enterprise Premium (CEP) MCP server. Use this tool only for the CEP MCP server; the Google Workspace MCP server has its own separate status tool.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool reports on 'cached scopes' and 'OAuth credential status,' implying a read-only inspection of existing state. It does not explicitly state that it makes no changes or that it requires prior authentication, but the verb 'reports' strongly suggests a non-mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the core function, the second provides usage boundaries. There is no redundant information or filler, making it concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a zero-parameter status tool with an output schema, so the description need not explain return values. It fully covers what the tool reports, the intended server scope, and how it relates to other status tools. Given the simplicity of the tool, the description is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty. The baseline for 0 parameters is 4, and the description correctly avoids discussing non-existent parameters. No parameter-level meaning is needed beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reports OAuth credential status and cached scopes for the CEP MCP server. The verb 'Reports' plus the specific resource and server scope fully define the tool's purpose. It also distinguishes this status tool from the one for the Google Workspace MCP server, differentiating it from potential siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage guidance: 'Use this tool only for the CEP MCP server; the Google Workspace MCP server has its own separate status tool.' This gives clear when-to-use and when-not-to-use instructions, including an alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_cep_subscriptionA
Verifies the current Chrome Enterprise Premium (CEP) license assignments for an organization. This is useful for checking the actual protection state of users.
| Name | Required | Description | Default |
|---|---|---|---|
| customerId | No | The Chrome customer ID (e.g. C012345). |
Output Schema
| Name | Required | Description |
|---|---|---|
| isActive | Yes | |
| assignments | No | |
| assignmentCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. The verb 'verifies' implies a read-only operation, which adds some transparency, but it does not explicitly state that no changes are made, require authentication, or disclose any side effects. It does add context about the 'actual protection state,' which is a mild extra, but lacks explicit behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no redundant filler. The first sentence states the core purpose, and the second provides a practical context. Every word contributes meaning, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter) and the presence of an output schema, the description is largely complete. It covers the purpose, scope, and a use case. The only minor gap is that it does not clarify whether the operation is organization-wide or per-user, but this is already inferred from 'for an organization.' With no annotations, a small additional note about read-only behavior would improve completeness, but it remains adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the property customerId already described as 'The Chrome customer ID (e.g. C012345).' The tool description adds no further meaning about the parameter, so the baseline of 3 is appropriate since the schema fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states both the action ('Verifies') and the resource ('Chrome Enterprise Premium (CEP) license assignments for an organization'). It also distinguishes itself from the sibling tool check_user_cep_license by specifying organization-level scope, making it unambiguous what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers a use case ('useful for checking the actual protection state of users') but does not explicitly indicate when to choose this tool over alternatives like check_user_cep_license or list_org_units. No exclusions or alternative names are provided, so guidance is only implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_seb_extension_statusA
Checks if the Secure Enterprise Browser (SEB) extension is force-installed for a given Organizational Unit. The SEB extension is REQUIRED for advanced Chrome Enterprise Premium features like data masking. If not installed, use 'install_seb_extension' to fix it.
| Name | Required | Description | Default |
|---|---|---|---|
| orgUnitId | Yes | The ID of the organizational unit to check. | |
| customerId | No | The Chrome customer ID (e.g. C012345). |
Output Schema
| Name | Required | Description |
|---|---|---|
| policies | Yes | |
| extensionId | Yes | |
| isInstalled | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The verb 'checks' conveys a read-only, non-destructive operation, and the description adds context about the extension's importance. It does not detail permissions or exact return behavior, but an output schema is present, and the operation inherently has no side effects, so the description adequately covers behavioral transparency given the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that state the purpose first and then provide actionable context. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity, full schema coverage, presence of an output schema, and clear usage guidance, the description is complete. It explains the tool's role in the broader workflow and links to the remediation tool, making it sufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both orgUnitId and customerId have descriptions), so the baseline of 3 applies. The description mentions 'given Organizational Unit' but adds no parameter-level details beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the specific action (checks force-installation of SEB extension) and the target resource (given Organizational Unit). The mention of 'force-installed' and integration with sibling tools distinguishes it from similar checks like check_ev_extension_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs when to use this tool as a prerequisite check and provides a direct alternative next step: 'use install_seb_extension to fix it.' It also explains why the extension matters (required for advanced features), giving context for the check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_user_cep_licenseA
Checks if a specific user has a Chrome Enterprise Premium (CEP) license assigned. Use this to verify if an individual user (by email or unique ID) is licensed for CEP features.
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | The user's primary email address or unique ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| license | Yes | |
| hasLicense | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It conveys the read-only nature implicitly via 'checks', but does not disclose return shape, error behavior, permissions, or edge cases (e.g., user not found). The presence of an output schema mitigates some ambiguity, but behavioral details beyond the core action are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with the core action front-loaded in the first sentence. The second sentence provides practical usage context without fluff. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with an output schema, the description covers the essential 'what' and 'when to use'. It does not explicitly differentiate from all sibling tools (e.g., check_cep_subscription), but the wording 'specific user' makes the distinction clear enough. Slight gap in noting exclusions or prerequisites, but overall sufficient for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, with the parameter 'userId' described as 'The user's primary email address or unique ID.' The description adds no new meaning beyond saying 'by email or unique ID', which duplicates the schema. Baseline 3 applies because the schema already handles parameter semantics fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Checks if a specific user has a Chrome Enterprise Premium (CEP) license assigned') with a specific verb and resource. It distinguishes from sibling tools like check_cep_subscription by specifying 'specific user' and 'individual user', making the scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use this tool: 'verify if an individual user (by email or unique ID) is licensed for CEP features.' It implies but does not explicitly state alternatives or exclusions (e.g., not for subscription-level checks), so it lacks full 'when-not' guidance but provides a solid contextual cue.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
count_browser_versionsA
Counts Chrome browser versions reported by managed devices. Use this for auditing and reporting on the distribution of browser versions across your organization or a specific Organizational Unit.
| Name | Required | Description | Default |
|---|---|---|---|
| orgUnitId | No | The ID of the organizational unit to filter results. | |
| customerId | No | The Chrome customer ID (e.g. C012345). |
Output Schema
| Name | Required | Description |
|---|---|---|
| versions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'reported by managed devices,' indicating a specific data source, and implies an aggregation (count). However, it does not detail behavior such as handling of missing data, time ranges, or permission requirements. This is adequate but thin for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. The first sentence states the core action, and the second gives a clear use case. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (two optional parameters) and the existence of an output schema, the description is nearly complete. It explains the scope ('across your organization or a specific Organizational Unit'), which adds context beyond the schema. A brief mention of parameter defaults or the absence of the orgUnitId behavior would make it fully complete, but current coverage is sufficient for a simple count tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters (orgUnitId and customerId) with 100% coverage. The description adds a small contextual hint by referencing 'a specific Organizational Unit' which aligns with orgUnitId, but it does not meaningfully enhance what the schema already states. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Counts Chrome browser versions reported by managed devices.' This is a specific verb and resource, and the second sentence adds the purpose 'auditing and reporting on the distribution of browser versions,' which distinguishes it from sibling tools that handle logs or policies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides a usage context: 'Use this for auditing and reporting on the distribution of browser versions across your organization or a specific Organizational Unit.' It implies when to use the tool but does not mention alternatives or exclusion cases, so it lacks the 'when not to use' component.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_chrome_dlp_ruleA
Creates a new Chrome DLP rule for a specific Organizational Unit. Applies browser-level protection (uploads, downloads, printing). For safety reasons, this MCP tool is disabled from creating 'ACTIVE' rules with a 'BLOCK' action. You can create 'INACTIVE' 'BLOCK' rules and enable them later in the UI, or create 'ACTIVE' 'WARN' or 'AUDIT' rules.
To ensure technical accuracy and verify trigger compatibility, you should retrieve the full technical reference using 'get_document' for '11-dlp-rule-reference' before using this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Rule state (defaults to ACTIVE): - ACTIVE: The rule is currently enforced. - INACTIVE: The rule is saved but not currently enforced. | |
| action | Yes | Action to take when the rule is triggered. AUDIT mode is silent and logs events without notifying or blocking the user. | |
| triggers | Yes | List of Chrome triggers: - FILE_UPLOAD: Scanning files that are uploaded. - FILE_DOWNLOAD: Scanning files that are downloaded. - WEB_CONTENT_UPLOAD: Scanning text that is copy-pasted. - PRINT: Scanning pages that are printed. - URL_NAVIGATION: Scanning URLs when visited. | |
| condition | No | CEL condition string. To ensure technical accuracy and verify trigger compatibility, you should retrieve the full technical reference using 'get_document' for '11-dlp-rule-reference' before formulating a condition. | |
| orgUnitId | Yes | The target Organizational Unit ID | |
| customerId | No | The Chrome customer ID (e.g. C012345). | |
| dataMasking | No | Data masking configurations (supports custom regular expressions and data masking detectors). The 'dataMasking' parameter is only supported with the 'URL_NAVIGATION' trigger and 'WARN' or 'AUDIT' actions. Currently, only custom regular expressions and data masking detectors are supported for data masking (word lists and URL lists are not supported). | |
| description | No | Description of the rule. | |
| displayName | Yes | The display name of the rule. Will be automatically prefixed with '🤖 '. | |
| saveContent | No | Whether to save the content that triggered the rule. | |
| customMessage | No | Custom message to display to the user. The 'customMessage' parameter is supported with 'BLOCK' and 'WARN' actions, and must be 300 characters or less. Only <a> tags with href attributes are allowed. | |
| blockScreenshot | No | Whether to block screenshots when the rule is triggered. The 'blockScreenshot' parameter (which also restricts screen-sharing) is only supported with the 'URL_NAVIGATION' trigger and 'WARN' or 'AUDIT' actions. | |
| watermarkMessage | No | Watermark message to display when the rule is triggered. The 'watermarkMessage' parameter is only supported with the 'URL_NAVIGATION' trigger and 'WARN' or 'AUDIT' actions, and must be 60 characters or less. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dlpRule | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description fully carries the burden. Discloses critical behavioral constraints: forbidden combos, display name prefix, trigger-specific parameter support, and need for reference document. Exceeds expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool description is 3 concise sentences, front-loaded with purpose and usage constraints. Parameter descriptions in schema are verbose but necessary for documenting constraints. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers safety, constraints, prerequisites. Output schema exists (though not shown) so return info not needed. Could mention idempotency or error handling, but overall complete for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds significant value: cross-parameter compatibility (e.g., dataMasking only with URL_NAVIGATION and WARN/AUDIT), blockScreenshot constraints, customMessage limitations. These are not in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it creates a Chrome DLP rule for an OU. Verb 'creates' and resource 'Chrome DLP rule' are specific. Distinguishes from sibling tools like get_dlp_rule or list_dlp_rules, but could explicitly differentiate from create_default_dlp_rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit safety restrictions (no ACTIVE+BLOCK) and alternatives ('use INACTIVE BLOCK or ACTIVE WARN/AUDIT'). Advises to consult get_document for technical reference. Lacks direct comparison to other create tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_default_dlp_rulesA
Creates a "Starter Pack" of default Chrome DLP rules for a specific Organizational Unit. Rules included:
Audit visits to Generative AI sites.
Apply watermarks to sensitive sites (Gmail, Salesforce, Zendesk).
Warn users before pasting content on Generative AI sites (Gemini is excluded from warning).
| Name | Required | Description | Default |
|---|---|---|---|
| orgUnitId | Yes | The target Organizational Unit ID | |
| customerId | No | The Chrome customer ID (e.g. C012345). |
Output Schema
| Name | Required | Description |
|---|---|---|
| failedRules | Yes | |
| createdRules | Yes | |
| failureCount | Yes | |
| successCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It does list the three rules and the Gemini exclusion, which is useful, but it does not mention permission requirements, idempotency, whether existing rules are affected, or potential conflict/error situations. For a mutating bulk operation, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main action, followed by a concise numbered list of rules. Each line earns its place, though the list could be slightly more compact without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return values, so that omission is acceptable. However, the description lacks guidance on when to choose this tool over create_chrome_dlp_rule and does not address prerequisites or side effects, leaving the agent without enough context to confidently select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both orgUnitId and customerId already described. The description only reiterates that the rules are for a specific OU, adding no new parameter-level semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Creates') and the resource ('Starter Pack' of default Chrome DLP rules), scoped to a specific Organizational Unit. It also enumerates the exact rules, which distinguishes it from the sibling create_chrome_dlp_rule that likely handles a single custom rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Starter Pack' implies a quick-setup use case, but the description does not explicitly tell when to use this tool versus alternatives like create_chrome_dlp_rule or list_dlp_rules. No exclusions or conditions are given, leaving usage to be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_regex_detectorA
Creates a new DLP regular expression detector. Detectors are building blocks for DLP rules. After creating a detector, you must reference its resource name in a 'create_chrome_dlp_rule' condition (e.g., using the 'matches_detector' function).
| Name | Required | Description | Default |
|---|---|---|---|
| customerId | No | The Chrome customer ID (e.g. C012345) | |
| expression | Yes | A regular expression to match. | |
| description | No | An optional description for the detector. | |
| displayName | Yes | The display name for the detector. |
Output Schema
| Name | Required | Description |
|---|---|---|
| detector | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool creates a detector and that the resulting resource name is used in DLP rules, adding lifecycle context. However, it does not mention side effects, validation rules, permissions, or error behavior, leaving notable gaps for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, then adds essential workflow context. Every sentence earns its place; there is no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a moderate complexity (4 params, output schema exists). The description explains the tool's role in the DLP rule-building workflow and the need to use the returned resource name in create_chrome_dlp_rule. It does not detail the output structure, but the presence of an output schema reduces that need. Overall, it is sufficiently complete for an agent to decide and invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage, so the description does not need to explain parameters. The description does not add extra parameter-level semantics beyond what the schema already provides, aligning with the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific action: 'Creates a new DLP regular expression detector.' This clearly identifies the resource (regex detector) and distinguishes it from sibling tools like create_url_list_detector and create_word_list_detector by the 'regular expression' modifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on how to use the created detector: 'After creating a detector, you must reference its resource name in a create_chrome_dlp_rule condition.' It implies this tool is the starting point for building DLP rules with regex patterns, though it does not explicitly name alternative detectors or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_url_list_detectorA
Creates a new DLP URL list detector. Detectors are building blocks for DLP rules. After creating a detector, you must reference its resource name in a 'create_chrome_dlp_rule' condition (e.g., using the 'matches_detector' function).
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | A list of URLs to match. | |
| customerId | No | The Chrome customer ID (e.g. C012345) | |
| description | No | An optional description for the detector. | |
| displayName | Yes | The display name for the detector. |
Output Schema
| Name | Required | Description |
|---|---|---|
| detector | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It only states that a detector is created and that its resource name must be used later. It does not mention permissions, side effects, reversibility, or response details, which is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the tool's purpose, and the second provides essential usage context. It is front-loaded and contains no fluff or repetition of schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values are covered. The description explains the next step (referencing the resource name in a rule), which is helpful. However, for a creation tool with no annotations, it lacks details about prerequisites, permissions, or how this detector type differs from siblings, leaving the context incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage of parameter descriptions, but the tool description adds no parameter-specific meaning. The fact that it is a 'URL list' detector is already captured in the schema's 'urls' parameter description. No additional detail such as URL format or validation rules is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear, specific verb and resource: 'Creates a new DLP URL list detector.' It distinguishes itself from sibling tools like create_regex_detector and create_word_list_detector by specifying the URL list type, and it explains the broader role of detectors as building blocks for DLP rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context that the created detector must be referenced in a create_chrome_dlp_rule condition, but it does not explicitly state when to choose this tool over alternative detector types (regex, word list). The usage guidance is general to all detectors and does not differentiate the URL list variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_word_list_detectorA
Creates a new DLP word list detector. Detectors are building blocks for DLP rules. After creating a detector, you must reference its resource name in a 'create_chrome_dlp_rule' condition (e.g., using the 'matches_detector' function).
| Name | Required | Description | Default |
|---|---|---|---|
| words | Yes | A list of words to match. Total character count across all words must be 12500 or less. | |
| customerId | No | The Chrome customer ID (e.g. C012345) | |
| description | No | An optional description for the detector. | |
| displayName | Yes | The display name for the detector. |
Output Schema
| Name | Required | Description |
|---|---|---|
| detector | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It adds context about the detector's role and how the result must be used, which is useful. However, it does not mention any side effects, permissions, idempotency, or failure modes that would be expected for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences. The first sentence states the core action, and the second provides actionable integration guidance. Every sentence earns its place, with no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity—four parameters, full schema coverage, and an output schema—the description adequately explains the tool's purpose and how to use the result. It could be improved by explicitly contrasting with regex/URL detectors or noting any prerequisites, but it is sufficiently complete for common usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all four parameters with descriptions, including constraints like maxItems for words and maxLength for displayName. The description adds only a usage example ('matches_detector') and reinforces the required nature of displayName and words, but does not provide new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Creates a new DLP word list detector.' It uses a specific verb and resource, and the 'word list' qualifier distinguishes it from sibling tools like create_regex_detector and create_url_list_detector.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that detectors are building blocks for DLP rules and explicitly instructs the user to reference the detector's resource name in a create_chrome_dlp_rule condition. This provides clear integration context, but it does not explicitly state when to prefer this over regex or URL detectors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnose_environmentA
Runs a health check of the Chrome Enterprise Premium environment.
By default returns a summary with counts and pre-computed issues — no large arrays. The agent should present these findings to the user.
To drill into detail, pass a 'section' parameter:
"orgUnits" — paginated list of organizational units
"dlpRules" — paginated list of DLP rules with action types
"detectors" — paginated list of content detectors
"browserVersions" — all browser version counts
Use 'limit' and 'offset' for pagination on large datasets.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size for detail sections (default 50). | |
| offset | No | Pagination offset for detail sections (default 0). | |
| section | No | Drill into a specific section with paginated results. Omit for summary. | |
| customerId | No | The Chrome customer ID. Auto-resolved if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses default behavior (summary without large arrays), pagination details, drill-down capabilities, and auto-resolution of customerId. It does not explicitly state read-only nature, but the health check context implies it. Overall, transparent and sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. Three short paragraphs front-load the purpose, then detail the default behavior, drill-down options, and pagination. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (duel mode, pagination, auto-resolve), 100% schema coverage, and the presence of an output schema, the description provides all necessary information. It covers usage, parameters, and output expectations without significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaningful context beyond schema: for 'section', it explains what each value returns (e.g., DLP rules with action types, browser version counts); for 'limit' and 'offset', it clarifies pagination usage; for 'customerId', it confirms auto-resolution. This adds value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a health check of the Chrome Enterprise Premium environment, distinguishing it from sibling tools that focus on specific sub-resources (e.g., list_dlp_rules, list_org_units). It explains the dual behavior (summary vs. detail) and explicitly lists drill-down sections.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises using the tool for a high-level summary by default, and to drill into specific sections via the 'section' parameter. It implies alternatives exist (the dedicated list tools) but does not explicitly say when not to use this tool. The agent guidance to present findings to the user is helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enable_chrome_enterprise_connectorsA
Enables and configures selected Chrome Enterprise connectors (e.g., Print, Paste, File Upload/Download). Use this tool to ACTIVATE security protections. It will ONLY apply changes to connectors that are not already configured. To check current status without modifying, use 'get_connector_policy'.
| Name | Required | Description | Default |
|---|---|---|---|
| orgUnitId | Yes | The ID of the organizational unit where connectors will be enabled. | |
| connectors | Yes | List of connectors to enable. | |
| customerId | No | The Chrome customer ID (e.g. C012345). |
Output Schema
| Name | Required | Description |
|---|---|---|
| connectors | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool modifies configuration (activation) and that it only changes unconfigured connectors, which is valuable behavioral insight. It does not mention auth, rate limits, or output structure, but the output schema covers returns, so the description is reasonably transparent for a configuration tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured: three sentences, front-loaded with the action and examples, then usage guidance and an explicit alternative. Every sentence adds value and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and the input schema fully documents parameters, the description covers the essential behavioral aspects: what it does, when to use it, and how it differs from the read-only alternative. It is complete for a tool of this complexity, with no critical information gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all three parameters with 100% coverage, so the baseline is 3. The description adds general context about connector examples but does not provide additional per-parameter semantics beyond what the schema offers. It meets the baseline without adding extra parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('enables and configures') and clearly identifies the resource ('Chrome Enterprise connectors') with concrete examples (Print, Paste, File Upload/Download). It distinguishes itself from the sibling get_connector_policy by explicitly noting the activating action versus checking status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('Use this tool to ACTIVATE security protections') and provides a clear alternative for read-only checks ('To check current status without modifying, use get_connector_policy'). It also clarifies the tool's idempotent behavior ('ONLY apply changes to connectors that are not already configured'), giving strong usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chrome_activity_logA
Retrieves audit logs of Chrome browser activity (e.g., login events, policy violations, extension installs). Use this for security investigations, auditing user actions, and to help tune DLP rules.
| Name | Required | Description | Default |
|---|---|---|---|
| endTime | No | The end time of the range to get activities for (RFC3339 timestamp). Defaults to now. | |
| userKey | No | The user key to get activities for. Use "all" for all users. | all |
| eventName | No | The name of the event to filter by. | |
| startTime | No | The start time of the range to get activities for (RFC3339 timestamp). Defaults to 10 days ago if not specified. | |
| customerId | No | The Chrome customer ID (e.g. C012345). | |
| maxResults | No | The maximum number of results to return. |
Output Schema
| Name | Required | Description |
|---|---|---|
| activities | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation (retrieves) but does not mention any specific behavioral traits like authentication requirements, rate limits, or whether a customer ID is mandatory. It adds some context by listing event types but leaves security/prerequisite details undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the first sentence front-loading the core purpose and the second providing usage context. Every word earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (so return values are already documented) and all parameters have descriptions, the description sufficiently covers purpose and usage context. It might benefit from mentioning that a customer ID may be needed (given the sibling get_customer_id tool), but overall it is complete enough for an AI agent to select and use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents all six parameters. The description does not add parameter-specific meaning beyond the schema, though it provides general context about the type of data involved. Baseline of 3 is appropriate given the schema's high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Retrieves') and resource ('audit logs of Chrome browser activity'), and provides concrete examples of events (login events, policy violations, extension installs). This distinguishes it from sibling tools like DLP rule management or detector creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use this for security investigations, auditing user actions, and to help tune DLP rules.' It gives clear use cases, though it does not explicitly name alternative tools or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connector_policyA
Retrieves the current configuration for a specific Chrome Enterprise connector or all connectors. Use this to AUDIT or VERIFY settings for features like "printing sensitive data", "real-time URL checks", or "event reporting". Note: The 'enable_chrome_enterprise_connectors' tool can only ACTIVATE connectors that are currently unconfigured. There is currently no tool to MODIFY an already configured connector; these must be updated manually in the Admin Console.
| Name | Required | Description | Default |
|---|---|---|---|
| policy | No | The connector type to retrieve (or "ALL" to get all connectors in one call). | ALL |
| orgUnitId | Yes | The ID of the organizational unit to check. | |
| customerId | No | The Chrome customer ID (e.g. C012345). |
Output Schema
| Name | Required | Description |
|---|---|---|
| orgUnitId | Yes | |
| configured | Yes | True when at least one policy entry exists and any entry is enabled. |
| connectors | No | Mapping of all connector types to their individual results. Only present when policy is ALL. |
| connectorType | Yes | |
| connectorPolicies | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It implies a read-only operation via 'Retrieves' but does not explicitly state it is side-effect-free. However, it adds valuable context about the limitations of related tools, which helps set expectations. A slightly more explicit disclosure of non-mutating behavior would elevate it further.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary action. Each sentence contributes value: the first states what it does, the second gives the use case, and the third provides important limitations. No word is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description does not need to explain return values. It provides a clear purpose, usage guidance, and a comparison with related tools. It is complete for a retrieval tool, and the note about manual updates in Admin Console rounds out the operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented. The description adds context by mentioning example features like 'printing sensitive data' and 'real-time URL checks', which helps interpret the enum values. This goes beyond the schema without being redundant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Retrieves' and clearly identifies the resource as 'the current configuration for a specific Chrome Enterprise connector or all connectors'. It also distinguishes itself from the sibling 'enable_chrome_enterprise_connectors' tool by focusing on retrieval/audit rather than activation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use this to AUDIT or VERIFY settings'. It also provides clear guidance on alternatives: the enable tool can only activate unconfigured connectors, and there is no tool to modify configured connectors. This is explicit and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_customer_idA
Retrieves the unique Google customer ID for the authenticated account. This ID (often starting with 'C') is required as a parameter for many other Chrome management tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| language | No | The default language for the customer. |
| customerId | Yes | The unique customer ID. |
| customerDomain | No | The primary domain of the customer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It transparently indicates a read-only retrieval operation ('Retrieves') and the authenticated-account context. It doesn't detail error scenarios or authorization requirements, but for a parameterless read tool, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and every word adds value. It avoids redundancy and clearly links the output to downstream use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple, parameterless tool with an output schema, so the description doesn't need to explain return values. It fully covers what the tool does, the context (authenticated account), and why it matters (dependency for other tools), making it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. The baseline for no parameters is 4, and the description appropriately adds semantic context about the ID's format and purpose without needing to explain any input fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Retrieves') and resource ('unique Google customer ID for the authenticated account'). It also mentions the ID's common 'C' prefix, making it distinct from sibling tools that perform management actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by noting the ID is 'required as a parameter for many other Chrome management tools,' implying this tool should be called first to obtain the ID. It does not explicitly state when not to use it, but the simple bootstrap nature makes that unnecessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dlp_ruleA
Retrieves details for a specific Chrome DLP rule by its resource name. The response includes a direct link to the Admin Console where you can view, edit, disable, or delete the rule. Note: The agent itself cannot modify or delete rules.
| Name | Required | Description | Default |
|---|---|---|---|
| resourceName | Yes | The full resource name of the rule (e.g., policies/akajj264apk5psphei). |
Output Schema
| Name | Required | Description |
|---|---|---|
| dlpRule | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It explicitly warns that the agent cannot modify or delete rules despite the Admin Console link permitting these actions. It also notes the response includes a direct link, which is a useful behavioral detail. However, it does not explicitly state whether the read operation has any side effects or permissions required, though 'retrieves details' implies a safe read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the core purpose and add a relevant behavioral note. No wasted words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and an output schema. The description covers the purpose, a key response feature (Admin Console link), and an important limitation. Given the existence of an output schema, no further explanation of return values is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the only parameter resourceName, including an example. The description adds little beyond the schema, merely restating 'by its resource name.' This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Retrieves details for a specific Chrome DLP rule by its resource name,' with a specific verb, resource, and scope. It distinguishes itself from sibling tools like list_dlp_rules (which lists rules) and create_chrome_dlp_rule (which creates rules).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need details for a known rule, indicated by 'by its resource name.' However, it does not explicitly mention alternatives or prerequisites, such as using list_dlp_rules to discover resource names, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_documentA
Retrieves the full text of one or more knowledge base documents. Pass filename as a single value or an array (bundle). Each entry may be a filename string (e.g. "4-dlp-core-features") or a numeric articleId from a Markdown cross-link. Use the array form to load related articles in a single call.
Knowledge Index
This index is for locating relevant documentation by topic. Document summaries are not a source of truth; for authoritative technical details, exact roles, or procedures, the agent retrieves the content in real-time via 'get_document'.
Filename | Topics Covered | Source |
01-cep-overview | Comprehensive introduction to Chrome Enterprise Premium (CEP). Helps with product evaluation and implementation. Walks through the 5-step checklist: setting up Chrome management, configuring connector policies, verifying the CEP service, setting up DLP rules, and configuring activity alerts. Covers trial terms (60 days, 5,000 users) and manual license assignment. Keywords: $6/user price, trial terms, Licensing, 5-step checklist, manual license assignment, Workspace service settings. | Remote |
02-chrome-deployment-guide | Comprehensive browser deployment and enrollment guide. Use this to perform large-scale MSI/PKG installation via MDM and configure cloud management. Covers how to: deploy the Chrome Enterprise bundle, apply policy templates, use Cloud management enrollment tokens, force-install Endpoint Verification, and perform the two-step unenrollment process. | Remote |
03-ev-troubleshooting | Endpoint Verification (EV) troubleshooting and privacy guide. Helps resolve device posture sync errors and access denial issues. Covers how to: fix OS-level sync failures by investigating Native Helper status, EDR/Antivirus blocks, and firewalls; resolve OS update delays via manual "Sync Now"; and understand privacy boundaries (no browsing history collected). Keywords: Failed to sync, Native messaging host, manual sync, privacy statement, BYOD security. | Remote |
04-dlp-core-features | Guide for configuring DLP triggers (Paste, Print, Upload), screen capture protection, and Enterprise Cache Encryption. Helps protect sensitive data from accidental leaks or exfiltration. Covers how to: enable screenshot blocking on sensitive URLs, manage file scan latency via DelayDeliveryUntilVerdict, and configure Optical Character Recognition (OCR) for images. Keywords: Screen capture protection, Clipboard controls (Paste), Cache encryption, OCR supported types (BMP, GIF, JPEG, PNG, TIF), scan delay. | Remote |
05-evidence-locker | Setup and configuration guide for the Evidence Locker (forensic file storage). Helps secure sensitive data for legal and security investigations. Covers how to: configure the GCS bucket, manage access permissions, and handle unscannable files. Note: DLP more reliably detects password protection on ZIP archives than on PDF or Office documents. Keywords: Evidence Locker, GCS bucket permissions, service account keys, DelayDeliveryUntilVerdict, password reliability (ZIP vs PDF). | Remote |
06-dlp-rule-troubleshooting | DLP troubleshooting and diagnostics guide. Helps resolve rule deployment issues and ensures effective protection against data leaks. Covers how to: verify rule receipt via chrome://policy, confirm CEP license assignment, refine strict rules using "Audit only" mode, investigate client-side logs at chrome://safe-browsing, and analyze server-side log events in the Admin Console. Keywords: chrome://policy, chrome://safe-browsing, audit only mode, license assignment, investigation tool. | Remote |
07-caa-dlp-integration | Context-Aware Access (CAA) and Security Gateway integration guide. Helps protect corporate apps by ensuring only compliant devices gain access. Covers how to: troubleshoot "401 Unauthorized" errors via IAP logs and Access Level definitions, secure native applications using Certificate-Based Access (CBA), and verify Device Trust Connector (Okta) status in chrome://connectors-internals. Keywords: 401 Unauthorized, IAP policy, Security Gateway, BeyondCorp, native app security. | Remote |
08-certificate-based-access | Certificate-Based Access (CBA) and Identity Provider guide. Helps enforce high-assurance access for managed and unmanaged devices. Covers how to: upload Root CA certificates to the Admin Console and configure the "AutoSelectCertificateForUrls" policy for seamless user authentication. Keywords: CBA, Root CA upload, AutoSelectCertificateForUrls, client certificates. | Remote |
09-chrome-log-events | Chrome Reporting Connector and SIEM integration guide. Helps search security event logs in the Admin Console and stream events to SIEMs like Splunk. Covers event descriptions for Threat and Data Protection events, and how to verify local event generation and policy receipt on client machines. Keywords: Chrome log events, Audit & investigation, Threat events, Data Protection events, chrome://policy, chrome://safe-browsing, Splunk integration. | Remote |
10-chrome-policy-management | Chrome policy management and URL filtering guide. Helps control web access and manage policy conflicts. Covers how to: use wildcard syntax—example.com (includes subdomains) vs .example.com (exact host only); give cloud policies precedence via "CloudPolicyOverridesPlatformPolicy"; and bypass Safe Browsing warnings for internal sites using "SafeBrowsingAllowlistDomains". | Remote |
12-security-posture-guide | Internal evaluation criteria the agent uses to assess a Chrome Enterprise Premium environment and recommend next steps. Walks through whether the prerequisites (licenses, connectors, SEB extension) are present, whether DLP rules exist, whether they are tuned, and whether they are enforcing. Covers the telemetry dependency (logs require active rules). For agent-internal use only — do not surface labels or framework names to users. | Local |
15-rule-quality-guidelines | Internal evaluation criteria the agent uses to identify logic flaws and noise in Chrome Enterprise Premium DLP rule JSON. Covers context blindness (missing destination vectors), false negatives from broad file-type exclusions, root-OU over-scoping, low match thresholds that cause false positives, missing compound logic, mixed triggers, disproportionate actions, audit-first deployment, and orphaned rules. For agent-internal use only — do not surface heuristic names or category labels to users. | Local |
16-configurable-timeouts | Guide for configuring timeout deadlines (evaluation time limit) for Data Loss Prevention (DLP) and malware scans, including the paste action. Covers UI navigation paths, Admin privileges required, and background scan behavior. Keywords: Configurable timeouts, evaluation time limit, deep scanning protection settings, Chrome Enterprise Security Services, Chrome Enterprise Premium, scan deadline, paste deadline. | Remote |
21-dlp-limits | DLP content and scanning limits guide. Helps explain why certain files are unscanned or blocked. Covers constraints for file size, text extraction, and spreadsheets. Keywords: 50MB file limit, 10MB text limit, 50,000 cell limit, unscannable files. | Remote |
22-dlp-data-masking | Helps protect sensitive UI data in the browser using data masking. Covers configuration of masking rules and requirements for the Secure Enterprise Browser (SEB) extension. Keywords: Data masking, SEB extension, PII protection, Light/Hard obfuscation. | Remote |
23-insider-risk-monitoring | Insider risk and data loss monitoring guide. Covers how to turn on insider risk monitoring via the 1-click "Monitor data leaks and insider risk" flow, and how to configure the "Data protection insight scanning and report" setting. Explains how this automatically configures Chrome connectors, event logging, and DLP scanning. Keywords: Insider risk, 1-click enablement, Data protection insight scanning, Chrome security event logging, turn off monitoring. | Remote |
24-security-reports | Overview of Chrome security reports in the Admin Console. Helps administrators monitor threat and data protection events. Covers Malware, Unsafe Sites, PII transfers, and high-volume upload/download reports. Keywords: Data protection reports, Threat protection dashboard, security telemetry. | Remote |
27-url-blocklist-format | Detailed technical format for URL blocklist and allowlist filters. Helps with precise web access control. Covers wildcard syntax rules: example.com (matches domain and all subdomains) vs .example.com (matches exact host only). Keywords: wildcard (*), subdomain (.), URL filter syntax, blocklist vs allowlist. | Remote |
28-safe-browsing-allowlists | Helps administrators exempt trusted internal sites from Safe Browsing warnings. Covers how to bypass malware, phishing, and password reuse checks. Keywords: SafeBrowsingAllowlistDomains, trusted domains, bypass warnings. | Remote |
29-admin-privilege-definitions | Reference for administrator privileges required to manage Google Workspace and CEP features in the Admin Console. Helps resolve "Access Denied" errors. Covers privileges for User management, Reports, Security Center, Data Loss Prevention (DLP) rule management, Chrome Management, and Data Security (Context-Aware Access). Keywords: Admin console privileges, Manage DLP rules, Security Center, Service Settings, custom roles. | Remote |
30-ev-device-attributes | Comprehensive list of device posture attributes collected by Endpoint Verification. Helps with creating granular Context-Aware Access (CAA) levels. Covers OS version, serial numbers, disk encryption, and screen lock status. Keywords: Device attributes, postural data, hardware identifiers, encryption status. | Remote |
31-security-insights-data | Guide to querying Chrome Enterprise Security Insights data. Covers methods for retrieving summaries and breakdowns of content transfers and URL visits. Helps with understanding security posture and data movement. | Local |
98-agent-knowledge-addendum | Mandatory Technical "Golden Facts" and operational memory for Chrome Enterprise Premium. Covers Extension IDs for EV and SEB, Windows Certificate Store requirements for CBA, URL filtering syntax rules, and troubleshooting "Something went wrong" errors for Security Insights using specific privileges. Keywords: callobklhcbilhphinckomhgkigmfocg, ekajlcmdfcigmdbphhifahdfjbkciflj, Windows Store requirements, Security Insights Error, Chrome DLP insight setting management, SafeBrowsingAllowlistDomains. | Local |
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | A single filename/articleId, or an array of them (up to 20). Numeric articleIds are coerced to strings. |
Output Schema
| Name | Required | Description |
|---|---|---|
| missing | Yes | |
| documents | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose any behavioral traits such as idempotency, side effects, permissions required, rate limits, or error behaviors. The read-only nature is implied but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long due to the full knowledge index table. While the table is informative, it significantly reduces conciseness. The first paragraph is efficiently front-loaded, but the bulk of the description is a large table that could be a separate resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is comprehensive: it explains the input format, includes a detailed index of available documents (with topics and keywords), and references cross-links. Since an output schema exists, return value explanation is not needed. This provides the agent with all necessary context to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides a description of the 'filename' parameter. The description adds value by explaining that entries can be numeric articleIds from cross-links, which is not in the schema's description. Schema coverage is 100%, so the description enhances understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieves the full text') and the resource ('knowledge base documents'). It explains the two input forms (single string or array) and distinguishes from sibling tools like get_dlp_rule by focusing exclusively on knowledge base content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidance on when to use the array form ('load related articles in a single call') and includes a comprehensive knowledge index table that helps the agent decide which documents to fetch. However, it does not explicitly state when not to use the tool or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
install_seb_extensionA
Force-installs the Secure Enterprise Browser (SEB) extension for a given Organizational Unit. The SEB extension is REQUIRED for advanced Chrome Enterprise Premium features like data masking.
| Name | Required | Description | Default |
|---|---|---|---|
| orgUnitId | Yes | The ID of the organizational unit where the extension will be force-installed. | |
| customerId | No | The Chrome customer ID (e.g. C012345). |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | Yes | |
| newlyInstalled | Yes | |
| alreadyInstalled | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the operation is a force-install at the OU level, but does not mention permission requirements, reversibility, potential disruption to existing extension settings, or failure behavior. The rationale about data masking is purpose context, not behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with a clear action verb and a rationale. No fluff; the second sentence earns its place by conveying the business need for the force-install.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the purpose and a use-case trigger but omits safety/behavioral details that are important for a mutation tool with no annotations. The existing output schema may account for return values, but prerequisites and side effects remain unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the schema (100% coverage), so the baseline is 3. The description does not add extra meaning beyond the schema's orgUnitId and customerId descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Force-installs the Secure Enterprise Browser (SEB) extension for a given Organizational Unit,' which is a specific verb+resource+scope. It clearly differentiates from sibling tools like install_ev_extension by naming the SEB extension.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence provides a clear context cue: the SEB extension is REQUIRED for advanced Chrome Enterprise Premium features like data masking. However, it does not explicitly state when not to use this tool or name alternatives such as check_seb_extension_status or install_ev_extension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_customer_profilesA
Lists Chrome browser profiles for the customer. These profiles represent managed browser instances and provide details like OS version, platform, and associated user email.
| Name | Required | Description | Default |
|---|---|---|---|
| customerId | No | The Chrome customer ID (e.g. C012345). |
Output Schema
| Name | Required | Description |
|---|---|---|
| profiles | Yes | |
| totalCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool lists profiles and provides details like OS, platform, and email, which implies a read-only operation. However, it does not mention pagination, required permissions, or any limitations, which would be valuable context for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the action, and every sentence adds value. The first sentence states what it does, and the second clarifies the nature of the profiles and the data provided. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with a single parameter and an output schema, the description is fairly complete. It explains what the profiles are and the type of information returned. It could mention pagination or other context, but given the existence of the output schema, the missing details are not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage of the single parameter (customerId) with an example. The description does not add any additional meaning about the parameter, which aligns with the baseline score of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Lists Chrome browser profiles for the customer,' with a specific verb and resource. It distinguishes itself from sibling tools like list_org_units by focusing on browser profiles, and adds context about what these profiles are and what details they provide.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description ('Lists... profiles for the customer') but not explicitly stated with alternatives or exclusions. The tool's purpose is clear enough that an agent would infer when to use it, but there is no direct guidance on when not to use it or how it compares to other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_detectorsA
Lists all custom Chrome DLP detectors (URL lists, word lists, or regular expressions). Detectors are used within DLP rules to identify sensitive content. Use this to find the 'policyName' of a detector to include in a rule.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| detectors | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states that the tool 'lists all' detectors, implying a read-only, non-filtering operation, and explains the practical purpose of the returned data. It lacks explicit mention of no side effects, but the verb 'lists' and context are clear for a simple list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action and resource, then adds practical context about usage. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters and an output schema exists (so return structure is elsewhere), the description fully covers what the tool does, what it returns conceptually (policyName), and why to use it. It is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, and the schema coverage is 100% (an empty object). The description adds no parameter-specific details, but the baseline for zero-param tools is 4, and there is nothing more to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Lists all') and clearly identifies the resource ('custom Chrome DLP detectors'), including the three types (URL lists, word lists, regular expressions). This distinguishes it from sibling tools like list_dlp_rules or create_regex_detector.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: finding the 'policyName' of a detector to include in a rule. It does not explicitly mention when to avoid using it or name alternative tools, but the context is sufficiently implied given the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dlp_rulesA
Lists all Chrome DLP rules currently configured in the organization. These rules protect sensitive data by monitoring browser actions like uploads, printing, and screenshots.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| dlpRules | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It implies a read-only operation via the verb 'Lists' and adds context on DLP rules, but it does not mention permission requirements, pagination, or any potential side effects. This is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loading the core purpose and adding useful context about DLP rules in the second sentence. There is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters) and the existence of an output schema, the description sufficiently explains the tool's purpose and scope. The added context about what DLP rules protect makes it complete for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%. The description correctly omits parameter details since there are none to explain, and the baseline for zero-parameter tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Lists' with the resource 'Chrome DLP rules' and scopes it to 'currently configured in the organization.' This clearly distinguishes it from siblings like get_dlp_rule (singular) and create_chrome_dlp_rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear that the tool lists all DLP rules, providing context about what DLP rules do. However, it doesn't explicitly state when to use this tool over get_dlp_rule or mention any exclusions, so it stops short of full alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_org_unitsA
Lists the Organizational Units (OUs) for the customer. Use this tool to find the 'orgUnitId' required by most other Chrome management and policy tools. It provides the human-readable path and unique ID for each OU.
| Name | Required | Description | Default |
|---|---|---|---|
| customerId | No | The Chrome customer ID (e.g. C012345). |
Output Schema
| Name | Required | Description |
|---|---|---|
| orgUnits | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. The verb 'Lists' implies a read-only operation, and the description mentions output content, but it does not explicitly state it is non-destructive, require specific permissions, or explain behavior when customerId is omitted. Adequate for a simple list tool but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences convey purpose, usage context, and output value. No superfluous words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the return values are externally defined. The description provides essential context (what the OUs look like, why they are needed) and is appropriate for the tool's simplicity. The only minor gap is not clarifying the optional nature of customerId, but that is a small omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes customerId with format example. The tool description does not add additional meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Lists the Organizational Units (OUs)' - a specific verb and resource. It also explains the key outcome (provides orgUnitId, human-readable path, unique ID), distinguishing it from sibling list tools like list_customer_profiles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Use this tool to find the orgUnitId required by most other Chrome management and policy tools', providing clear context for when to use it. It does not mention alternatives or when not to use, but the guidance is direct and helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
security_insightsA
Manages the enablement status of Chrome Security Insights for a customer. Use this to check, enable, or disable the security insights feature customer-wide.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | The action to perform: check status, enable insights, or disable insights. | |
| targetOus | No | Optional Organizational Unit paths relative to root (e.g. ["/corp/sales"]) to set up Chrome connectors for. Only applicable when action is "enable". Defaults to root OU if omitted. | |
| customerId | No | The Chrome customer ID (e.g. C012345). Defaults to "my_customer". |
Output Schema
| Name | Required | Description |
|---|---|---|
| insightsState | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the actions (check/enable/disable) but does not disclose side effects, reversibility, permission requirements, or that enabling may create connectors for target OUs. This leaves the agent unaware of the tool's operational impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose and direct usage guidance. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and schema coverage is complete, the description adequately covers the essential purpose and usage. Minor gap: it does not mention the targetOus scoping nuance, but the schema provides that detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented. The description adds minimal semantic value beyond the schema, only implying customer-wide operation that aligns with the customerId parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages the enablement status of Chrome Security Insights, with specific actions check, enable, or disable. This verb+resource combination and customer-wide scope distinguish it from sibling tools focused on other Chrome features like CEP or extensions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Use this to check, enable, or disable the security insights feature customer-wide,' providing clear usage context. It does not mention exclusions or alternative tools, but the context is clear enough for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
25 tool updates
v1.9.0- First observed
cep_auth - First observed
cep_auth_clear - First observed
cep_auth_status - First observed
check_cep_subscription - First observed
check_seb_extension_status - First observed
check_user_cep_license - First observed
count_browser_versions - First observed
create_chrome_dlp_rule - First observed
create_default_dlp_rules - First observed
create_regex_detector - First observed
create_url_list_detector - First observed
create_word_list_detector - First observed
diagnose_environment - First observed
enable_chrome_enterprise_connectors - First observed
get_chrome_activity_log - First observed
get_connector_policy - First observed
get_customer_id - First observed
get_dlp_rule - First observed
get_document - First observed
install_seb_extension - First observed
list_customer_profiles - First observed
list_detectors - First observed
list_dlp_rules - First observed
list_org_units - First observed
security_insights
TDQS
Scored across 25 tools
Most tools have clear, distinct purposes (auth, DLP rules, detectors, browser management). However, there is slight overlap between some diagnostic tools (diagnose_environment, security_insights) and multiple DLP-related tools (create_chrome_dlp_rule, create_default_dlp_rules, list_dlp_rules, get_dlp_rule) could confuse an agent, though descriptions help differentiate.
All tools follow a consistent verb_noun pattern (e.g., check_cep_subscription, create_chrome_dlp_rule, list_dlp_rules). Even auth tools use cep_auth as a prefix. No mixing of camelCase or other conventions, making it predictable for an agent.
With 25 tools, the server is slightly above the ideal range (3-15). While all tools serve a purpose in Chrome Enterprise Premium management, the count feels a bit heavy, especially with many DLP and detector tools. Still, it remains manageable and not overly bloated.
The tool surface covers core operations like listing, creating, and checking licenses, but there are notable gaps: no tools to update or delete DLP rules, and no OU management beyond listing. Agents will hit dead ends when trying to modify or remove existing configurations.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Google GKE MCP server is a managed Model Context Protocol server that provides AI applications with tools to manage Google Kubernetes Engine (GKE) clusters and Kubernetes resources. It exposes a structured, discoverable interface that allows AI agents to interact with GKE and Kubernetes APIs, enabling them to inspect cluster configurations, retrieve Kubernetes resource YAMLs, monitor operations like cluster upgrades, diagnose issues, and optimize costs—all without needing to parse text output or use complex kubectl commands.
The Google Compute Engine MCP server is a fully-managed Model Context Protocol server that provides tools to manage Google Compute Engine resources through AI agents. It enables capabilities including instance management (creating, starting, stopping, resetting, listing), disk management, handling instance templates and group managers, viewing machine and accelerator types, managing images, and accessing reservation and commitment information. The server operates as a zero-deployment, enterprise-grade endpoint at https://compute.googleapis.com/mcp with built-in IAM-based security.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables AI assistants like Claude to interact with Google Cloud Platform environments through natural language, allowing users to query and manage GCP resources during conversations.94,957200MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables AI agents to interact with Google Workspace services including Drive, Docs, and Sheets through natural language commands.8MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to control a real Google Chrome instance using specific user profiles, cookies, and extensions. It provides 18 tools for browser navigation, element interaction, and page inspection via the Chrome DevTools Protocol.-
- AlicenseBqualityCmaintenanceAn MCP server that provides AI models with full browser automation capabilities through Chrome. It enables navigation, interaction, screenshots, and complete DevTools access by bridging AI clients with a companion Chrome extension.99103Apache 2.0