MCP Usage Scenarios
IN THIS ARTICLE
These are common end-to-end call sequences your agent runs through the tools described in the MCP Tools Reference: running an action against an existing connection, handling a multi-step wizard connection, connecting a new app, and more.
1. Run an action (existing connection)
The most common flow: the app is already connected, so the agent moves straight from finding the action to running it.
get_action_schema(partnerId, triggerActionId, credentialData: {"0": {"value": 90001}}, fieldFilter: ["deal", "name"]) → status: "success", variables: [...]
run_action_sync(partnerId, triggerActionId, credentialData: {"0": {"value": 90001}}, runnerData) → result
2. Multiple apps in one scenario
find_action and get_action_schema each run once, covering every app the scenario needs in a single call rather than once per app.
get_action_schema(actions: [HubSpot params, Slack params]) → variables for both
run_action_sync(HubSpot action, credentialData: {"0": {"value": id1}}) → deal data
run_action_sync(Slack action, credentialData: {"0": {"value": id2}}) → message sent
3. Wizard connection (Google Sheets)
For actions with hasCredentialWizard: true, the agent collects connection settings step by step through get_credential_wizard_step before it can request a schema.
get_credential_wizard_step(triggerActionId, {"0": {"value": 90002}}) → list of spreadsheets
get_credential_wizard_step(triggerActionId, {"0": {...}, "1": {"value": "40002"}}) → list of sheets
get_credential_wizard_step(triggerActionId, {"0": {...}, "1": {...}, "2": {"value": "Sheet1"}}) → complete: true, final currentCredentialData
get_action_schema(partnerId, triggerActionId, credentialData: final currentCredentialData) → variables
run_action_sync(partnerId, triggerActionId, credentialData: final currentCredentialData, runnerData) → result
4. No connection yet
If connections comes back empty, the agent has to get the user connected before it can do anything else.
create_connection_link(partnerId) → linkUrl, sharingId
Agent sends the linkUrl to the user and waits for confirmation.
check_connection_status(sharingId) → credentialId: 90001
Continue with Scenario 1 above, using credentialData: {"0": {"value": 90001}}.
5. Native adapter, multiple connected accounts
When a native adapter partner has more than one connected account, the agent asks the user which one to use before calling run_action_sync.
Multiple connections found: ask the user which account to use.
get_action_schema(partnerId, triggerActionId) → variables. credentialData is not needed for native adapter actions.
run_action_sync(partnerId, triggerActionId, connectionId: "acc-2", runnerData) → result from the "Sandbox" account
If the adapter has only one connection, connectionId can be omitted: it's selected automatically.
6. What's connected, disconnect an account
list_connections shows everything the user has connected across every app, which is useful before offering to disconnect something.
Show the user what they have connected.
disconnect_adapter({ adapterId: "hubspot-native", connectionId: "acc-2" }) → disconnected: true
disconnect_partner({ partnerId: 10001, credentialId: 90001 }) → disconnected: true
See the MCP Tools Reference for full parameter and response details on each of these tools, and the MCP Architectural Principles guide for the design reasoning behind this flow.
Need help? Contact your Albato manager or reach out to the Albato technical team.
Did this answer your question?