Skip to main content
Glama
borgels

mcp-server-telgea

by borgels

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HTTP_TOKENNoBearer token for the HTTP transport, shared with the gateway. Required when TELGEA_TRUST_FORWARDED_USER=true.
TELGEA_API_KEYYesTelgea API key sent as the x-api-key header. Keys are organisation-scoped and each endpoint requires its own permission.
TELGEA_AUDIT_LOGNoPath to the JSONL audit log, for example /data/audit.jsonl.
TELGEA_BUDGET_STATENoPath used to persist the daily request budget count across restarts, for example /data/budget.json.
TELGEA_CACHE_TTL_MSNoCache TTL in milliseconds for brief read caching.
TELGEA_ENABLE_WRITESNoSet to true to enable write tools. Write paths are disabled otherwise.false
TELGEA_OPERATION_SECRETNoSecret used to HMAC-sign prepared two-step operations, for example generated with openssl rand -hex 32.
TELGEA_ENABLE_SIM_SECRETSNoSet to true to enable telgea_get_sim_credentials, which can expose eSIM activation codes.false
TELGEA_DAILY_REQUEST_BUDGETNoMaximum number of requests the server will make in the rolling 24-hour window before refusing locally.
TELGEA_TRUST_FORWARDED_USERNoSet to true to trust the gateway-forwarded X-MCP-User identity. Requires MCP_HTTP_TOKEN and requires X-MCP-User on requests.false

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
telgea_search_capabilitiesB

Find the Telgea tool to use. Does not call Telgea. Discovery only.

telgea_server_statusA

Show which tiers are enabled on this instance and how much of the daily request budget is used. Does not call Telgea. Discovery only.

telgea_list_usersA

List the organisation’s users (employees): name, email, team, employee id, cost code. Filter by exact email or employeeId. Each call spends Telgea requests from the 1000/day budget shared by everyone using the key.

telgea_get_user_cost_thresholdB

A user’s effective cost threshold for DATA, VOICE (international calls), SMS or MMS, current spend this period, and whether usage is paused.

telgea_list_teamsB

List teams (billing/access groups) with member counts and cost codes.

telgea_create_userA

Create a user (employee) in the organisation. Does not order a plan — that is telgea_prepare_change kind=create_user_plan. Requires TELGEA_ENABLE_WRITES=true on the server.

telgea_update_userB

Change a user’s name, email, team, cost code or employee id. Requires TELGEA_ENABLE_WRITES=true on the server.

telgea_create_teamB

Create a team, optionally with members. Requires TELGEA_ENABLE_WRITES=true on the server.

telgea_update_teamA

Rename a team, change its cost code/emoji, or replace its member list. Requires TELGEA_ENABLE_WRITES=true on the server. userIds replaces the whole member list.

telgea_list_user_plansA

List subscriptions (user plans): user, status (ACTIVE, PROVISIONING, PORTING, TERMINATING…), local number and team. Sortable. Each call spends Telgea requests from the 1000/day budget shared by everyone using the key.

telgea_find_user_planA

Find one user’s plan by email, phone number (E.164) or ICCID. eSIM activation codes and PIN/PUK are redacted; use telgea_get_sim_credentials if you are allowed to see them.

telgea_get_user_planA

Full plan for a user: status, local and travel numbers with line state and SIM ICCID. eSIM activation codes and PIN/PUK are redacted; use telgea_get_sim_credentials if you are allowed to see them.

telgea_list_linesA

List lines (numbers) with type local/travel, state, ICCID and holder. Filter by msisdn, iccid, userId, type or state. eSIM activation codes and PIN/PUK are redacted; use telgea_get_sim_credentials if you are allowed to see them. Filtering by state costs Telgea more than other filters.

telgea_get_lineA

One line: state, timestamps (activated, termination scheduled), current and previous SIMs. eSIM activation codes and PIN/PUK are redacted; use telgea_get_sim_credentials if you are allowed to see them.

telgea_get_line_connectionA

Live network status of a line: attached or not, last seen, serving network, 2G–5G, APN, IMEI. For “my phone has no signal” support. IMEI and IP address are device data; share only with the line’s holder or IT.

telgea_get_sim_credentialsA

eSIM activation code (LPA string / QR content) and PIN/PUK codes for one line. Requires TELGEA_ENABLE_SIM_SECRETS=true on the server. Anyone with the activation code can install the line on their own phone. Give it only to the line’s holder.

telgea_set_line_suspensionA

Suspend a line (no calls, SMS or data — e.g. a lost phone) or restore a suspended line. Requires TELGEA_ENABLE_WRITES=true on the server. Suspending cuts the holder off completely until restored. Confirm with the user first.

telgea_set_data_restrictionA

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.

telgea_get_port_in_requirementsA

The fields a number port-in needs for a country, as a field list or a JSON Schema.

telgea_validate_port_inA

Check port-in data against Telgea’s rules without submitting anything. Does not submit. Submitting goes through telgea_prepare_change kind=submit_port_in.

telgea_get_port_inA

Status of one port-in (CREATED → SUBMITTED → ACCEPTED → SUCCEEDED, or REJECTED/FAILED with reason).

telgea_list_port_ins_for_lineA

All port-in attempts for one line.

telgea_list_usageA

Raw call, SMS, MMS and data records with price: timestamps, amount, roaming/international class, counterparty. Window up to 31 days; cursor paging. Each call spends Telgea requests from the 1000/day budget shared by everyone using the key. Records include who called whom. Use telgea_get_usage_analytics for totals; reach for raw records only when the detail is needed.

telgea_get_usage_analyticsA

Aggregated data, voice and SMS consumption per day or month, with highest/lowest/average. Filter by user, number or serving country. Cheapest way to answer “how much did we use”.

telgea_list_data_poolsB

Shared data pools: region, total/consumed/remaining GB, expiry, whether restrictions are active.

telgea_list_data_pool_membersC

Members of a data pool with each one’s data use.

telgea_list_ratesB

Pay-as-you-go retail rates for a home market: international voice/SMS/MMS or roaming data, per destination country.

telgea_list_cost_thresholdsB

Cost thresholds (monthly spend caps) for the organisation, a team or a user.

telgea_set_cost_thresholdA

Set a monthly spend cap on DATA, VOICE (international), SMS or MMS for the organisation, a team or a user. Reaching it pauses that usage. Requires TELGEA_ENABLE_WRITES=true on the server. May apply from next month; the result says so (appliesFromNextMonth).

telgea_remove_cost_thresholdA

Remove a spend cap, releasing paused usage. Requires TELGEA_ENABLE_WRITES=true on the server.

telgea_prepare_changeA

Step 1 of 2 for what costs money or cannot be undone: create_user_plan, add_line, replace_sim, terminate_line, terminate_plan, delete_user, submit_port_in, discard_port_in. Returns a signed preview; nothing is sent. Requires TELGEA_ENABLE_WRITES=true on the server. Show the preview and warnings to the user and get an explicit yes before committing.

telgea_commit_prepared_operationA

Step 2 of 2: send a prepared operation, unchanged, with its operationHash. Valid for 15 minutes, only for the user who prepared it. Requires TELGEA_ENABLE_WRITES=true on the server. Committing the same operation twice replays the first result (idempotency key from the hash).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 32 tools

Disambiguation4/5

Most tools target a distinct resource+action, and descriptions explicitly route between near-neighbours (e.g. list_usage vs get_usage_analytics, list_lines vs get_line). The main soft spots are find_user_plan vs get_user_plan vs list_user_plans, and get_user_cost_threshold vs list_cost_thresholds, where boundaries require reading the descriptions to resolve.

Naming Consistency5/5

Every tool uses a uniform telgea_ verb_noun snake_case pattern (get_, list_, create_, update_, set_, remove_, find_, validate_, prepare_, commit_). Verb choices are semantically consistent across resources, so an agent can predict names.

Tool Count3/5

32 tools is heavy and sits above the comfortable range, though the domain genuinely spans users, teams, lines, plans, SIMs, usage, port-ins, thresholds, pools and meta-discovery. Some consolidation is possible (e.g. find/get user plan, the several threshold readers), but each tool maps to a real operation rather than filler.

Completeness4/5

Coverage is broad and lifecycle-aware: writes are funnelled through the prepare/commit two-step, and reads cover users, teams, lines, plans, SIM credentials, usage, port-ins, thresholds, pools and rates. Minor gaps remain — no team deletion, no data-pool creation/update, no direct user deletion outside prepare_change — but these are workable.

Maintenance

ActivityMaintained
ResponsivenessNo issues