Tool modes
Pipedream MCP supports a few different methods for interacting with tools:- Sub-agent (default)
- Full config
- Tools only
Sub-agent
When using Pipedream MCP in sub-agent mode, all tools you expose to your LLM take a single input:instruction
.
The Pipedream MCP server passes the instruction
to an LLM to handle the configuration of the main tool using a set of agents with narrowly scoped sets of instructions and additional tools to aid in the configuration and execution of the top-level user prompt.
- The benefit with this approach is that sub-agent mode abstracts some of the complexity with handling things like remote options and dynamic props, especially for MCP clients that don’t automatically reload tools.
- However, one downside is that as a developer, you lose some of the control and observability in this model.
While in Beta, Pipedream eats the costs of the LLM tokens in sub-agent mode. We’ll likely pass these costs to developers in the future.
View the schema for the google_sheets-add-single-row tool in sub-agent mode
View the schema for the google_sheets-add-single-row tool in sub-agent mode
Full-config
Full-config mode enables support for loading and configuring dynamic props. This mode provides the most flexibility for tool configuration and is required for certain features like automatic app discovery. Usefull-config
mode when you need:
- Greater control over tool configuration
- Support for dynamic props
- Automatic app discovery functionality
Your MCP client must be able to reload the list of available tools on each turn. See here for example implementations.
Configuring dynamic props
- Tools that use dynamic props can’t be configured in one shot, as the full prop definition isn’t known until certain inputs are defined.
- For example, the full set of props for
google_sheets-add-single-row
aren’t known until you configure thehasHeaders
prop. Once you know if there’s a header row, you can retrieve the column names from the header row and make them available as props that can be configured. - As you call each tool, you should reload the available tools for the server to expose meta tools for configuration, such as
begin_configuration_google_sheets-add-single-row
, which causes the rest of the tools to be removed and only expose tools relevant to the configuration.
Enabling full-config mode
To use full-config mode, you need to set 2 parameters:- Set the
toolMode
tofull-config
- Pass a
conversationId
in order to maintain state for your end user’s conversation
View the schema for the google_sheets-add-single-row tool in full-config mode
View the schema for the google_sheets-add-single-row tool in full-config mode
Tools-only
To handle all tool configuration and calling directly, you should usetools-only
mode.
While some tools will be able to be fully configured and executed in a single shot, not all tools will work in tools-only mode.
View the schema for the google_sheets-add-single-row tool in tools-only mode
View the schema for the google_sheets-add-single-row tool in tools-only mode