Skip to main content
Glama
sklivvz

TinyURL MCP

by sklivvz

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TINYURL_CONFIG_FILEYesAbsolute path to the private TinyURL configuration file (mode 0600). The config file must specify tokenFile and stateDir, with optional timeoutMs.

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
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
tinyurl_createA

Create one exact TinyURL short link through POST /create. Requires url; domain is fixed to tinyurl.com; alias and expires_at are optional. Reuses durable operation results and never retries an ambiguous write blindly. Token permission: Create TinyURL.

tinyurl_readB

Read one exact TinyURL alias through GET /alias/{domain}/{alias}. Requires alias; domain is fixed to tinyurl.com. Token permission: Read TinyURL.

tinyurl_updateA

Update metadata or rename one exact TinyURL alias through PATCH /update. Requires alias and at least one new_* field. Never changes the destination; use tinyurl_change_destination. Token permission: Update TinyURL.

tinyurl_change_destinationA

Change the destination of one exact TinyURL alias through PATCH /change. Requires alias and the exact new absolute http(s) url. Token permission: Update TinyURL.

tinyurl_deleteB

Delete one exact TinyURL alias through DELETE /alias/{domain}/{alias}. Requires alias; domain is fixed to tinyurl.com. Token permission: Delete TinyURL.

tinyurl_archiveA

Toggle, archive or unarchive one exact TinyURL through PATCH /archive. The vendor body is only domain+alias, so the endpoint toggles; this tool reads the current state first and toggles only when archive/unarchive requires a change. action=toggle always sends one toggle. Verifies the resulting archived boolean. Token permission: Archive TinyURL.

tinyurl_set_expirationB

Set or clear one exact TinyURL expiration through PATCH /update using new_expires_at, then verify the returned or re-read expiry. Requires alias and new_expires_at (string or null). Token permission: Update TinyURL.

tinyurl_analytics_reportB

Read one fixed TinyURL analytics report over GET /analytics/*. report selects timeline, general, weekday, hour, top_sources, top_languages or location. from is required; to, interval, alias, domain, tag and location region are validated and bounded. Token permission: Analytics.

tinyurl_analytics_raw_logsA

Read bounded raw analytics JSON over GET /analytics/raw/json. from is required; to, alias, domain and tag are passed to the vendor. offset and limit bound the returned page and the report discloses total, returned, hasMore and nextOffset. Token permission: Analytics.

tinyurl_analytics_statusA

Enable or disable analytics collection for one exact TinyURL through PATCH /analytics/status. Requires alias and enabled. Uses the durable alias mutation barrier and invalidates create receipts. Token permission: Update TinyURL or Analytics settings.

tinyurl_analytics_sharingA

Enable or disable public analytics sharing for one exact TinyURL through PATCH /analytics/sharing. Requires alias and public. Uses the durable alias mutation barrier and invalidates create receipts. Token permission: Update TinyURL or Analytics settings.

tinyurl_bulk_createA

Submit one bounded batch through POST /bulk (1-100 typed create/update/change/delete/archive/unarchive items). The request is serialized, checkpointed to a durable barrier before sending, and keyed by the canonical payload. A crash or unknown outcome blocks all further bulk submissions until an operator reconciles the batch; an exact repeat of a verified submission returns the stored bulkRequestId. Token permission: Bulk Requests.

tinyurl_bulk_statusA

Read one bulk request status through GET /bulk/{bulkRequestId}/status. Requires a positive integer bulkRequestId. Token permission: Bulk Requests.

tinyurl_bulk_reportA

Read a bounded page of one bulk request report through GET /bulk/{bulkRequestId}/report. Requires a positive integer bulkRequestId; offset and limit bound the returned items and the response discloses total, returned, hasMore and nextOffset. Token permission: Bulk Requests.

tinyurl_statusA

Read-only check for TinyURL connector configuration, token and private state directory. Does not create a link or write state.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 15 tools

Disambiguation5/5

Each tool has a clearly distinct target action: create/read/update/delete alias operations are separated, and update explicitly excludes destination and expiration changes. Analytics report vs raw logs vs status/sharing are distinct, and bulk create/status/report are cleanly scoped. No pair appears interchangeable.

Naming Consistency5/5

All tools use a consistent tinyurl_ prefix followed by snake_case action/resource names. The naming pattern is predictable throughout, including analytics and bulk subdomains.

Tool Count5/5

Fifteen tools fit the server's scope well: core alias lifecycle, analytics administration, bulk operations, and connector status. Each tool maps to a meaningful operation rather than redundant surface.

Completeness5/5

The tool surface covers TinyURL alias creation, reading, metadata updates, destination changes, deletion, archiving, expiration, analytics collection/sharing/reporting, and bulk operations with status/report retrieval. No obvious lifecycle or administrative gap is apparent for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues