MCP Tools Reference: datamigration

Tool: list_issues

Lists the issues of a the conversion workspace conversionWorkspace. Various filters can be applied to the issues, such as onlyErrors, includeResolved, and allEntityTypes. By default, only open error issues of code entities are returned.

  • If no 'next_page_token' is returned, there are no more issues to retrieve.
  • The conversionWorkspace parameter is in the form: projects/{project name}/locations/{location}/conversionWorkspaces/{conversion_workspace}, for example: projects/my-project/locations/us-central1/conversionWorkspaces/my-conversion-workspace.
  • The only_errors parameter specifies whether to include info and warning issues (false), or only return errors (true).
  • The only_open parameter specifies whether to return issues for all states (false), or only return open issues (true).
  • The only_code_entities parameter specifies whether to return issues for all entity types (false), or only for code entities (procedures, functions, triggers and packages) (true).
  • The page_size parameter specifies the maximum number of issues to return in the response. Default is 50. The value must be between 1 and 100.
  • The page_token parameter should be filled with the value of next_page_token from the previous response. If not specified, the first page is returned.

The following code sample shows how to use curl to call the list_issues MCP tool.

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

Input Schema

Request message for 'ListIssues' request.

ListIssuesRequest

JSON representation
{
  "conversionWorkspace": string,
  "pageSize": integer,
  "pageToken": string,
  "onlyErrors": boolean,
  "onlyOpen": boolean,
  "onlyCodeEntities": boolean
}
Fields
conversionWorkspace

string

Required. Name of the conversion workspace resource in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}.

pageSize

integer

Optional. The maximum number of entities to return. The service may return fewer entities than the value specifies. Default is 1000.

pageToken

string

Optional. The nextPageToken value received in the previous call to ListIssues, used in the subsequent request to retrieve the next page of results. On first call this should be left blank. When paginating, all other parameters provided must match the call that provided the page token, except for the page_size parameter.

onlyErrors

boolean

Optional. Whether to return issues of all severities - info, warning, and error (false), or only error issues (true).

onlyOpen

boolean

Optional. Whether to return issues of all states (false), or only open issues (true).

onlyCodeEntities

boolean

Optional. Whether to return issues for all entity types (false), or only issues for code entities (true). Code entities include stored procedures, functions, triggers and packages.

Output Schema

Response for fetching issues of a conversion workspace.

FetchIssuesResponse

JSON representation
{
  "issues": [
    {
      object (Issue)
    }
  ],
  "nextPageToken": string
}
Fields
issues[]

object (Issue)

The list of issues for the conversion workspace.

nextPageToken

string

A token which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

Issue

JSON representation
{
  "id": string,
  "type": enum (IssueType),
  "severity": enum (IssueSeverity),
  "categoryId": enum (IssueCategoryId),
  "groupId": enum (IssueGroupId),
  "issueOrigin": enum (IssueOrigin),
  "entityFullName": string,
  "entityType": enum (DatabaseEntityType),
  "message": string,
  "position": {
    object (Position)
  },
  "issueState": enum (IssueState)
}
Fields
id

string

Unique Issue ID. Use this ID when referencing a specific issue in other API calls, such as DataMigrationService.SetIssuesState.

type

enum (IssueType)

The type of the issue.

severity

enum (IssueSeverity)

Severity of the issue.

categoryId

enum (IssueCategoryId)

The category ID.

groupId

enum (IssueGroupId)

The group ID.

issueOrigin

enum (IssueOrigin)

The source of the issue (deterministic, gemini, etc).

entityFullName

string

Entity full name.

entityType

enum (DatabaseEntityType)

The entity type (if the DDL is for a sub entity).

message

string

Issue detailed message.

position

object (Position)

The position of the issue found, if relevant.

issueState

enum (IssueState)

Output only. The state of the issue (open, resolved, etc).

Position

JSON representation
{
  "line": integer,
  "column": integer,
  "offset": integer,
  "length": integer
}
Fields
line

integer

Issue line number.

column

integer

Issue column number.

offset

integer

Issue offset.

length

integer

Issue length.

IssueType

The type of the issue. More types will be added in the future.

Enums
ISSUE_TYPE_UNSPECIFIED Unspecified issue type.
ISSUE_TYPE_CONVERSION Issue originated from the conversion process.
ISSUE_TYPE_PULL_SCHEMA Issue originated from the pull schema process.
ISSUE_TYPE_APPLY Issue originated from the apply process.

IssueSeverity

Severity of issue.

Enums
ISSUE_SEVERITY_UNSPECIFIED Unspecified issue severity.
ISSUE_SEVERITY_INFO Info.
ISSUE_SEVERITY_WARNING Warning.
ISSUE_SEVERITY_ERROR Error.

IssueCategoryId

The category ID of the issue. More categories will be added in the future.

Enums
ISSUE_CATEGORY_ID_UNSPECIFIED Unspecified issue category ID.
ISSUE_CATEGORY_ID_CW00 General conversion issues.
ISSUE_CATEGORY_ID_CW01 Input issues.
ISSUE_CATEGORY_ID_CW02 Source functionality not supported.
ISSUE_CATEGORY_ID_CW03 Source feature not supported.
ISSUE_CATEGORY_ID_CW04 Unsupported syntax.
ISSUE_CATEGORY_ID_CW05 Data types and conversion.
ISSUE_CATEGORY_ID_CW06 Potential functional nuances.
ISSUE_CATEGORY_ID_CW07 Functional review recommended.
ISSUE_CATEGORY_ID_CW08 Refactoring required.
ISSUE_CATEGORY_ID_CW99 Gemini review recommendations.
ISSUE_CATEGORY_ID_QA00 Quality assessment findings.
ISSUE_CATEGORY_ID_AP00 General apply issues.

IssueGroupId

The group ID of the issue. More groups will be added in the future. Details on each group can be found at: https://docs.cloud.google.com/database-migration/docs/sqlserver-to-csql-pgsql/conversion-issues-reference

Enums
ISSUE_GROUP_ID_UNSPECIFIED Unspecified issue group ID.
ISSUE_GROUP_ID_CW_OP0000 General conversion issues.
ISSUE_GROUP_ID_CW_OP0001 Metadata conversion issues.
ISSUE_GROUP_ID_CW_OP0002 Contact your support team.
ISSUE_GROUP_ID_CW_OP0101 Invalid source code.
ISSUE_GROUP_ID_CW_OP0102 Missing referenced objects.
ISSUE_GROUP_ID_CW_OP0103 Missing primary key.
ISSUE_GROUP_ID_CW_OP0200 Source functionality not supported.
ISSUE_GROUP_ID_CW_OP0201 SQLCODE not supported.
ISSUE_GROUP_ID_CW_OP0202 Oracle data dictionary object not supported.
ISSUE_GROUP_ID_CW_OP0203 Oracle SQL function not supported.
ISSUE_GROUP_ID_CW_OP0204 Oracle PL/SQL package not supported.
ISSUE_GROUP_ID_CW_OP0205 Data type not supported.
ISSUE_GROUP_ID_CW_OP0206 Naming conflict.
ISSUE_GROUP_ID_CW_OP0300 Source feature not supported.
ISSUE_GROUP_ID_CW_OP0301 Schema objects or attributes not supported.
ISSUE_GROUP_ID_CW_OP0315 Synonyms not supported.
ISSUE_GROUP_ID_CW_OP0303 Bulk binding not supported.
ISSUE_GROUP_ID_CW_OP0304 Collections not supported.
ISSUE_GROUP_ID_CW_OP0305 Pipelined functions not supported.
ISSUE_GROUP_ID_CW_OP0306 Dynamic SQL not supported.
ISSUE_GROUP_ID_CW_OP0307 CONNECT BY option not supported.
ISSUE_GROUP_ID_CW_OP0308 Locking and transactions issues.
ISSUE_GROUP_ID_CW_OP0309 JSON not supported.
ISSUE_GROUP_ID_CW_OP0310 XML not supported.
ISSUE_GROUP_ID_CW_OP0311 MERGE not supported.
ISSUE_GROUP_ID_CW_OP0312 PIVOT not supported.
ISSUE_GROUP_ID_CW_OP0313 ALTER statement option not supported.
ISSUE_GROUP_ID_CW_OP0314 SQL feature not supported.
ISSUE_GROUP_ID_CW_OP0302 PL/SQL feature not supported.
ISSUE_GROUP_ID_CW_OP0400 Unsupported syntax.
ISSUE_GROUP_ID_CW_OP0401 Unsupported SQL syntax.
ISSUE_GROUP_ID_CW_OP0402 Unsupported PL/SQL syntax.
ISSUE_GROUP_ID_CW_OP0403 Unsupported date and timestamp syntax.
ISSUE_GROUP_ID_CW_OP0404 Unsupported exceptions syntax.
ISSUE_GROUP_ID_CW_OP0500 Data types and conversion issues.
ISSUE_GROUP_ID_CW_OP0501 Date format model issues.
ISSUE_GROUP_ID_CW_OP0502 Numeric format model issues.
ISSUE_GROUP_ID_CW_OP0503 Casting issues.
ISSUE_GROUP_ID_CW_OP0504 Comparison issues.
ISSUE_GROUP_ID_CW_OP0601 Review date format model.
ISSUE_GROUP_ID_CW_OP0602 Review numeric format model.
ISSUE_GROUP_ID_CW_OP0603 Review exception code.
ISSUE_GROUP_ID_CW_OP0604 Review exception message.
ISSUE_GROUP_ID_CW_OP0605 Review Oracle built-in function emulation.
ISSUE_GROUP_ID_CW_OP0606 Review foreign key column data type.
ISSUE_GROUP_ID_CW_OP0701 Functional review recommended.
ISSUE_GROUP_ID_CW_OP0702 Review Oracle built-in function emulation.
ISSUE_GROUP_ID_CW_OP0801 Autonomous transactions refactoring required.
ISSUE_GROUP_ID_CW_OP0802 Database links refactoring required.
ISSUE_GROUP_ID_CW_OP0803 Advanced queuing refactoring required.
ISSUE_GROUP_ID_CW_OP0804 Database email refactoring required.
ISSUE_GROUP_ID_CW_OP0805 Jobs and scheduling refactoring required.
ISSUE_GROUP_ID_CW_OP0806 File I/O refactoring required.
ISSUE_GROUP_ID_CW_OP0807 Synonyms refactoring required.
ISSUE_GROUP_ID_CW_OP0808 Global temporary tables refactoring required.
ISSUE_GROUP_ID_QA_OP0000 Functional equivalence assessment findings.
ISSUE_GROUP_ID_CW_SP0000 General conversion issues.
ISSUE_GROUP_ID_CW_SP0001 Metadata conversion issues.
ISSUE_GROUP_ID_CW_SP0002 Contact your support team.
ISSUE_GROUP_ID_CW_SP0101 Invalid source code.
ISSUE_GROUP_ID_CW_SP0102 Missing referenced objects.
ISSUE_GROUP_ID_CW_SP0103 Missing primary key.
ISSUE_GROUP_ID_CW_SP0200 Source functionality not supported.
ISSUE_GROUP_ID_CW_SP0201 SQL Server system view not supported.
ISSUE_GROUP_ID_CW_SP0202 SQL Server SQL function not supported.
ISSUE_GROUP_ID_CW_SP0203 SQL Server T-SQL object not supported.
ISSUE_GROUP_ID_CW_SP0204 Missing SQL Server system View
ISSUE_GROUP_ID_CW_SP0205 Naming conflict.
ISSUE_GROUP_ID_CW_SP0300 Source feature not supported.
ISSUE_GROUP_ID_CW_SP0302 T-SQL feature not supported.
ISSUE_GROUP_ID_CW_SP0306 Dynamic SQL not supported.
ISSUE_GROUP_ID_CW_SP0308 JSON not supported.
ISSUE_GROUP_ID_CW_SP0309 Locking and transactions issues.
ISSUE_GROUP_ID_CW_SP0310 XML not supported.
ISSUE_GROUP_ID_CW_SP0311 MERGE not supported.
ISSUE_GROUP_ID_CW_SP0312 PIVOT not supported.
ISSUE_GROUP_ID_CW_SP0313 ALTER statement option not supported.
ISSUE_GROUP_ID_CW_SP0314 SQL feature not supported.
ISSUE_GROUP_ID_CW_SP0400 Unsupported syntax.
ISSUE_GROUP_ID_CW_SP0401 Unsupported SQL syntax.
ISSUE_GROUP_ID_CW_SP0402 Unsupported T-SQL syntax.
ISSUE_GROUP_ID_CW_SP0403 Unsupported date and timestamp syntax.
ISSUE_GROUP_ID_CW_SP0404 Unsupported exceptions syntax.
ISSUE_GROUP_ID_CW_SP0500 Data types and conversion issues.
ISSUE_GROUP_ID_CW_SP0501 Date format model issues.
ISSUE_GROUP_ID_CW_SP0502 Numeric format model issues.
ISSUE_GROUP_ID_CW_SP0503 Casting issues.
ISSUE_GROUP_ID_CW_SP0504 Comparison issues.
ISSUE_GROUP_ID_CW_SP0601 Review date format model.
ISSUE_GROUP_ID_CW_SP0602 Review numeric format model.
ISSUE_GROUP_ID_CW_SP0604 Review exception message.
ISSUE_GROUP_ID_CW_SP0701 Functional review recommended.
ISSUE_GROUP_ID_CW_SP0802 Database links refactoring required.
ISSUE_GROUP_ID_CW_SP0807 Synonyms refactoring required.
ISSUE_GROUP_ID_QA_SP0000 Functional equivalence assessment findings.
ISSUE_GROUP_ID_CW_AI9900 Review Gemini suggestions.
ISSUE_GROUP_ID_CW_AI9901 Review AI-augmented code.
ISSUE_GROUP_ID_CW_AI9902 Citations for AI-augmented code.
ISSUE_GROUP_ID_CW_AP0000 General apply issues.

IssueOrigin

The origin of the issue.

Enums
ISSUE_ORIGIN_UNSPECIFIED Unspecified issue origin.
ISSUE_ORIGIN_DETERMINISTIC Issue originated from the deterministic conversion engine.
ISSUE_ORIGIN_AI Issue originated from the AI conversion engine.
ISSUE_ORIGIN_AI_FROM_DETERMINISTIC CODE_CONVERSION/CST issues that were carried over to the Gemini conversion,

DatabaseEntityType

The type of database entities supported,

Enums
DATABASE_ENTITY_TYPE_UNSPECIFIED Unspecified database entity type.
DATABASE_ENTITY_TYPE_SCHEMA Schema.
DATABASE_ENTITY_TYPE_TABLE Table.
DATABASE_ENTITY_TYPE_COLUMN Column.
DATABASE_ENTITY_TYPE_CONSTRAINT Constraint.
DATABASE_ENTITY_TYPE_INDEX Index.
DATABASE_ENTITY_TYPE_TRIGGER Trigger.
DATABASE_ENTITY_TYPE_VIEW View.
DATABASE_ENTITY_TYPE_SEQUENCE Sequence.
DATABASE_ENTITY_TYPE_STORED_PROCEDURE Stored Procedure.
DATABASE_ENTITY_TYPE_FUNCTION Function.
DATABASE_ENTITY_TYPE_SYNONYM Synonym.
DATABASE_ENTITY_TYPE_DATABASE_PACKAGE Package.
DATABASE_ENTITY_TYPE_UDT UDT.
DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW Materialized View.
DATABASE_ENTITY_TYPE_DATABASE Database.

IssueState

The state of the issue.

Enums
ISSUE_STATE_UNSPECIFIED Unspecified issue state.
ISSUE_STATE_OPEN Issue is open.
ISSUE_STATE_RESOLVED Issue is resolved.

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: ❌