Practice mode
Practice mode lets anyone try your tools with fake responses. No credential, no sign-in, and nothing reaches your API. It's a safe way to show what your server can do, and to develop an agent against it.
Turning it on
In MCP Studio, turn on Turn on practice mode and publish. Your server then has a separate address:
https://api.octri.dev/api/v1/public/mcp/YOUR_PROJECT_ID/practice/mcpYou can share that address, or offer it as a practice plugin for Claude Code.
To run it on your own machine, or on a package, a bundle, Docker or a Worker:
npx @octri/mcp --project-id YOUR_PROJECT_ID --practiceOr set OCTRI_PRACTICE=1. Packages built while practice mode was off carry nothing to answer from, so publish again first.
What the responses are
Responses are built from your own documentation: the examples in your docs, and your schemas where there's no example. Good examples in your spec make for a more convincing practice session.
Requests are still built and checked by the real code path, so a call with a bad argument fails as it would for real.
Sessions remember
A session keeps what it created. An agent can create a record and then read it back, so a whole workflow can run from start to finish. Each session is separate, so two people never see each other's records.
Simulating failures
Practice sessions get one extra tool, practice_control.
| Action | What it does |
|---|---|
simulate_error | Makes the next call to a named tool fail |
reset | Clears what the session created |
Simulated failures come from your documented error responses, and they go through the same error guidance as real ones. That lets you see how an agent copes with a failure before one happens.
What's different from the real server
| Real server | Practice | |
|---|---|---|
| Reaches your API | Yes | No |
| Sign-in or key | Depends on your settings | None |
| Approval prompts | As you set them | Skipped |
| Outage notes and change notices | Yes | Skipped |
| Rate limit | Your limits | Its own limit |
Agents are told that responses are simulated, so they don't report a practice result to someone as real.
Practice mode or a dry run?
Both keep your API safe, and they answer different questions.
| Mode | What comes back | Use it for |
|---|---|---|
| Practice mode | Fake responses, so workflows continue | Demos, and developing against your tools |
Dry run (--dry-run) | The request that would have been sent | Checking exactly what a call would do |
Common uses
From the CLI
octri mcp plugin --practice takes the practice version of your Claude Code plugin. See octri mcp plugin.
Let prospects try an agent on your API before they sign up.
Let new developers explore without touching real data.
Build and test an agent, including how it handles failures.