The Connection Management server lets AI agents create, manage, test, monitor, and validate connections to external systems with full CRUD operations over the connection metadata.
By exposing Data Integration controls, this MCP server enables your AI agent to learn a connector's attribute schema before building a connection. Agents operate only on the connections they are entitled to.
Key capabilities
Perform the following tasks with the MCP server:
•Connector discovery. Lists the connector types available to the organization and returns each connector's configuration schema so an agent can assemble a correct connection payload for any connector type.
•Runtime environment discovery. Lists the runtime environments that can run a connection. For toolkit connectors, resolves dynamic attribute option lists from a live agent.
•Connectivity testing. Validates a connection payload's connector-specific attributes and credentials against the live endpoint without persisting anything.
•Connection retrieval. Fetches connection metadata by identifier or name, or lists every connection visible in the caller's organization.
•Connection provisioning. Creates and updates connection definitions, guided by the discovery tools, so connector-specific attributes can be supplied correctly.
•Governed deletion. Removes connections. On request, cascades the removal of dependent tasks that reference them.
Use cases
Use the MCP server to address the following use cases:
•Guided connection creation. Discover a connector's required attributes and a valid runtime environment, test the payload, and then create the connection in one automated flow.
•Connection inventory. List every connection in an organization to report on the available Data Integration endpoints.
•Configuration lookup. Retrieve a connection by name to confirm its runtime environment before scheduling a task.
•Connectivity validation. Test a connection's credentials and attributes before creating or updating it as part of an onboarding workflow.
•Decommissioning. Delete an obsolete connection and its dependent tasks when retiring a data source.
Available tools
The Connection Management server provides the following tools:
browse_objects
Lists the folders, sub-folders, and files directly under one browse path of a connection. For relational connectors, omit the path to list databases, pass a database name to list its schemas, or pass a database and schema name to list its tables.
Parameters:
- id. Required. ID of the connection to browse.
- path. Optional. Path to the folder, database, or schema to list. Omit this parameter to list the connection root.
create_connection
Creates a connection in your organization. The body is a single flat connection object. Set "@type":"connection". Don't use the get_connector_schema tree.
Perform the following steps to build a body:
1Use list_connector_types to identify the connector and pass its name as type.
2Use get_connector_schema to learn which attributes apply, which attributes are mandatory, and which attributes are secret. Also learn each attribute’s options and which subgroup branch to send for value-dependent attributes.
3Use list_connection_runtime_environments for a valid top-level runtimeEnvironmentId.
4For toolkit connectors, use resolve_dynamic_attributes to fill option-driven values. Place the following attributes at the top level:
▪ authenticationType
▪ codepage
▪ database
▪ host
▪ password
▪ port
▪ schema
▪ username
5After building the body, validate it with test_connection.
Only place connector-specific attributes with no first-class field inside connParams, keyed by the “name” attribute. The MCP server ignores any standard attributes in connParams. To mirror an existing connection of the same type, copy it from list_connections or get_connection_by_name. Never send the following parameters:
- agentGroupId
- agentId, if the server derived it
- orgId
delete_connection
Deletes a connection by its identifier. If the connection is still referenced, the MCP server won't delete the connection unless you request a dependency cascade. Optionally, you can add a DeleteDependencies header.
get_connection
Retrieves a single connection by its unique identifier. A missing identifier returns a "not found" response.
get_connection_by_name
Retrieves a single connection by its unique name. A missing name returns a "not found" response.
get_object_metadata
Retrieves the field metadata of a source object in a connection, including the field name, data type, precision, scale, and nullability. Use this tool when the object doesn't need a format overlay.
Parameters:
- engineType. Optional. Runtime engine to use for the metadata request. Default is CLOUD_NATIVE. Values are case-sensitive.
Valid values:
▪ CLOUD_NATIVE. Engine for Cloud Data Integration (CDI) mappings.
▪ ELT_NATIVE. Engine for mappings in SQL ELT mode that run inside the target warehouse.
▪ SPARK. Engine for mappings in advanced mode that run at scale on Spark.
- isFileList. Optional. Set to true to enumerate the files in a directory object.
- objectName. Required. Name of the source object. Object names can include forward slashes.
get_object_metadata_with_dataformat
Retrieves the fields and columns of a source object by applying a Common Connectivity Model (CCM) data-format overlay. Use this tool for structured formats that are registered with a CCM formatId, such as Avro, Parquet, JSON, and XML.
In the request body, define the overlay with formatId, schema, and attributes. The formatId identifies the registered CCM format. The schema and attributes refine how the connector interprets the object.
Parameters:
- engineType. Optional. Runtime engine to use for the metadata request. Default is CLOUD_NATIVE. Values are case-sensitive.
Valid values:
▪ CLOUD_NATIVE. Engine for Cloud Data Integration (CDI) mappings.
▪ ELT_NATIVE. Engine for mappings in SQL ELT mode that run inside the target warehouse.
▪ SPARK. Engine for mappings in advanced mode that run at scale on Spark.
- isFileList. Optional. Set to true to enumerate the files in a directory object.
- objectName. Required. Name of the source object. Multi-segment object names can include forward slashes.
get_object_metadata_with_flatfile_attrs
Retrieves the fields and columns of a source object using a flat-file parsing overlay. Use this tool for CSV, tab-separated, and other delimited flat files, such as CSV files, FTP, and S3 delimited objects.
In the request body, define the overlay with data format attributes such as delimiter, textQualifier, headerLineNo, and codePage, or pass an empty body {}. Flat-file connectors parse the CSV automatically. The overlay has no effect on native relational connectors.
Parameters:
- engineType. Optional. Runtime engine to use for the metadata request. Default is CLOUD_NATIVE. Values are case-sensitive.
Valid values:
▪ CLOUD_NATIVE. Engine for Cloud Data Integration (CDI) mappings.
▪ ELT_NATIVE. Engine for mappings in SQL ELT mode that run inside the target warehouse.
▪ SPARK. Engine for mappings in advanced mode that run at scale on Spark.
- isFileList. Optional. Set to true to enumerate the files in a directory object.
- objectName. Required. Name of the source object. Multi-segment object names can include forward slashes.
get_objects
Lists the source objects that a connection exposes, such as tables, files, and entities. Use this tool to browse a connection's objects, filter by name pattern, or limit results to a browse path. Results are paginated.
get_objects_by_name
Lists the source objects that a connection exposes, such as tables, files, and entities. Use this tool when you have the connection's display name instead of its ID.
get_related_objects
Lists objects related to a given source object under a connection such as referenced tables, linked entities, or parent and child relationships. Returns an empty list when the source object has no related objects.
list_connections
Lists all connections you can access in your organization, with secrets masked. Returns an empty list when none exist.
preview_object_data
Returns a sample of up to 10 rows from a source object. Use this tool to inspect the contents of a source object.
Note:
This tool requires a running Secure Agent.
preview_object_data_with_dataformat
Returns a sample of up to 10 rows from a source object using a Common Connectivity Model (CCM) data-format overlay. Use this tool for structured formats that are registered with a CCM formatId, such as Avro, Parquet, JSON, and XML. In the request body, define the overlay with formatId, schema, and attributes.
Parameter: objectName. Required. Name of the source object. Multi-segment object names can include forward slashes.
Note:
This tool requires a running Secure Agent.
preview_object_data_with_flatfile_attrs
Returns a sample of up to 10 rows from a source object using a flat-file parsing overlay. Use this tool for delimited flat files such as CSV or tab-separated files.
In the request body, define the overlay with data format attributes such as delimiter, textQualifier, headerLineNo, and codePage or pass an empty body {}. Flat-file connectors parse the CSV automatically. The overlay has no effect on native relational connectors.
Parameter: objectName. Required. Name of the source object. Multi-segment object names can include forward slashes.
Note:
This tool requires a running Secure Agent.
test_connection
Tests connectivity for a connection payload without persisting it. Use this tool to validate attribute placement and credentials before creating or updating a connection.
Supply the same flat connection body that you pass to create_connection. Include the following attributes in connParams:
- "@type":"connection"
- a top-level name
- type
- runtimeEnvironmentId
- the standard attributes at the top-level
- connector-specific attributes
Note the following restrictions:
- A resolvable runtime environment with an active agent is required because live connectivity runs through the connection's runtime environment.
- Secrets must be real plain text values for the test. For example, a masked ******* fails.
- Omitting required attributes or placing attributes in connParams instead of top-level result in a structure error like "Enter a valid user name" or "The password is empty."
test_connection_by_id
Tests connectivity for an existing connection by the connection's ID. Use this to reverify a connection you created or fetched without resupplying any attributes or connParams. Unlike test_connection, test_connection_by_id sends no body because the server itself loads any stored secrets.
Note the following restrictions:
- A resolvable runtime environment with an active agent is required because live connectivity runs through the connection's runtime environment.
- A failed check returns an error body with a code and description.
update_connection
Updates an existing connection in your organization. Sends the full connection body as a single flat connection object. Set "@type":"connection". Don't use the get_connector_schema tree.
Perform the following steps to build a body:
1Use list_connector_types to identify the connector and pass its name as type.
2Use get_connector_schema to learn which attributes apply, which attributes are mandatory, and which attributes are secret. You also learn each attribute’s options and which subgroup branch to send for value-dependent attributes.
3Use list_connection_runtime_environments for a valid top-level runtimeEnvironmentId.
4For toolkit connectors, use resolve_dynamic_attributes to fill option-driven values. Place the following attributes at the top level:
▪ authenticationType
▪ codepage
▪ database
▪ host
▪ password
▪ port
▪ schema
▪ username
5After building the body, validate it with test_connection.
Common issues and actions
If you encounter any of the following issues, try the recommended remedial actions:
A sub-folder in the response is empty.
The response doesn't expand sub-folders, so their containers and records are always empty, even when the folder holds files. Call browse_objects and pass the sub-folder's XPath as path.
You can't find the folders and files for the path that you requested.
In the response tree, find the container whose XPath matches the path you sent. The containers inside it are sub-folders, and their names end with a slash (/). The records inside it are files.
The get_objects tool doesn't return sub-folders.
The get_objects tool returns files only. Use the browse_objects tool to list sub-folders.
You can't preview an Amazon S3 file that browse_objects listed.
Build the objectName value from the file's location. Use the XPath of the container that holds the file, remove the trailing slash, and add two slashes (//) and the file name. For example, if the container XPath is sales/2026/ and the file is orders.csv, the objectName is sales/2026//orders.csv.
For a file at the bucket root, use the bucket name, a slash, and the file name. For example, if the bucket is customer-data and the file is orders.csv, the objectName is customer-data/orders.csv.