Why delegate to Argus
General-purpose coding agents are good at code, files, and planning. Driving engineering software is a different job. It needs live access to the open model, knowledge of each vendor’s quirks, and checks at every step. If your agent writes CAD macros from scratch, you get scripts that look right and fail on the real model. Delegating gets you a specialist built for this work.Domain-specific agents
Each platform has its own agent — SolidWorks, NX, CATIA, Abaqus, Ansys,
COMSOL, Fluent, and more. Each one has tools and skills for that software,
so it doesn’t have to guess at a vendor API.
Fewer mistakes on CAD/CAE work
Argus works against the open model, not a guess about it. It reads feature
trees, mesh stats, and solver output. It checks its own work with
screenshots and model queries, and recovers when an operation fails.
A clean context for your main agent
The many tool calls behind a mesh-and-solve stay inside Argus. Your main
agent gets back a short answer and images, not thousands of tokens of API
traffic. That leaves its context free for the rest of the task.
Guardrails built in
Changes to the model go through Argus’s confirmation gates. Your client can
answer them, or Argus can resolve them safely on its own. Your Argus login
and credits stay inside the app.
Prerequisites
1
Open Argus and sign in
The MCP server runs inside the desktop app, so the app must be open while
your agent uses it.
2
Turn on Developer access
In Settings → Developer access, turn it on. The app starts a local MCP
server and writes its connection details to a descriptor file:
mcp-gateway.json
3
(Optional) Check readiness
If you have the SDK installed (
pip install cosmon-agent-sdk), run
cosmon doctor. It confirms the app is reachable and the agent runtime is
ready, and lists the platform agents you can call.Connect Claude Code
This shell function reads the descriptor and starts Claude Code with Argus attached as an MCP server namedargus. Add it to ~/.zshrc or ~/.bashrc:
~/.zshrc
~/.config/nexus/mcp-gateway.json instead.
Run argus-claude in place of claude, then type /mcp to confirm argus is
connected.
MCP_TOOL_TIMEOUT lets an Argus run last up to an hour (the value is in
milliseconds). Meshing and solving often take longer than the default MCP tool
timeout. Raise the value for long solves.
Windows (PowerShell)
Windows (PowerShell)
Add this to your PowerShell profile (
notepad $PROFILE):Make Argus a Claude Code subagent
To make delegation explicit, define a subagent whose only tools are Argus’s. Claude Code then hands CAD/CAE tasks to it. The many tool calls behind each task stay out of your main conversation..claude/agents/argus.md
Connect Codex
Codex reads MCP servers from~/.codex/config.toml, and you can override any
setting with -c. This launcher passes the current endpoint and token each
time Codex starts:
~/.zshrc
tool_timeout_sec lets an Argus run last up to an hour. Codex’s default tool
timeout is far too short for a solve.
To tell Codex when to delegate, add guidance to your project’s AGENTS.md:
AGENTS.md
Connect any other MCP client
Any client that supports Streamable HTTP can connect:
Read the descriptor when the client starts, not once at install time.
What the server exposes
tool
Runs an engineering task and returns the transcript (with each tool step as a
▶ <step> line), plus any images the run produced as MCP image content.tool
Ends a multi-turn session. The conversation persists unless it was started
with
ephemeral: true.tool
Lists the conversations created through MCP, newest first. Your own app chats
are not included.
tool
Deletes a conversation created through MCP. It can’t touch chats you started
in the app.
resource
Login state, available agents, model, and readiness. Wait for both
runtime_ready and tool_server_ready before calling run.Questions and confirmations
Argus sometimes needs input: a clarifying question (“which face is the fixed support?”) or approval before it changes the model. How these are handled depends on your client:- Clients that support MCP elicitation pass the question or confirmation to you. Each prompt is open for 120 seconds. After that, Argus proceeds on its best judgment, and an unanswered confirmation counts as declined.
- Clients without elicitation run unattended. Argus doesn’t ask questions, approves safe actions, and declines dangerous ones (deleting bodies, overwriting files).
allow_questions: false or allow_confirms: false on run to switch off
either kind of prompt.
Limits to know
- One run at a time. Argus drives a single instance of your CAD/CAE
software, so a second
runthat starts while one is in progress fails with abusyerror. If your orchestrator runs subagents in parallel, send Argus tasks one after another. - Same machine. The server only accepts loopback connections. Your agent must run on the machine where Argus and your engineering software are installed.
- Long runs need long timeouts. Argus has no run time limit of its own. If the client times out, it cancels the run, and Argus stops cleanly. Set your client’s MCP tool timeout to cover your longest solve. Some hosts have a fixed timeout of a few minutes that you can’t change. With those, use the CLI instead (below).
Alternative: call the CLI from a shell
Any agent that can run shell commands can call Argus through thecosmon CLI,
with no MCP setup. There are no timeouts to configure and no endpoint to
refresh:
-q prints only the finished transcript, so the calling agent gets one clean
block of output. See the CLI reference for all flags.
Next steps
Argus SDK overview
How the local connection model works, and how to drive Argus from Python.
Supported software
The CAD, CAE, and PLM platforms Argus can drive.