cloud-support-mcp
Provides tools for managing Google Cloud support cases through the Google Cloud Support API v2, including case creation, updates, comments, search, and classification.
Click on "Deploy 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., "@cloud-support-mcpcreate a support case for a BigQuery performance issue"
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.
Cloud Support MCP Server
MCP server for Google Cloud Support API v2.
Provides tools for managing Google Cloud support cases through AI assistants. Supports case creation, updates, comments, and search functionality.
Installation
npm install
npm run buildRelated MCP server: Resource Settings MCP Server
Authentication
Set up Google Cloud authentication:
# Service account
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json
# Or use gcloud
gcloud auth application-default loginUsage
npm startTools
list_support_cases- List support casesget_support_case- Get case detailssearch_support_cases- Search casessearch_case_classifications- Search classificationscreate_support_case- Create new casecreate_case_comment- Add commentupdate_support_case- Update caseclose_support_case- Close caseget_case_comments- Get commentslist_case_attachments- List attachments
Usage Examples
List Cases
{
"name": "list_support_cases",
"arguments": {
"parent": "projects/your-project-id",
"pageSize": 10
}
}Create Case
{
"name": "create_support_case",
"arguments": {
"parent": "projects/your-project-id",
"displayName": "Issue Summary",
"description": "Detailed description",
"classification": { "id": "technical-issue" }
}
}Search Case Classifications
Search for appropriate case classifications using display name patterns:
{
"name": "search_case_classifications",
"arguments": {
"query": "displayName:*BigQuery*",
"pageSize": 20
}
}Query Format Examples:
"displayName:*Billing*"- Find billing-related classifications"displayName:*Compute*"- Find Compute Engine classifications"displayName:*Storage*"- Find storage-related classifications
Note: Use asterisks (*) to wrap search terms in the displayName field. Direct text searches without the displayName: prefix may not work as expected.
Development
npm run dev # Development mode
npm test # Run tests
npm run lint # Code linting
npm run type-check # TypeScript validationRequirements
Node.js 18+
Google Cloud Support API access
Appropriate IAM permissions
Author
polar3130
License
MIT
Available Tools
10 toolsclose_support_caseA
Close an existing support case. Once closed, the case cannot be reopened.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The resource name of the case to close (e.g., projects/{project_id}/cases/{case_id}) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the irreversible nature of closing ('cannot be reopened'), which is a significant behavioral trait. However, it does not mention permissions, idempotency, or what happens to related data (e.g., comments), so transparency is incomplete.
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 concise and front-loaded, with two short sentences that convey the core action and a critical consequence. No wasted words or redundant 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?
For a simple single-parameter mutation tool with no output schema or annotations, the description is largely complete. It states the action, the irreversibility, and the schema provides the parameter format. Minor gaps like permissions or response format are acceptable for this complexity, so a 4 is warranted.
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%, and the description adds no additional parameter semantics beyond what the schema already documents (resource name format). Baseline of 3 is appropriate since the description does not hinder parameter 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 tool's function with a specific verb ('Close') and resource ('existing support case'). It also includes a key consequence (cannot be reopened), distinguishing it from siblings like update_support_case or create_support_case.
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 for closing an existing case but provides no explicit guidance on when to choose this over alternatives such as update_support_case. No exclusion criteria or alternative tool names are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_case_commentA
Add a new comment to a support case for communication with Google Support.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | The full comment body (maximum 12800 characters) | |
| parent | Yes | The name of the case to which the comment should be added (e.g., projects/{project_id}/cases/{case_id} or organizations/{org_id}/cases/{case_id}) |
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 for behavioral disclosure. It states 'Add' (implying mutation) but gives no details on permissions, side effects, rate limits, or return behavior. The phrase 'for communication with Google Support' adds context but not behavioral traits.
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 a single sentence, front-loaded with the action verb 'Add', and contains no extraneous information. It is concise and to the point.
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 two-parameter tool with fully described schema, the description provides adequate context for basic usage. However, since there is no output schema and no annotations, additional information about expected outcomes or error conditions would make it more 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?
Schema coverage is 100% with descriptive parameter entries for both 'body' and 'parent'. The description itself does not add parameter-specific details, so the baseline score of 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 verb 'Add' and the resource 'comment to a support case', making the tool's purpose unambiguous. It is easily distinguished from sibling tools like create_support_case (creates a case) and get_case_comments (reads comments).
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 the tool is for adding comments to existing cases, which is distinct from listing, getting, or closing cases. However, it does not explicitly state when not to use alternatives or mention any prerequisites, so it lacks explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_support_caseB
Create a new support case and associate it with a parent
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | The parent resource name (projects/{project_id} or organizations/{org_id}) | |
| priority | Yes | Case priority filter | |
| testCase | No | Whether this case was created for internal API testing | |
| timeZone | No | The timezone of the user who created the support case (IANA format) | |
| description | Yes | A broad description of the issue | |
| displayName | Yes | The short summary of the issue reported in this case | |
| languageCode | No | The language code for support (BCP 47 format) | |
| classification | Yes | The issue classification applicable to this case | |
| subscriberEmailAddresses | No | Email addresses to receive updates on this case |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description must carry the burden of behavioral disclosure. It only states the creation action and parent association, omitting important details like required permissions, side effects, or the meaning of testCase or priority. This is a significant gap for a write 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 a single, front-loaded sentence that efficiently communicates the core action and the parent association. It is concise and contains no unnecessary 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?
Despite having a complex schema with 9 parameters, a nested object, and no output schema, the description provides minimal contextual completeness. It does not explain the return value, failure behavior, or how parameters like classification or subscriberEmailAddresses factor into the creation process.
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 provides 100% description coverage for all 9 parameters, so the baseline is 3. The description adds marginal value by mentioning parent association but does not clarify parameter details beyond what the schema already offers.
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 creates a new support case and associates it with a parent, using a specific verb and resource. It distinguishes from sibling tools like listing or updating cases, though it lacks additional detail about the case creation process.
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 implied usage is to create a new support case, but there is no explicit guidance on when to choose this tool over alternatives like update_support_case or search_support_cases. It doesn't mention prerequisites such as needing a parent resource or classification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_case_commentsB
Get comments and conversation history for a specific support case
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The full resource name of the case (e.g., projects/{project_id}/cases/{case_id}) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full burden of behavioral disclosure. It only states the action ('Get') without detailing pagination, ordering, permissions, or whether the conversation history includes private/internal comments. This is a minimal read operation disclosure but lacks richness expected for a tool with no annotation support.
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 a single, front-loaded sentence that conveys the essential purpose without unnecessary detail. Every word earns its place, making it maximally concise.
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 fetch tool, the description is adequate but incomplete. It does not specify the return format or any edge cases, and since there is no output schema, the agent must guess what 'comments and conversation history' includes. The lack of annotations increases the burden, so a 3 reflects a minimum viable description.
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 for the single 'name' parameter with a clear format example. The description adds no parameter-specific meaning beyond restating the scope ('for a specific support case'), so the baseline score of 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 retrieves 'comments and conversation history' for a specific support case, using a specific verb ('Get') and resource ('comments and conversation history'). It distinguishes itself from siblings like get_support_case (case details) and create_case_comment (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 implies the tool is for retrieving comments for a case but provides no explicit guidance on when to use it versus alternatives like get_support_case or search_support_cases. There is no mention of prerequisites or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_support_caseA
Get detailed information about a specific support case
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The full resource name of the case (e.g., projects/{project_id}/cases/{case_id}) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It does not state any permissions needed, what 'detailed information' includes, or error behavior for nonexistent cases. The description simply says 'Get detailed information' without elaborating on any side effects, prerequisites, or output specifics beyond generic wording.
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 a single concise sentence that is front-loaded with the key verb and resource. Every word earns its place, and there is no unnecessary elaboration.
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 getter with one parameter and no output schema, the description is minimally viable but leaves gaps. It does not specify the structure of 'detailed information' or potential error conditions, which would be useful given that no output schema exists to clarify return values.
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 100% coverage for the single 'name' parameter, including an example format. The tool description adds no additional semantic value beyond what the schema describes, so the baseline of 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 retrieves detailed information for a specific support case, using a specific verb ('Get') and resource ('support case'). This distinguishes it from sibling tools like list_support_cases (listing many) and get_case_comments (getting comments rather than case details).
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 case, but it does not explicitly mention alternatives or when not to use it. There is no mention of using list/search first to find the case or that get_case_comments is for comments, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_case_attachmentsB
List all attachments associated with a support case.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | The name of the case for which attachments should be listed (e.g., projects/{project_id}/cases/{case_id} or organizations/{org_id}/cases/{case_id}) | |
| pageSize | No | Maximum number of attachments to return (default: 10, max: 100) | |
| pageToken | No | Token for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention pagination (despite the pageSize/pageToken parameters), return format, or any access requirements. The phrase 'List all attachments' could mislead given pagination limits. This is a significant gap for a tool with no annotation support.
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 a single, front-loaded sentence that states the core purpose without any fluff. Every word earns its place, 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?
With no output schema and no annotations, the description should clearly explain what the tool returns and how it behaves. It does not mention that results are paginated or what data is included for each attachment. For a simple tool this may be minimally viable, but it leaves important context 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%, and each parameter has a descriptive comment with examples and constraints (e.g., parent path format, pageSize max). The description adds no further semantic value beyond what the schema already provides, so a baseline of 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 uses a specific verb ('List') and clearly identifies the resource ('attachments') and the scope ('associated with a support case'). It unambiguously distinguishes this tool from siblings like list_support_cases (lists cases) and get_case_comments (gets comments).
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 tool's name and description: you use this when you need attachments for a case. However, there is no explicit guidance about when to prefer this over alternatives, nor any mention of prerequisites or exclusions, so it falls to implied usage rather than clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_support_casesC
List all support cases for a Google Cloud project or organization
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter expression (e.g., "state=OPEN" or "priority=P1") | |
| parent | Yes | The parent resource name (projects/{project_id} or organizations/{org_id}) | |
| pageSize | No | Maximum number of cases to return (default: 50, max: 100) | |
| pageToken | No | Token for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure, but it offers only the basic 'list all' statement. It does not mention pagination, filtering behavior, permissions, or the possibility of large result sets, which are important for an agent to anticipate.
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 a single, clear sentence with no wasted words. It is appropriately concise but could be slightly more informative about the tool's scope or relationship to siblings, preventing a perfect score.
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 very sparse given the tool's complexity. It lacks any mention of return format, pagination behavior, or how filtering works, and there is no differentiation from search_support_cases. The absence of an output schema makes this a significant gap for an agent to understand the tool's full behavior.
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 all four parameters (filter, parent, pageSize, pageToken) already documented. The tool description adds no additional meaning beyond the schema, so a baseline score of 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 'List all support cases for a Google Cloud project or organization' with a specific verb and resource scope. It distinguishes from some siblings like get_support_case (single case) but does not explicitly differentiate from search_support_cases, which likely offers similar listing with more advanced filtering.
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?
No guidance is provided on when to use this tool versus alternatives like search_support_cases or get_support_case. The phrase 'list all' implies a broad listing use, but there are no explicit exclusions or context cues, leaving the agent without clear decision information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_case_classificationsA
Search and retrieve valid case classifications for creating support cases
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Filter expression to search classifications (e.g., displayName:"*Compute Engine*") | |
| pageSize | No | Maximum number of classifications to return (default: 50) | |
| pageToken | No | Token for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. 'Search and retrieve' implies read-only, but the description does not explicitly state it is non-mutating, nor does it mention permissions, ordering, or filtering semantics. Minimal behavioral context is added.
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 a single, front-loaded sentence with no filler. Every word contributes meaning, making it 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?
For a simple search tool with three optional parameters and no output schema, the description gives sufficient context for its purpose. It does not detail response format or pagination behavior, but the schema covers pagination parameters. Adequate but not exhaustive.
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 100% of parameters with descriptive text, including an example for 'query' and defaults for 'pageSize'. The description adds no parameter details beyond the schema, so baseline 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 clearly states the verb ('search and retrieve'), resource ('valid case classifications'), and purpose ('for creating support cases'). It distinguishes from sibling tools that manage support cases directly.
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 'for creating support cases' gives clear context for when to use this tool, but it does not explicitly exclude alternatives or name sibling tools. There is no when-not guidance, so it earns a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_support_casesC
Search support cases with various filters
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search query (searches in case description and title) | |
| state | No | Case state filter | ALL |
| parent | Yes | The parent resource name (projects/{project_id} or organizations/{org_id}) | |
| priority | No | Case priority filter | |
| pageToken | No | Token for pagination | |
| maxResults | No | Maximum number of results to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, and the description does not disclose any behavioral traits. It does not mention pagination, return format, access requirements, or any side effects. Even the read-only nature is assumed rather than 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 a single sentence, making it concise and efficient. However, it is so under-specified that it sacrifices substance for brevity, which is acceptable but not exemplary.
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?
With no output schema, no annotations, and a 6-parameter tool requiring a parent resource, the description is incomplete. It does not explain return behavior, pagination, or how it relates to sibling tools, leaving the agent with significant uncertainty.
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 100% of parameters with descriptions, including enums and defaults, so the schema handles parameter semantics. The description adds no extra meaning beyond the generic 'various filters,' meeting the baseline but not exceeding it.
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 searches support cases, using the verb 'search' and a specific resource. However, it does not distinguish from sibling tools like 'list_support_cases' or 'get_support_case', as the phrase 'various filters' is vague and lacks detail.
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?
No guidance is provided on when to use this tool versus alternatives. The description does not explain whether search is text-based, field-based, or how it differs from listing cases. It merely says 'with various filters,' implying usage but leaving context ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_support_caseA
Update an existing support case. Only priority, displayName, and subscriberEmailAddresses can be updated.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The resource name of the case (e.g., projects/{project_id}/cases/{case_id}) | |
| priority | No | Case priority | |
| updateMask | No | Comma-separated list of fields to update (priority,displayName,subscriberEmailAddresses). If not specified, all provided fields will be updated. | |
| displayName | No | The short summary of the issue reported in this case | |
| subscriberEmailAddresses | No | Email addresses to receive updates on this case |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry behavioral disclosure. It discloses that only certain fields are updatable, which is a useful constraint, but omits any side effects, permissions, or how updateMask interacts.
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?
Single sentence conveying the essential function and constraint 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?
For a mutation tool with 5 params and no output schema, the description covers the main constraint and leaves field-level details to the schema. It doesn't explain the updateMask behavior or required name, but schema covers those. Acceptable.
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 fully documents all five parameters, so baseline is 3. The description adds the key semantic that only priority, displayName, and subscriberEmailAddresses are mutable, which is not fully captured by the schema alone.
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 action ('Update') and resource ('existing support case'), and specifies the updatable fields, distinguishing it from create/close 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?
Provides a constraint on which fields can be updated but doesn't explicitly contrast with alternative tools like create_support_case or close_support_case, nor mention when to prefer this tool.
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.
10 tool updates
v1.0.2- First observed
close_support_case - First observed
create_case_comment - First observed
create_support_case - First observed
get_case_comments - First observed
get_support_case - First observed
list_case_attachments - First observed
list_support_cases - First observed
search_case_classifications - First observed
search_support_cases - First observed
update_support_case
TDQS
Scored across 10 tools
Each tool targets a distinct operation on support cases: listing, getting, searching, creating, updating, closing, comments, attachments, and classifications. No two tools have overlapping purposes; even list vs search are clearly differentiated by description.
Most tools follow a verb_noun pattern, but there is inconsistency in whether the noun is 'support_case' or 'case' (e.g., list_support_cases vs get_case_comments). This is a minor deviation that does not create confusion.
10 tools is a well-scoped count for a support case management server. Each tool covers a necessary function without redundancy or bloat, making the set easy to navigate.
The tool set covers the full lifecycle of support cases: create, read (list/get/search), update, close, comment, and list attachments. It also includes classification search, which is needed for creation. There are no obvious dead ends or missing critical operations.
Maintenance
Related MCP Connectors
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Read-only MCP server for AIStatusDashboard status, incidents, metrics, and fallback recommendations.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server to interact with Google produts.490MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP Server that provides a natural language interface to Google Cloud Resource Settings API, enabling users to view and manage settings for Google Cloud resources through conversation.-
- FlicenseNot gradedqualityDmaintenanceThis MCP Server provides a natural language interface to interact with Google's Policy Analyzer API, allowing users to analyze policies and evaluate compliance through conversations.-
- FlicenseNot gradedqualityDmaintenanceModel Context Protocol server for Google Cloud Platform, enabling interaction with Resource Manager, Compute Engine, Cloud Storage, BigQuery, Pub/Sub, and Cloud Logging via natural language.3-