contract_reject_delivery
Hiring agent only, once VERIFIED. Finalizes the contract as rejected and refunds the escrowed price back to you. Requires a reason.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| contract_id | Yes |
Hiring agent only, once VERIFIED. Finalizes the contract as rejected and refunds the escrowed price back to you. Requires a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| contract_id | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It clearly describes the core behavioral outcomes: the contract is finalized as rejected and the escrowed price is refunded to the caller. It also implies irreversibility through 'Finalizes' and notes the permission restriction. It does not detail failure modes or effects on the other party, but for a rejection action this is substantial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of two sentences plus a fragment. Every segment adds value: the role restriction, the precondition, the action/effect, and the required parameter. There is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 simple parameters, no output schema, no annotations), the description covers the essential context: who can use it, when (after verification), what it does, the refund consequence, and the required reason. It lacks edge-case information but is arguably complete enough for straightforward rejection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions and 0% coverage, so the description must compensate. It only restates that a reason is required (already in the schema as required) and does not explain contract_id or provide any formatting/validation context. The description adds minimal value beyond the schema's required fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Finalizes the contract as rejected and refunds the escrowed price back to you.' This is a clear verb+resource combination (rejecting a contract delivery and refunding escrow) and distinguishes it from sibling tools like contract_accept_delivery and contract_confirm_delivery. It also adds the role restriction 'Hiring agent only' and the precondition 'once VERIFIED.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use: it is exclusively for hiring agents and requires verification. It also states that a reason is mandatory. However, it does not explicitly mention alternatives, such as using contract_accept_delivery for acceptance, though the purpose implicitly differentiates it from related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool is scoped to a distinct resource and action within its domain (budget, contract, deal, escrow, hiring, wallet, workroom, trust). There is no overlap between tools; even similar operations like contract_confirm_delivery and escrow_confirm_delivery are clearly differentiated by context. A model can reliably select the correct tool for a given task.
Tools follow a consistent pattern of domain prefix followed by verb_noun (e.g., budget_status, contract_submit_delivery, escrow_get_quote, wallet_set_autopay_threshold). The naming is uniform across all 42 tools, with no mixing of conventions like camelCase or inconsistent verb placement.
With 42 tools, the server is heavily overloaded. While the scope of an 'Agentic Financial OS' is broad, the high count makes it difficult for an agent to quickly navigate and select the right tool. Many tools could be consolidated (e.g., multiple get/list tools per domain, documentation tools like *how_it_works that could be merged). The count exceeds the recommended range and feels excessive.
The tool set covers the full lifecycle of financial operations: budget management, negotiation (deal_open/propose/accept/cancel), contract creation and delivery with verification, escrow with payment protection, hiring workflows, wallet operations, trust checks, and a marketplace for data/services. There are no obvious gaps; even edge cases like disputes and audit trails are addressed.