Skip to main content
Glama
Vyrmedea

Codex Antigravity MCP Server

by Vyrmedea

codex_approve

Approve, decline, or cancel Codex runtime approval requests for command execution, file changes, permissions, and user input, while dangerous direct delete commands are automatically converted to declines.

Instructions

回复 Codex 的反向审批请求 (命令执行、文件更改、权限申请或用户交互提问). 会自动拦截危险的直接删除命令并转为 decline.

Input Schema

NameRequiredDescriptionDefault
turnIdYes轮次 ID
waitMsNo审批后等待时长 (毫秒, 范围 0..45000, 默认 10000)
answersNo针对 user_input 类型的问题回答字典 Record<questionId, answer>
decisionYes决策: accept, decline 或 cancel
threadIdYes会话 ID
interactionIdYes待审批项的 interactionId (从快照 pendingApproval 获取)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral burden. It does disclose one genuinely important non-obvious behavior: dangerous direct-delete commands are auto-intercepted and converted to decline. It does not say that the call blocks/wait (waitMs up to 45s), whether decisions are final, or what happens on a timeout, leaving meaningful gaps for a mutation-style approval tool.

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?

Two sentences, no filler, and the scope of the tool is front-loaded ahead of the auto-intercept caveat. Could be tighter only in that the parenthetical category list is somewhat enumerative.

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

Completeness5/5

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

Badly overstated; rescored to 3. For a 6-parameter tool with a nested answers object, a blocking wait parameter, and no output schema, an agent still lacks guidance on decision choice (accept vs decline vs cancel), timeout behavior, and whether a returned result must be re-polled via codex_poll. Those omissions matter for correct 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 description coverage is 100%, so baseline is 3. The description's mention of 用户交互提问 hints that answers are required only for user_input cases, which adds a small amount beyond the schema, but it says nothing about decision semantics (when to choose cancel vs decline) or the waitMs trade-off.

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 (回复/approve) against a specific resource (Codex 反向审批请求) and enumerates the request categories it covers: command execution, file changes, permission requests, and user-input questions. Siblings (codex_poll, codex_send, codex_cancel, codex_sessions) are not named, but their verbs are distinct enough that confusion is unlikely.

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

Usage Guidelines3/5

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

Implies usage — respond when Codex has a pending reverse-approval request — but never states when not to use it, nor that interactionId must first be obtained from a snapshot/pendinApproval (that hint lives only in the schema) or that codex_poll is the way to discover pending requests. No explicit alternative routing.

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