Skip to main content
Glama
metamug

plunger

Official

import_curl

Parse a curl command into a Plunger request without sending it, so you can inspect its method, URL, headers, body, and variables or save it by name for later.

Instructions

Parse a curl command into a Plunger request without sending it: method, URL, headers, body and the {{variables}} it uses. Use it to check what a curl command would do, or with save_as to keep it in the user's Saved list so it can be sent later with send_request by name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
curlYesThe full curl command, e.g. "curl -X POST https://api.example.com/items -H 'Content-Type: application/json' -d '{...}'".
save_asNoAlso save it in Plunger's Saved list under this name.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
bodyNo
groupNoThe group a saved request is filed under (`Jira`, `Jira/Issues`).
methodYes
headersYes
optionsNoWhat a saved request carries besides its form: `timeout_secs`, `follow_redirects`, `insecure_tls` and `select`. They apply when it is sent by name, unless the call gives its own.
saved_idNoSet when saved under `save_as`; it now shows in Plunger's Saved list.
body_typeYesnone, json, form-data or raw.
not_savedNoFields of the call that a saved request does not keep (only said when there are some).
form_fieldsNomultipart -F fields: "name=value" or "name=@file".
variables_usedYes{{variables}} the request uses.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only supply a title, so the description carries the behavioral burden, and it does key work: 'without sending it' tells the agent this is a non-transmitting parse, and save_as is disclosed as a persistent side effect on the user's Saved list. It stops short of covering failure behavior for malformed curl input or how variables are substituted.

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

Conciseness5/5

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

Two sentences, front-loaded with the core action and the critical 'without sending it' constraint, followed by the optional save flow. No filler and no repetition of the tool name or title.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the description fully covers the parse-and-optionally-save workflow plus the downstream send_request path. Remaining minor gaps, such as validation errors on bad input or variable handling, are not critical for correct invocation.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: it names the fields extracted from the curl string and explains that save_as makes the parsed request retrievable later via send_request by name, which the schema's one-line description does not convey.

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

Purpose5/5

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

States a specific verb (parse) and resource (curl command) and enumerates the output it produces: method, URL, headers, body, and the {{variables}} used. It also implicitly distinguishes itself from the export_curl sibling by being the import direction, so an agent can route correctly without opening either schema.

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 two concrete use cases ('check what a curl command would do' and 'keep it in the Saved list' via save_as) and names the follow-on tool, send_request by name, that consumes the saved result. It does not spell out a when-not or contrast with export_curl, so it falls just short of fully explicit routing.

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