Medium Risk

resolve_modules

Bulk fuzzy name → id resolver. Pass a list of module NAMES (the way a user writes their rack — "Maths", "Plaits", "Pamela's New Workout", "Morph 4") and get back, per name, the best-matching corpus module id plus recovery affordances. This is the "import my rack" tool: resolving a 60-module inven...

Part of the Eurorack server.

resolve_modules can modify Eurorack data, with no limits today. PolicyLayer puts allow, deny, and rate-limit rules on every call. Live in minutes.

SECURE EURORACK →

Free to start. No card required.

AI agents use resolve_modules to create or modify resources in Eurorack. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.

Without a policy, an AI agent could call resolve_modules repeatedly, creating or modifying resources faster than any human could review. PolicyLayer's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach Eurorack.

Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "resolve_modules": {
      "limits": [
        {
          "counter": "resolve_modules_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}

See the full Eurorack policy for all 17 tools.

Get this rule live on your own Eurorack server in minutes. PolicyLayer enforces it on every call, before it runs.

ENFORCE ON MY EURORACK →

View all 17 tools →

These attack patterns abuse exactly the kind of access resolve_modules gives an agent. Each links to the full case and the policy that stops it:

Browse the full MCP Attack Database →

Every attack above starts with a tool call. PolicyLayer checks each one against your policy first, so resolve_modules only ever does what you allow.

SECURE EURORACK →

Other write tools across the catalogue. The same approach applies to each: rate-limit and validate the arguments.

What does the resolve_modules tool do? +

Bulk fuzzy name → id resolver. Pass a list of module NAMES (the way a user writes their rack — "Maths", "Plaits", "Pamela's New Workout", "Morph 4") and get back, per name, the best-matching corpus module id plus recovery affordances. This is the "import my rack" tool: resolving a 60-module inventory is ONE call here, not 60 search_modules calls. Use this the moment a user gives you a list of module names to map onto the corpus — before get_modules / draw_patch_diagram / reachable_techniques / rack_redundancy, all of which want ids. Feed the resolved best_match.id into those. For each input name it runs the same resolution search_modules uses (exact id, unique-slug recovery, module_aliases, separator-fold, token-AND, and edit-distance + multi-token fuzzy "did you mean"), then returns: - best_match: the single resolved module ({ id, name, manufacturer, hp, capabilities, production_status }), or null when nothing resolved confidently. - score: confidence 0..1 (1.0 exact id, ~0.97 unique slug / alias, ~0.9 literal name hit, ~0.72 token-AND relaxed, 0 when best_match is null). - match_kind: "id" | "slug" | "exact" | "relaxed" | "ambiguous" | "fuzzy" | "none". - did_you_mean: up to 5 fuzzy neighbours to confirm — populated when best_match is null (a near-miss like "morf 4" → joranalogue/morph-4, or "tiny time machin" → oam/tiny-time-machine). - ambiguous: up to 5 candidates when several modules tied for the match and the server declined to pick (e.g. a slug shared across manufacturers). Present them to the user; do NOT silently take the first. The server AUTO-RESOLVES a confident single match but never guesses through a genuine tie — that's the ambiguous bucket. A name with best_match=null AND empty did_you_mean/ambiguous is a real corpus gap: consider report_gap(kind="missing_module"). Args: - names (string[], required): module names or ids, up to 100. Order and duplicates are preserved in the response. Returns: { "resolutions": [ { "input": "Pamela's New Workout", "best_match": { "id": "alm-busy-circuits/pamelas-new-workout", "name": "Pamela's NEW Workout", "manufacturer": "ALM Busy Circuits", "hp": 8, "capabilities": [...], "production_status": "current" }, "score": 0.9, "match_kind": "exact", "did_you_mean": [], "ambiguous": [] }, ... ], "_meta": { "requested": 3, "resolved": 2, "feedback_hint"?: "..." } } Errors: - Throws only on a malformed call (missing/empty names array, or > 100 names). Unresolved individual names are NOT errors — they come back with best_match=null and the recovery fields.. It is categorised as a Write tool in the Eurorack MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on resolve_modules? +

Register the Eurorack MCP server in PolicyLayer and add a rule for resolve_modules: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Eurorack. Nothing to install.

What risk level is resolve_modules? +

resolve_modules is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit resolve_modules? +

Yes. Add a rate_limit block to the resolve_modules rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block resolve_modules completely? +

Set action: deny in the PolicyLayer policy for resolve_modules. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides resolve_modules? +

resolve_modules is provided by the Eurorack MCP server (https://eurorackref.com/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Eurorack tool call.

Deterministic rules across all 17 Eurorack tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

4,600+ MCP servers and 31,000+ tools scanned and risk-classified.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.