Skip to main content
Glama
zenskar

Zenskar MCP Server

Official
by zenskar

expireContract

expireContract

Expire an active or paused contract by setting its end date. Once expired, the contract cannot be reactivated.

Instructions

Expire an ACTIVE or PAUSED contract by adjusting its end_date. Allowed status transitions: ACTIVE→EXPIRED, PAUSED→EXPIRED. EXPIRED is terminal — calling on an already-expired contract returns 400; do NOT retry, do NOT escalate to deleteContract or any other destructive tool as a fallback. Verify contract.status via getContractById before calling. Idempotency: NO. The contract expires at end of day 23:59:59.999999. Host enforces user confirmation via the approval gate; do NOT ask the user to re-confirm before calling.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contractIdYesThe unique identifier (UUID) of the contract to expire.
expiry_dateNoDate to expire the contract (e.g. 2026-12-31). Defaults to today if not provided. Must not be earlier than contract.start_date.
__userContextNoInternal user context for multi-tenant authentication and approval workflow
Behavior5/5

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

Discloses idempotency is NO, timing (end of day 23:59:59.999999), and host-enforced user confirmation via approval gate. Specifies error behavior for already-expired contracts. No annotations provided, so description fully covers behavioral traits.

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?

Description is efficiently structured with front-loaded purpose and clear rules. Slightly verbose with 'Idempotency: NO' phrasing, but overall no wasted sentences.

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?

No output schema, but description adequately covers all critical context: allowed states, error handling, timing, confirmation flow. Lacks response format, but mutation tools often omit this. Sufficient for agent to use correctly.

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 coverage is 100%, so baseline is 3. Description adds context: expiry_date defaults to today and must not be earlier than start_date, and contractId is a UUID. Adds value beyond schema.

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?

Clearly states the tool expires an ACTIVE or PAUSED contract by adjusting its end_date, specifying allowed status transitions (ACTIVE→EXPIRED, PAUSED→EXPIRED). Unambiguously distinguishes from destructive tools like deleteContract.

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

Usage Guidelines5/5

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

Explicitly states when to use (contracts with status ACTIVE or PAUSED), when not to use (already-expired returns 400), and provides alternatives (verify via getContractById, do not escalate to deleteContract). Also instructs not to ask user for confirmation due to approval gate.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zenskar/mcp-zenskar'

If you have feedback or need assistance with the MCP directory API, please join our Discord server