rasa-calling-mcp-tools-from-flows

Call MCP tools from Rasa flow steps with input and output mappings.

5|3|Updated Mar 2, 2026
One-click install
npx skills add https://github.com/RasaHQ/rasa-agent-skills --skill rasa-calling-mcp-tools-from-flows
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rasa-calling-mcp-tools-from-flows
Source: https://github.com/RasaHQ/rasa-agent-skills/tree/main/skills/rasa-calling-mcp-tools-from-flows
Command: npx skills add https://github.com/RasaHQ/rasa-agent-skills --skill rasa-calling-mcp-tools-from-flows

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill streamlines API integrations by allowing direct calls to MCP tools from Rasa flows, eliminating the need for custom action code for simple tasks.

Core Features & Use Cases

  • Direct Tool Invocation: Call external tools via call steps in your Rasa flows.
  • Input/Output Mapping: Map slot values to tool parameters and extract tool results back into slots using Jinja2 expressions.
  • Use Case: Integrate with a trading API to check stock feasibility and place an order directly within a user conversation flow, without writing any Python code.

Quick Start

Use the rasa-calling-mcp-tools-from-flows skill to call the 'place_buy_order' tool on the 'trade_server' with input from 'stock_name' and 'order_quantity' slots.

Frequently Asked Questions about rasa-calling-mcp-tools-from-flows

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I call external APIs from Rasa flows without writing custom Python actions?

You can call external APIs directly from Rasa flows by using `call` steps to invoke MCP tools, eliminating the need for custom action code for simple API integrations. This requires configuring the MCP server in `endpoints.yml`.

How does input and output mapping work when calling MCP tools from Rasa flows?

Input and output mapping in Rasa flows uses Jinja2 expressions to map slot values to tool parameters and extract tool results back into slots. This allows direct tool invocation from `call` steps without custom code.

Do I need an MCP server configured to use call steps for tool invocation in Rasa?

Yes, calling MCP tools directly from Rasa flows requires MCP server configuration in `endpoints.yml`. This server hosts the external tools that the `call` steps invoke during the conversation flow.

What is the best way to integrate a trading API into a Rasa conversation flow?

Integrating a trading API into Rasa flows is done by calling MCP tools like 'place_buy_order' directly from `call` steps. You map conversation slots such as stock name and quantity to the tool parameters to place orders without Python code.

Can MCP tool invocation from Rasa handle unstructured tool result formats?

Yes, calling MCP tools from Rasa flows handles both structured and unstructured tool result formats. The flow extracts the required data from these results and maps them back into slots using Jinja2 expressions.

Why use Rasa flow call steps instead of custom actions for simple API integrations?

Using Rasa flow `call` steps for simple API integrations replaces custom action code, streamlining the process of invoking external MCP tools. This allows direct parameter mapping and result extraction entirely within the flow definition.