techzone-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@techzone-mcp list my current reservations"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
techzone-mcp
MCP server for IBM Technology Zone: manage your reservations end-to-end and search the TechZone catalog from Claude. Every state-changing tool describes itself as such so Claude confirms with you before calling; cancellation additionally requires echoing the reservation's exact name.
Tools
Tool | What it does |
| Validates your token, returns your TechZone profile |
| All reservations: status, environment, dates (no credentials) |
| Full detail for one reservation, incl. access info |
| Active reservations ending within N days (default 3) |
| Search environments/collections in the catalog |
| Detail for one catalog entry |
| Search reservable TechZone collections by name |
| Deployment options (platforms/regions) for a collection |
| Write: extend a reservation's end date by N days |
| Write: reserve an environment from a collection |
| Destructive: delete a reservation (name must match) |
Plus two resources: techzone://reservations (live reservation summary) and
techzone://reservation/{id} (full detail for one reservation).
Related MCP server: IBM Cloud MCP Server
Setup
Get your API token: techzone.ibm.com → My Profile → API token.
Install and register with Claude Code:
uv sync
claude mcp add techzone --env TECHZONE_API_TOKEN=<your-token> -- uv --directory /path/to/techzone-mcp run techzone-mcp(Or put TECHZONE_API_TOKEN=<your-token> in a .env file in this directory —
it is gitignored.)
TechZone tokens expire periodically; when the server reports a 401, grab a fresh token from My Profile.
Development
uv sync
uv run pytest # unit tests (mocked, no live API)
uv run python walkthrough.py # interactive live walkthrough of every toolThe walkthrough steps through all 11 tools against the real API: read-only
steps run on Enter, write steps are skipped unless you type yes, and
sensitive service-link values are redacted from output.
API endpoints are undocumented publicly; they were derived from the
open-source itzcli and
verified live. See PLAN.md for design notes.
Available Tools
11 toolscancel_reservationA
Cancel (delete) a TechZone reservation and its environment. THIS IS DESTRUCTIVE AND IRREVERSIBLE - always confirm with the user first. confirm_name must be the reservation's exact name (from list_reservations); the call is refused if it does not match.
Inputs: confirm_name (required), reservation_id (required). Returns: object
check_expiringA
Flag active reservations ending within the next N days (default 3), soonest first, each with an hoursRemaining countdown. Use this to answer 'is anything about to expire?' - already-deleted/expired reservations are excluded.
Inputs: days. Returns: object
create_reservationA
Create a TechZone reservation from a collection. THIS CHANGES STATE and consumes real environment capacity - always confirm the collection, name, region, and duration with the user before calling. The collection must be a reservable environment (its get_collection output has platforms), not an umbrella collection. template picks the deployment variant and region_name the region, both from get_collection (each defaults to the first available); start is an ISO timestamp (defaults to now); days is the duration (default 2, may be capped by policy). On success returns the new reservation id - poll get_reservation until status is Ready.
Inputs: name (required), collection_id (required), days, start, +4 more. Returns: object
extend_reservationA
Extend a TechZone reservation's end date by N days (default 1) past its current provisionUntil. THIS CHANGES STATE on TechZone - always confirm with the user (reservation name + how many days) before calling. Returns outcome 'extended' (with the new end date), 'not_extendable' (extension limit reached or not allowed for this environment), 'rejected' (request refused, e.g. expired/deleted reservation - nothing applied), or 'ambiguous' (verify with get_reservation).
Inputs: reservation_id (required), days. Returns: object
get_catalog_entryA
Get one TechZone catalog entry by kind and name (e.g. kind='system', name='redhat-openshift'). Kind and name come from a search_catalog result's location path: /catalog/{namespace}/{kind}/{name}.
Inputs: kind (required), name (required), namespace. Returns: object
get_collectionA
Get a TechZone collection's deployment options (platforms, regions, datacenters, templates) by collection id - from a catalog entry or a reservation's collectionId. Consult this before create_reservation to pick a region.
Inputs: collection_id (required). Returns: object
get_reservationA
Get full details for one reservation by its id (from list_reservations), including service links, access details, lifecycle dates, and extension count. Output may contain environment credentials - only call this when the user asks about a specific reservation.
Inputs: reservation_id (required). Returns: object
list_reservationsA
List all of my TechZone reservations with name, status (e.g. Ready, Provisioning, Scheduled, Deleted), environment, region, and start/end dates. Credentials are never included here - use get_reservation for full details on one reservation.
Inputs: no named parameters. Returns: result
search_catalogB
Search the TechZone catalog (catalog.techzone.ibm.com) for environments, collections, and products. Returns matching entries with title, kind, owner, and catalog location path.
Inputs: term (required), limit. Returns: object
search_collectionsA
Search reservable TechZone collections by name. THIS is how to find something to reserve: pick a result id, inspect it with get_collection (a result with no platforms is an umbrella collection - not reservable), then create_reservation. Distinct from search_catalog, which searches the separate Backstage deployer catalog.
Inputs: term (required), limit, include_retired. Returns: result
whoamiA
Validate the TechZone API token and return the current user's profile (name, email, roles, persona, and API entitlement).
Inputs: no named parameters. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Most tools target a clearly distinct resource+action: whoami (auth), list/get/create/cancel/extend_reservation (reservation lifecycle), search/get_collection (find reservable things), search/get_catalog_entry (separate Backstage catalog), check_expiring (proactive monitoring). The only mild overlap is search_collections vs search_catalog, but the descriptions explicitly differentiate them. create vs cancel vs extend are all distinct lifecycle operations with clear confirmations.
The naming follows a consistent verb_noun pattern: list_reservations, get_reservation, create_reservation, cancel_reservation, extend_reservation, search_collections, search_catalog, get_collection, get_catalog_entry. 'whoami' and 'check_expiring' are minor deviations but both are still readable single-action verbs. The pattern is highly predictable across the reservation lifecycle.
11 tools is well within the ideal range (3-15). Each tool earns its place: the reservation lifecycle needs at least 5 (list/get/create/cancel/extend), discovery needs 4 (search/get for both collections and catalog), plus whoami and check_expiring for auth and proactive monitoring. No fat to trim, no obvious missing pieces that would inflate the count.
The reservation lifecycle is complete: create, list, get, cancel, extend, plus check_expiring for monitoring. Discovery is covered for both the reservable collections and the separate Backstage catalog. The only minor gap is that once you get a reservation or collection, you can't modify things like name/region without cancel+recreate, but that matches typical reservation semantics. Overall the domain is well covered with no dead ends.
Related MCP Connectors
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP gateway and cloud hosting for MCP servers, agents and apps like RAG, managed from your agent.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server for managing Claude Code conversation sessions1237 npmMIT
- FlicenseCqualityDmaintenanceComprehensive MCP server for managing all IBM Cloud services, offering 180+ tools across 16 domains to enable AI assistants to fully manage IBM Cloud infrastructure.1002-
- AlicenseNot gradedqualityDmaintenanceMCP server for interacting with QUADS infrastructure systems via API, enabling resource management and automation through LLM applications.MIT
- FlicenseNot gradedqualityCmaintenanceMCP server for authoring Quantum customer demos from Claude Code; enables listing, viewing, and updating demos with a guide and prompts.-