Skip to directory

Database Migration Service MCP

Google Cloud

Streamable HTTP13 documented tools11

About Database Migration Service MCP

Google Cloud managed MCP server for Database Migration Service. Exact tool names and accessible operations depend on the published server reference and configured Google Cloud permissions.

What you can use it for

  • When you migrate a database into Google Cloud using DMS, Google needs a way to securely connect to your source database to read the data. If you choose the Static-IP connectivity method to connect to your source database, you will need to allow incoming traffic from DMS's specific, trusted IPs. This tool lists the IP addresses (matching the provided resource name) that should be allowlisted by the customer. The resource name parameter is in the form projects/{project name}/locations/{location} , for example: projects/my-project/locations/us-central1 .
  • Lists the migration jobs of the provided parent with optional filters. Parent parameter is in the form projects/{project name}/locations/{location} , for example: projects/my-project/locations/us-central1 . You can use any, some or all of the additional parameters to filter the results. You can specify in the 'page_size' parameter the maximum number of migration jobs to return. The tool may return fewer than this value. If more jobs are available, a 'next_page_token' value is returned and you can use it in the next call to retrieve the next page of results. If unspecified, at most 50 migration jobs will be returned. The maximum value is 100; values above 100 are coerced to 100. If no 'next_page_token' is returned, there are no more migration jobs to retrieve. Not all the details of the migration jobs are returned. To get the full details of a specific job use the 'get_migration_job' tool. For example: { create_time_after: 2025-10-02T10:15:33Z create_time_before: 2025-10-03T00:00:00Z display_name: hr running: true page_size: 80 } will return up to 80 migration jobs that were created on or after 2025-10-02T10:15:33 UTC and before 2025-10-03T00:00:00 UTC and have hr in their display name and are currently running. If there are more than 80 such jobs, a next_page_token value (like CgtteS1qb2IxM ) will be returned and you can use it in the next call to retrieve the next page of results.
  • Gets the status of a long-running operation. Usage Some tools (for example, start_migration_job ) return a long-running operation. You can use this tool to get the status of the operation. It can be called repeatedly until the operation is complete. Parameters name : The name of the operation to get. name should be the name returned by the tool that initiated the operation. name should be in the format of: projects/{project}/locations/{location}/operations/{operation} . Returns An Operation object that contains the status of the operation. If the operation is not complete, the response will be empty. Use a command line tool to pause for 10 seconds before rechecking the status. If the operation is complete, the response will contain either: A response field that contains the result of the operation and indicates that it was successful. A error field that indicates any errors that occurred during the operation.
  • Get details of the migration job specified by the provided resource name parameter. The resource name parameter is in the form: projects/{project name}/locations/{location}/migrationJobs/{migration job name} , for example: projects/my-project/locations/us-central1/migrationJobs/my-migration-job .
  • Starts an already created migration job, specified by the provided resource name parameter. The resource name parameter is in the form: projects/{project name}/locations/{location}/migrationJobs/{migration job name} , for example: projects/my-project/locations/us-central1/migrationJobs/my-migration-job . Use the optional 'skip_validation' parameter to specify whether to start the migration job without running prior configuration verification. The default is 'false'. This tool returns a long-running operation. Use the 'get_operation' tool with the returned operation name to poll its status until it completes. Operation may take several minutes; use a command line tool to pause for 10 seconds before rechecking the status as needed.
  • Stops an already started migration job, specified by the provided resource name parameter. The resource name parameter is in the form: projects/{project name}/locations/{location}/migrationJobs/{migration job name} , for example: projects/my-project/locations/us-central1/migrationJobs/my-migration-job . This tool returns a long-running operation. Use the 'get_operation' tool with the returned operation name to poll its status until it completes. Operation may take several minutes; use a command line tool to pause for 10 seconds before rechecking the status as needed.
Connection and setup
Hosting
Google-managed remote
Transport
Streamable HTTP
Endpoint
https://datamigration.googleapis.com/mcp
Authentication
Google Cloud authentication: OAuth 2.0 using Application Default Credentials (ADC) in supported Google clients, or a client OAuth ID/secret or bearer token in compatible third-party clients. The principal needs mcp.tools.call plus the underlying product permissions; API key authentication is only available for services that explicitly support it.

Requirements

  • A Google Cloud project and access to the target product/resource.
  • Enable this MCP service and its underlying Google Cloud API as required by the product guide.
  • An MCP client that supports Streamable HTTP.
  • An identity with the MCP Tool User role (roles/mcp.toolUser) or equivalent mcp.tools.call permission, plus permissions for the underlying product operations.

Setup steps

  1. Choose the correct global or regional endpoint for your data location; this catalog lists the documented endpoint.
  2. In the Google Cloud project, enable the MCP service and the underlying product API if the product guide requires it.
  3. Authenticate the client with Google Cloud ADC (simplest with Antigravity/Gemini CLI) or configure OAuth 2.0 credentials in a compatible client.
  4. Grant the connecting identity roles/mcp.toolUser and only the product IAM roles needed for the intended operations.
  5. Add datamigration.googleapis.com to the client as a Streamable HTTP MCP server and complete sign-in.
  6. Refresh the client tool list and check that the tools match the product reference; availability may depend on permissions and selected toolset.
Tools 13

Thirteen tools inspect and manage migration jobs/conversion workspaces. Starting/resuming/stopping/deleting jobs changes live migration state and may affect replication/data movement; Preview service, OAuth/IAM, careful project/location selection.

  • list_static_ips

    When you migrate a database into Google Cloud using DMS, Google needs a way to securely connect to your source database to read the data. If you choose the Static-IP connectivity method to connect to your source database, you will need to allow incoming traffic from DMS's specific, trusted IPs. This tool lists the IP addresses (matching the provided resource name) that should be allowlisted by the customer. The resource name parameter is in the form projects/{project name}/locations/{location} , for example: projects/my-project/locations/us-central1 .

    01
  • list_migration_jobs

    Lists the migration jobs of the provided parent with optional filters. Parent parameter is in the form projects/{project name}/locations/{location} , for example: projects/my-project/locations/us-central1 . You can use any, some or all of the additional parameters to filter the results. You can specify in the 'page_size' parameter the maximum number of migration jobs to return. The tool may return fewer than this value. If more jobs are available, a 'next_page_token' value is returned and you can use it in the next call to retrieve the next page of results. If unspecified, at most 50 migration jobs will be returned. The maximum value is 100; values above 100 are coerced to 100. If no 'next_page_token' is returned, there are no more migration jobs to retrieve. Not all the details of the migration jobs are returned. To get the full details of a specific job use the 'get_migration_job' tool. For example: { create_time_after: 2025-10-02T10:15:33Z create_time_before: 2025-10-03T00:00:00Z display_name: hr running: true page_size: 80 } will return up to 80 migration jobs that were created on or after 2025-10-02T10:15:33 UTC and before 2025-10-03T00:00:00 UTC and have hr in their display name and are currently running. If there are more than 80 such jobs, a next_page_token value (like CgtteS1qb2IxM ) will be returned and you can use it in the next call to retrieve the next page of results.

    02
  • get_operation

    Gets the status of a long-running operation. Usage Some tools (for example, start_migration_job ) return a long-running operation. You can use this tool to get the status of the operation. It can be called repeatedly until the operation is complete. Parameters name : The name of the operation to get. name should be the name returned by the tool that initiated the operation. name should be in the format of: projects/{project}/locations/{location}/operations/{operation} . Returns An Operation object that contains the status of the operation. If the operation is not complete, the response will be empty. Use a command line tool to pause for 10 seconds before rechecking the status. If the operation is complete, the response will contain either: A response field that contains the result of the operation and indicates that it was successful. A error field that indicates any errors that occurred during the operation.

    03
  • get_migration_job

    Get details of the migration job specified by the provided resource name parameter. The resource name parameter is in the form: projects/{project name}/locations/{location}/migrationJobs/{migration job name} , for example: projects/my-project/locations/us-central1/migrationJobs/my-migration-job .

    04
  • start_migration_job

    Starts an already created migration job, specified by the provided resource name parameter. The resource name parameter is in the form: projects/{project name}/locations/{location}/migrationJobs/{migration job name} , for example: projects/my-project/locations/us-central1/migrationJobs/my-migration-job . Use the optional 'skip_validation' parameter to specify whether to start the migration job without running prior configuration verification. The default is 'false'. This tool returns a long-running operation. Use the 'get_operation' tool with the returned operation name to poll its status until it completes. Operation may take several minutes; use a command line tool to pause for 10 seconds before rechecking the status as needed.

    05
  • stop_migration_job

    Stops an already started migration job, specified by the provided resource name parameter. The resource name parameter is in the form: projects/{project name}/locations/{location}/migrationJobs/{migration job name} , for example: projects/my-project/locations/us-central1/migrationJobs/my-migration-job . This tool returns a long-running operation. Use the 'get_operation' tool with the returned operation name to poll its status until it completes. Operation may take several minutes; use a command line tool to pause for 10 seconds before rechecking the status as needed.

    06
  • resume_migration_job

    Resume a migration job that is currently stopped and is resumable (was stopped during CDC phase). Migration job is specified by the provided resource name parameter. The resource name parameter is in the form: projects/{project name}/locations/{location}/migrationJobs/{migration job name} , for example: projects/my-project/locations/us-central1/migrationJobs/my-migration-job . Use the optional 'skip_validation' parameter to specify whether to resume the migration job without running prior configuration verification. The default is 'false'. This tool returns a long-running operation. Use the 'get_operation' tool with the returned operation name to poll its status until it completes. Operation may take several minutes; use a command line tool to pause for 10 seconds before rechecking the status as needed.

    07
  • delete_migration_job

    Deletes a migration job, specified by the provided resource name parameter. The resource name parameter is in the form: projects/{project name}/locations/{location}/migrationJobs/{migration job name} , for example: projects/my-project/locations/us-central1/migrationJobs/my-migration-job . This tool returns a long-running operation. Use the 'get_operation' tool with the returned operation name to poll its status until it completes. Operation may take several minutes; use a command line tool to pause for 10 seconds before rechecking the status as needed.

    08
  • get_conversion_workspace_info

    Gets the info of a conversion workspace. name parameter is in the form 'projects/{project name}/locations/{location}/conversionWorkspaces/{conversion_workspace_name}', for example: 'projects/my-project/locations/us-central1/conversionWorkspaces/cs1'.

    09
  • list_entities_and_dependencies

    Gets the entities and their dependency information of a conversion workspace. The dependency information shows for each entity on which other entities it directly depends on. Note that the dependency on the schema is not included, for example, table 'Person.IDs' depends on schema 'Persons' but the schema is not listed as a dependency. All entities, including those without dependencies are included in the response. If no 'next_page_token' is returned, there are no more entities to retrieve. name parameter is in the form 'projects/{project name}/locations/{location}/conversionWorkspaces/{conversion_workspace_name}', for example: 'projects/my-project/locations/us-central1/conversionWorkspaces/cs1'. schemas parameter is an optional list of schemas to be included in the response, for example: ['Person', 'HR']. An empty list means all schemas are selected. entities_full_names parameter is an optional list of entities to be included in the response, for example: ['Person.IDs', 'Persons.Salaries', 'HR.Employees']. An empty list means all entities are included. draft_entities determines whether the dependencies are for the draft or source entities. The page_size parameter specifies the maximum number of entities to return in the response. Default is 1000. The value must be between 1 and 1000. 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.

    10
  • 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.

    11
  • get_entity_info

    Get details of the entity entity_name in the conversion workspace conversion_workspace . The entity_name parameter should be the full name of the entity, for example: 'Person.IDs'. The entity_type parameter should be the type of the entity, for example: 'DATABASE_ENTITY_TYPE_STORED_PROCEDURE', 'DATABASE_ENTITY_TYPE_TABLE', etc. The conversion_workspace 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 .

    12
  • set_entity_ai_ddl

    Sets the AI-generated DDL for a single entity and marks it as the DDL to apply. If this is the first time the AI DDL is set for this entity, the server also adds a review recommendation warning issue and any applicable issues from the deterministic conversion. The entity_full_name parameter should be the full name of the draft entity, for example: 'person.ids'. The entity_type parameter should be the type of the draft entity, for example: 'DATABASE_ENTITY_TYPE_STORED_PROCEDURE', 'DATABASE_ENTITY_TYPE_TABLE', etc. conversion_workspace parameter is in the form 'projects/{project name}/locations/{location}/conversionWorkspaces/{conversion_workspace_name}', for example: 'projects/my-project/locations/us-central1/conversionWorkspaces/cs1'.

    13
Limitations and notes
  • Google marks this service Preview in its supported-products catalog.
Original sources
  • official server catalog

    Official Google Cloud catalog lists this product as an available remote MCP server.

  • official setup guide

    Google Cloud describes remote MCP client setup, Streamable HTTP transport, supported authentication options, and ADC setup.

  • official authentication guide

    Google documents supported identity types and authorization requirements for Google Cloud MCP calls.

  • official source

    Official Google Cloud primary MCP reference/setup checked 2026-10-28.

  • official source

    Official Google Cloud primary MCP reference/setup checked 2026-10-28.

Documentation checked 2026-10-28. Connection has not been runtime tested.