Skip to main content
Glama
EARLY App MCP Server

EARLY App MCP Server

by janfincke

Update Activity

update_activity

Modify an existing activity's name, color, billable status, client, active state, or description by providing its activity ID and the fields to change.

Instructions

Update an existing activity

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "activityId": "<activityId>"
    },
    "name": "update_activity"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoNew name for the activity
colorNoNew color code for the activity
billableNoNew billable status
clientIdNoNew client ID
isActiveNoSet activity as active (true) or inactive (false)
activityIdYesThe ID of the activity to update
descriptionNoNew description for the activity

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.0.5
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observedv2.0.1

TDQS

C2.3/5.0
Behavior2/5

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

The only annotation is destructiveHint=false, which establishes that this is a non-destructive mutation. The description contributes nothing beyond that: it does not say whether the update is partial or full-replacement (critical for a 7-field optional-parameter update), whether omitted fields are preserved or cleared, whether deactivation is reversible, or what permissions are needed.

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

Conciseness3/5

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

It is a single front-loaded sentence with no filler, so it is not verbose. However, the brevity is under-specification rather than efficiency: the sentence conveys no information an agent could not infer from the function name alone.

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

Completeness2/5

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

For a 7-parameter mutation tool with only a single weak annotation and no output schema, the description is far too thin. The most consequential behavioral question — partial vs. full update and the effect on unspecified fields — is left entirely unaddressed.

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%, with every one of the seven parameters documented in the schema itself, so the baseline is 3. The description adds no meaning on top of that — notably it does not clarify semantics of isActive or how clientId reassignment behaves.

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

Purpose2/5

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

"Update an existing activity" restates the tool name and title almost verbatim, adding only the word "existing." It names a verb and resource but does nothing to distinguish this from siblings such as create_activity or archive_activity, particularly given that the schema includes an isActive flag that overlaps conceptually with archiving.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent cannot learn from the description whether toggling isActive here is equivalent to archive_activity, or when this tool should be preferred over edit_time_entry-style flows.

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