Skip to main content
Build a conversational feature from scratch using your IDE copilot and Rasa MCP Tools. Each step is a prompt you paste into your IDE chat. By the end, you will have a tested, working feature — and you will have used most of the 19 MCP tools along the way.

Before you start

  • A Rasa project with MCP tools connected. If you don’t have one yet, follow the Developer Quickstart first.
  • Your IDE open from the project root with rasa-tools showing as connected.
Coming from the quickstart?If you just ran the “propose 3 verticals” prompt, pick the one you liked best and use it as your feature throughout this tutorial. The example below uses “check my order status” — swap in your own idea wherever you see it.

Step 1: Explore your project

Understand what the agent already does before adding anything new.
Tools used: list_project_flow_definitions, list_project_slot_definitions, list_project_response_definitions

Step 2: Design the feature

Ask the copilot to look up how Rasa flows work, then design the feature based on your project’s current state.
Tools used: search_rasa_documentation, plus the introspection tools from step 1 Review the design before moving on. Adjust the slot names or edge cases if they don’t fit your project.

Step 3: Write tests first

Get the correct E2E test format from Rasa, then write tests before any implementation.
Tools used: get_e2e_schema

Step 4: Implement

Get the flow and domain schemas so the implementation is valid YAML from the start.
Tools used: get_flow_schema, get_domain_schema

Step 5: Validate and train

Tools used: validate_project, train_rasa_assistant This can take a minute or two. If training fails, the copilot should fix the issue and retry automatically.

Step 6: Talk to your agent

Start the Rasa server in a separate terminal:
Then test the feature with a real conversation:
Tools used: talk_to_assistant, get_assistant_logs

Step 7: Evaluate with simulation

Go beyond scripted tests — let an LLM simulate a real user and score whether your agent met its goals.
The agent will write a scenario YAML to eval/scenarios/, validate it, run the simulation, and return a pass/fail result with a link to the full transcript. Open the Inspector URL in the result file to step through the conversation turn by turn.
Tools used: validate_scenario, evaluate_agent

What you just used

Tips for prompting

  • One prompt per step. Don’t try to do everything at once.
  • Validate before training. It catches errors in seconds instead of minutes.
  • Ask for concise output. “Return only changed files and tool results” cuts the noise.
  • Debug with logs. When a conversation doesn’t go as expected, get_assistant_logs usually explains why.
  • Iterate. Add another edge case, a second feature, or connect a real API. Each round follows the same explore → design → test → implement → validate → train → evaluate cycle.

Next steps