15 seconds

A "read" wrote a ticket.

Someone exposed create_incident as a resource. The agent treated it like a file.

ResourceReadToolActSystemSide effects
Lesson notesTools versus resources: the short version+

Week 8 · MCP & identity · about 3 minutes

What you will be able to do

Separate MCP tools that act from resources that only read Helix data.

The idea

Resources are read-only handles (docs, records). Tools perform actions with arguments and side effects.

If it changes customer state, it is a tool — and may need HITL.

// resource: incident://{id}  → read
// tool: resolve_incident({ id, note }) → write

Mislabeling a write as a resource hides the danger.

Key takeaways

  • Resources only read.
  • Tools can change state.
  • Writes inherit approval rules.

Part of the Forward Deployed Engineer roadmap. New to the role? Start with what a Forward Deployed Engineer does.