Skip to content
Newv0.5.13 · Diagnose mode: find the cause, with evidence →

The AI pair programmer
that knows Mule.

MuleSoftForge Studio AI lives inside Anypoint Studio. Ask about flows, DataWeave, Problems, Console output and live debugger events. Every change comes back as a diff, checked against your project, and nothing is written until you accept.

Install guideRead the docs

For Anypoint Studio 7.28+ on Java 17 · your own API key · no other Studio extensions needed

studio-workspace · employees-app · Anypoint Studio
MuleSoftForge Studio AIv0.5.13History ▾Settings
You
How can I improve the error handling?
Agent, project employees-app
  • Read src/main/mule/employees-api.xml
  • connector_reference http, apikit
  • Proposed change to employees-api.xml
  • check_project: no new problems
AI

Each on-error-propagate repeats the same ee:transform. I moved it into one shared api-error-handler so every error returns the same JSON contract, and checked the project with the change applied.

XML
-<on-error-propagate type="APIKIT:NOT_FOUND">
- <ee:transform>…</ee:transform>
+<error-handler name="api-error-handler">
+ <on-error-propagate type="APIKIT:NOT_FOUND">
+ <set-variable variableName="httpStatus" value="404"/>
+ <flow-ref name="build-error-response"/>
</on-error-propagate>
Proposed changes · nothing is written until you accept
src/main/mule/employees-api.xml+45 −12
Review diffAcceptReject
Ask about your Mule project…
Agent ▾Auto ▾+ ContextSend
  • Ask · Agent · Plan · Diagnosefour modes, one view
  • Checked firstMule XML, connectors, DataWeave
  • Secrets maskedbefore anything is sent
  • You acceptnothing is written until then
Context

Send it from wherever you're stuck

Right-click, or press Cmd/Ctrl+Alt+I. The AI gets exactly what you're looking at, attached to your next message.

Message Flow canvas
Select processors, right-click
→canvas selection in employees-api.xml (2 elements: logger, http:request)
Problems view
Select markers, Send to MuleSoftForge Studio AI
→Fix these problems. · switches to Agent
Console
Failed build or runtime log
→Find the cause of the error in this console output. · switches to Diagnose
Mule debugger
Stopped at a breakpoint or error
→Ask about this event · payload, attributes, variables
DataWeave editor
Right-click in Transform Message
→Fix with MuleSoftForge Studio AI · script + editor errors
Screenshots
Paste with Cmd/Ctrl+V
→pasted image 1 (1440×900)
Your running app
Calls localhost endpoints only
→call_endpoint GET http://localhost:8081/api/employees → 500 · with the console lines it printed
Your voice
OS dictation, no audio sent
→macOS Dictation · Windows voice typing
Modes

Ask it. Diagnose it. Let it act. Or plan first.

Ask, Plan and Diagnose only get read tools, and the tool layer refuses edits in those modes as well.

Proposes edits as diffs you review.

Reads, proposes and checks its own changes. Nothing is written until you Accept, and Accept refuses if the file changed since the proposal.

  • ✓Reads the project
  • ✓Proposes edits as diffs
  • –Writes a plan
  • –Finds the cause, with evidence
  • ✓Sends POST, PUT and DELETE to your local app
Proposed changes · nothing is written until you accept
src/main/mule/employees-api.xml+45 −12
src/main/mule/global.xml+3 −1
src/main/resources/config.yaml+2 −0
Review diffAcceptRejectAccept all
Checks

Checked before you ever see it

When the AI proposes a change to Mule XML, pom.xml or your properties, the plugin checks the project as it would be with the change applied. New problems go back to the AI to fix first.

  • Connector operations and attributes are checked against the version in your pom.xml
  • DataWeave is compiled with MuleSoft's DataWeave CLI
  • Ask "why won't this deploy?" and it runs the same checks on the whole project
The AI proposes
employees-api.xml +45 −12
  1. XML is well-formed, every prefix declared
  2. Namespaces and xsi:schemaLocation
  3. Connector dependency in pom.xml
  4. config-ref, flow-ref and error-handler names exist Fixed by the AI before you saw it: hr-db-config
  5. ${property} defined in .properties or .yaml
  6. Operations and attributes match the connector version
  7. DataWeave compiles (DataWeave CLI)
Ready for your review · problems already in the project are not blamed on it
In your project→What the model sees
# src/main/resources/config.properties
db.url=jdbc:mysql://hr_admin:«masked-1»@db.internal:3306/hr
db.password=«masked-1»
api.token=«masked-2»
salesforce.password=${secure::sf.password}

<!-- src/main/mule/global.xml -->
<http:basic-authentication username="svc-hr"
    password="«masked-3»"/>
<db:my-sql-connection password="${db.password}"/>
Hidden before anything is sentReferences kept, so the AI can follow your config
Privacy

Your secrets stay in Studio

Passwords, keys, tokens and client ids become «masked-N» before your message, files, console output or attachments are sent. References like ${secure::x} are kept, so the AI can still follow your configuration.

  • When it edits a masked line, the real value is put back before you review
  • .env, keys, keystores and credentials*.json are never read
  • A hardcoded secret in Mule XML gets flagged, with a fix that moves it to secure properties
Models

Any model. Your key. Every cent visible.

Switch models mid-chat and the conversation carries over. The cost column shows what this chat, today and this month have cost.

OpenRouterOpenAIAnthropicGoogle GeminiAzure OpenAIAmazon BedrockOllama (local)Any OpenAI-compatible endpoint
Autopicks the model per message
Fast modelQuick questions in Ask mode
Strong modelAgent and Plan, fixes, reviews, DataWeave, debug events, images
Rate-limited or down? The turn runs once on the other model.
Modelgpt-5.4-mini$0.75 in · $4.50 out per 1M
This chat~$0.025827.6k tokens
Today~$0.1901255.1k tokens
This month~$0.2133283.6k tokens
Every call is logged to usage.jsonl with tokens and amounts only. Prices are public list prices via OpenRouter.
The real thing

Straight from Anypoint Studio

Click a screenshot to see it full size.

Get started

Running in Studio in four steps

New releases arrive through Studio's own updates: see Update and roll back. Stuck? Troubleshooting. Curious how it works? Build it yourself.

Site content released under the Apache License 2.0. Each asset carries its own license. RSS · llms.txt