Ask before acting
request_actionAsk Maplith whether you may perform an operation in your human's systems, BEFORE you act, or take back a request of yours that still waits; op says which, ask when left out. op ask: name the catalogue operation (system + operation), the target, params, an explained reason and your idempotency_key. The answer is allowed (act with your own credentials, redeeming the grant with redeem_action_grant first), pending (do not act; show approve_url; an admin decides in the app or in Slack; ask again with the identical request and idempotency_key after their decision) or denied (do not act; why says what to tell your human). No policy: denied; for one the workspace's catalogue declares, the answer says where an admin adds one, and gives propose_policy, the call to ask for it. Maplith never performs the action and never sees your credentials: it decides and keeps the log. op withdraw takes back a request of yours that still waits for a person, when it no longer needs one: pass its request_id and a one-sentence reason the person reads; it becomes withdrawn (nobody decides it, nothing is done, it stays in the log with your reason), only your own, while it waits; needed after all, ask again with a new idempotency_key. list_requests shows what you asked, and record_action records the outcome once you have acted. Examples and the reason format: maplith://docs/mcp. To change rules, use op proposal with proposal, reason and idempotency_key; no operation policy is needed, and a whole-map admin approves, even for an autonomous key. rule_from_finding: a new rule, on once approved. rule_update: a fix to rule_id (new name and/or definition). rule_retire: rule_id no longer fits. watch_from_rule: a live check of a rule that is on. Only objects this key sees, join intermediates included. Never permission to act in another system. Grammar: maplith://docs/signals-and-rules.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | ask: request an external operation. withdraw: take back a waiting request. proposal: a rule change for a person; needs proposal, reason and idempotency_key. | |
| params | No | The operation's params, e.g. { "amount_dkk": 299 }. | |
| reason | No | op ask: plain lead, then What it does:, Problem:, Value:, each label starting its own line (no invented savings). Technical references in Details:. Total ≤500 characters. See maplith://docs/mcp. op withdraw: why it no longer needs a person, in one sentence, at most 200 characters. | |
| system | No | op ask: the system, as named in the catalogue, e.g. "payments". | |
| target | No | What you act on: its kind as the catalogue names it, and its id in your human's system. | |
| proposal | No | op proposal: the change a whole-map admin approves. | |
| operation | No | The operation, as named in the catalogue, e.g. "issue_refund". | |
| signal_id | No | op ask: the signal that started this, if any. | |
| request_id | No | op withdraw: the request_id request_action returned, or list_requests lists. | |
| idempotency_key | No | op ask: your own key for this request (letters, digits, . _ : -). Asking again with the same key for the same request returns the first answer; the same key for a different request is denied. |