GJQ Runtime MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GJQ_API_KEY | Yes | Your API key for the 国基 / CETC-ICQ 量子云平台 (get from https://www.tiangongqs.com/cloud) |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| setup_gjq_account_toolA | Configure and cache the GuoJi Quantum cloud account credentials. The api_key is persisted to ~/.gjq_client/gjq_client_account.json for reuse. SECURITY: the api_key is passed as a tool argument, so it can end up in the LLM context and in client/transport logs. Prefer setting the GJQ_API_KEY environment variable; use this tool only in a trusted local setup. |
| active_account_info_toolA | Get the currently configured account info (api_key masked). |
| list_backends_toolA | List all available quantum backends (devices/simulators). |
| get_backend_configuration_toolC | Get the static configuration of a backend (basis gates, n_qubits, etc.). |
| get_backend_properties_toolC | Get calibration properties of a backend (T1/T2, gate errors). May be null. |
| least_busy_toolA | Return the name of the least busy available backend. |
| sample_toolA | Submit a sampling task. Provide the circuit as an OpenQASM 2.0 string
(OpenQASM 3 also works if the optional Returns a task_id; poll get_task_status_tool then get_task_result_tool. SAS-CPU simulator requires amplitude_index. |
| estimate_toolB | Submit an expectation-estimation task. observable is a list like [["ZZ", 1.0], ["XX", 0.5]] (Pauli string + coeff). Returns a task_id; fetch results with get_task_result_tool(task_id, observable). |
| get_task_status_toolB | Get task status: INITIALIZING / QUEUED / RUNNING / DONE / ERROR / CANCELLED. |
| get_task_result_toolA | Get the result of a task. While the task is still running the result is empty and |
| get_task_log_toolC | Get the execution log of a task. |
| get_task_detail_toolC | Get task details (backend, shots, submit time). |
| list_my_tasks_toolA | List the current user's tasks. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| service_status | Service status and active anti-abuse limits. |
TDQS
Scored across 13 tools
All 13 tools have clearly distinct purposes. Account management, backend exploration, task submission, and task monitoring tools are well-separated with no overlapping functionality.
Most tools follow a consistent verb_noun_tool pattern (e.g., get_backend_configuration_tool, list_backends_tool). However, 'estimate_tool', 'sample_tool', and 'least_busy_tool' deviate from the verb_noun structure, causing minor inconsistency.
13 tools is appropriate for a quantum cloud runtime MCP server. It covers account setup, backend queries, task submission (estimate/sample), and full task lifecycle monitoring without being overwhelming or insufficient.
The tool set covers most of the expected workflow: account config, backend info, task submission, and result retrieval. A notable gap is the absence of a cancel task tool, which could be needed for long-running quantum tasks.