Skip to main content
Glama

Export a subsystem

mbe_export

Free. Export a subsystem and its dependencies (types, interface and item definitions, requirements, allocations; anything else as reference proxies) into a package of a target. dry_run returns the diff (create, update, unchanged, delete candidate) and touches nothing; create refuses a package that already holds it; update writes in place through the id map and never duplicates.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "model_id": "<model_id>",
      "subsystem_id": "<subsystem_id>",
      "target": "<target>",
      "target_package": "<target_package>"
    },
    "name": "mbe_export"
  }
}

Input Schema

NameRequiredDescriptionDefault
refNoA branch, commit or baseline (default main).
modeNodry_run
targetYes
model_idYesA saved model id (m_ followed by 24 hex digits), as the studio and /v1/repos list them.
subsystem_idYesQualified name of a package or definition, e.g. "L4Robotaxi::NetworkSwitch".
target_packageYesQualified name (Vehicle::Chassis::Braking) or a tool element id.
create_missing_packagesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the bar is lower. The description usefully adds that dry_run mutates nothing, that create fails on an occupied package, that update reuses the id map and never duplicates, and that the call is free. It omits success/failure return shapes for create/update and any permission or target-existence requirements, and the idempotentHint=false vs. 'never duplicates' framing sits in mild tension.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with 'Free.' and the core action, then a compact mode breakdown; no filler sentences. The mode clause is dense and semicolon-packed, which slightly hurts scannability but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutating tool with no output schema, the description covers the mode semantics and dependency scope well but leaves gaps: no indication of what create/update return, what happens to pre-existing content not in the export, or the meaning of target vs. target_package. Adequate but not fully sufficient for confident first-call invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 57%, and the description meaningfully explains the three mode values (dry_run/create/update) beyond the bare enum, which is the most important parameter. However, it says nothing about target vs. target_package, ref, or create_missing_packages, leaving the remaining undocumented parameters to an unannotated schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Export a subsystem and its dependencies') and enumerates the dependency kinds (types, interface and item definitions, requirements, allocations), plus where it lands ('into a package of a target'). It does not differentiate itself from the sibling export_model, so an agent cannot tell from the description alone which of the two to pick for a whole-model export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear mode-selection guidance: dry_run returns the diff and 'touches nothing', create refuses a package that already holds it, update writes in place through the id map. That effectively says when to use each mode. It stops short of naming an alternative tool (e.g. export_model or mbe_import_from) or stating prerequisites such as needing an existing target.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources