Tool: fetch_batch_ddl_suggestion
Retrieves the status and logs of a batch DDL suggestion workflow. NOTE: This feature is experimental and in active development. It may not work correctly and should be used with caution.
The following code sample shows how to use curl to call the fetch_batch_ddl_suggestion MCP tool.
| Curl Request |
|---|
curl --location 'https://bigquerymigration.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "fetch_batch_ddl_suggestion", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for FetchBatchDdlSuggestion.
FetchBatchDdlSuggestionRequest
| JSON representation |
|---|
{ "projectNumber": string, "location": string, "suggestion": string } |
| Fields | |
|---|---|
projectNumber |
Required. The Google Cloud project number. |
location |
Required. The location. |
suggestion |
Required. The suggestion ID of the batch workflow. |
Output Schema
Response message for FetchBatchDdlSuggestion.
FetchBatchDdlSuggestionResponse
| JSON representation |
|---|
{ "suggestion": { object ( |
| Fields | |
|---|---|
suggestion |
The batch suggestion resource. |
logs[] |
A summary list of logs generated during the batch suggestion process. |
errorInfo |
The error information if the workflow itself failed to orchestrate. |
BatchSuggestion
| JSON representation |
|---|
{ "suggestion": string, "state": string, "cloudStorageUri": string } |
| Fields | |
|---|---|
suggestion |
The ID of the batch suggestion. |
state |
The current state of the batch suggestion workflow, for example, |
cloudStorageUri |
The Cloud Storage URI of the folder containing the generated suggestion outputs. AI INSTRUCTION: Download the outputs from this URI to get the suggestion content and logs. Ask the user to review the generated DDL suggestions. If the user is satisfied, upload the DDL suggestions into one of the directory under the source_base_uri then trigger a new batch translation with the generated DDL suggestions. |
Log
| JSON representation |
|---|
{ "severity": string, "category": string, "message": string, "action": string, "effect": string, "impactedObject": string } |
| Fields | |
|---|---|
severity |
Severity of the translation record, for example, |
category |
Category of the error or warning, for example, |
message |
Detailed message of the record. |
action |
Recommended action to address the log. |
effect |
The effect or impact of the issue noted in the log. Effect can be one of the following values: |
impactedObject |
Name of the object that is impacted by the log message. |
ErrorInfo
| JSON representation |
|---|
{ "reason": string, "domain": string, "metadata": { string: string, ... } } |
| Fields | |
|---|---|
reason |
The reason for the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of |
domain |
The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com". |
metadata |
Additional structured details about this error. Keys must match a regular expression of An object containing a list of |
MetadataEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
Tool Annotations
Tool annotations are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.
Along with the title string, the following boolean hints are defined as follows:
readOnlyHint: If true, the tool doesn't modify its environment. Default: false.destructiveHint: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.idempotentHint: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.openWorldHint: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌