Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Tools

Gateway exposes two MCP tools. All provider actions flow through this pair.

search

Discover available actions. Works like --help for your connected providers.

Parameters

NameTypeRequiredDescription
querystringyesProvider name, action name, or keywords

Usage Examples

# List everything available for a provider
search("slack")
 
# Fuzzy match across all providers
search("send message")
 
# Get full details for a specific action
search("linear.create_issue")
 
# See parameter spec and examples
search("notion.query_database")

Response

Returns matching actions with:

  • Action name and description
  • Parameter definitions (name, type, required, description)
  • Usage examples
  • User context (which providers are connected, which aren't)

exec

Execute a provider action. Format: provider.action.

Parameters

NameTypeRequiredDescription
actionstringyesprovider.action format (e.g. linear.create_issue)
paramsobjectyesAction-specific parameters

Usage Examples

# Search Linear issues
exec("linear.search", { query: "auth bug" })
 
# Create a Notion page
exec("notion.create_page", {
  parent: { database_id: "abc123" },
  properties: { title: "New Spec" }
})
 
# Send a Slack message
exec("slack.send_message", {
  channel: "#engineering",
  text: "Deploy complete ✅"
})
 
# Batch create Linear issues
exec("linear.batch_create_issues", {
  issues: [
    { teamId: "...", title: "Fix login" },
    { teamId: "...", title: "Fix signup" }
  ]
})

Error Handling

If the action doesn't exist, exec returns an error suggesting you use search to find the right action. If parameters are missing or invalid, it returns the parameter spec so the AI can fix the call.

Built-in Behavior

The exec tool description includes a live procedure catalog — the names and categories of all available procedures are injected at session start. When a user says "I need to expense something", the AI immediately knows the expense-tracking procedure exists without any tool calls.

The description also includes the execution protocol:

Before handling any company/admin operation (expenses, leave, time off, approvals, onboarding), ALWAYS check for a matching procedure.

This means your AI will discover and invoke tracked procedures rather than improvising.

Procedure Actions

The gateway provider exposes procedure-specific actions through exec:

ActionPurpose
gateway.list_proceduresList available procedures (id, name, category, trigger)
gateway.get_procedureGet summary: input table, output table, step names — no execution details
gateway.get_procedure_sourceGet full markdown source (authoring/editing only)
gateway.start_runStart a tracked run with validated input
gateway.get_runLoad run state including current step instructions only
gateway.log_stepRecord what was done after completing a step
gateway.advance_stepMove the run to the next step
gateway.park_runPark on a wait condition
gateway.complete_runMark run as done
gateway.cancel_runCancel a run
gateway.create_procedureCreate a new procedure in Notion
gateway.update_procedureUpdate an existing procedure's markdown

The key design: get_procedure returns a summary (enough to collect input and start a run), while get_run returns the current step's instructions. The AI never sees the full procedure source during execution.