Skip to main content
Glama
borgels

mcp-server-telgea

by borgels

Stop / Restore Mobile Data

telgea_set_data_restriction
Destructive

Stop or restore mobile data for a single line or every line of a user while keeping calls and SMS active; confirm the action first and provide a reason.

Instructions

Stop or restore mobile data on one line (numberId) or on every line of a user (userId). Calls and SMS keep working. Requires TELGEA_ENABLE_WRITES=true on the server. Confirm with the user first.

Input Schema

NameRequiredDescriptionDefault
actionYes
reasonYesWhy — kept in the audit log (and with Telgea where the endpoint takes a reason).
userIdNoEvery line of this user.
numberIdNoOne line.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Adds real context beyond the annotations: the blast radius is limited to data because calls and SMS keep working, there is a server-side write gate (TELGEA_ENABLE_WRITES=true), and the reason string lands in an audit log. The annotations already declare destructiveHint/openWorldHint, so what remains unexplained is whether restore fully reverses a restrict and what a partial failure looks like.

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

Conciseness5/5

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

Four short sentences, front-loaded with the action and scope, then side effects, then the prerequisite gate, then the safety instruction. Nothing is repeated and nothing is padding.

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?

For a destructive, non-idempotent mutation with no output schema, it covers scope, side effects, prerequisites, and the confirmation requirement. It leaves gaps on mutual exclusivity of the two identifiers and on what a successful response confirms, which matters for a write the agent must report back to the user.

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 coverage is 75%, so the baseline applies. The description restates the userId/numberId scoping that the schema descriptions already carry ("Every line of this user." / "One line.") and never says whether the two are mutually exclusive or what happens if both are sent.

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 pair (stop/restore) and resource (mobile data), and pins the two scoping targets to their parameter names (numberId = one line, userId = every line). It does not distinguish itself from the sibling telgea_set_line_suspension, which an agent could easily confuse with a data restriction, so it falls short of full sibling differentiation.

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

Usage Guidelines4/5

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

Gives clear operating context: writes must be enabled server-side and the agent should confirm with the user before acting. It never says when to choose this over telgea_set_line_suspension or how to pick numberId vs userId when both are available, so exclusions and alternatives are missing.

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