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