GJQ Runtime MCP Server
OfficialGJQ-Runtime-MCP-Server
Сервер Model Context Protocol (MCP), который позволяет AI-ассистентам взаимодействовать с Национальной квантовой облачной платформой через Python SDK gjq-client.
Возможности
Управление аккаунтом: настройка и просмотр учётных данных облачной платформы
Управление устройствами: список бэкендов, запрос конфигурации/калибровочной информации, получение наименее загруженного бэкенда
Вычислительные задачи: отправка задач сэмплирования (sampling) и оценки ожиданий (estimation) из OpenQASM
Управление задачами: опрос статуса, получение результатов/логов/деталей, список задач
Примеры схем: Bell/GHZ/суперпозиция/случайная, предоставляемые как ресурсы MCP
Демонстрация возможностей
Related MCP server: mcp-qiskit
Установка и запуск (на примере Cursor)
Клонируйте репозиторий и создайте виртуальное окружение
git clone <this-repo>
cd gjq-runtime-mcp-server
python -m venv .venv
# Windows
.\.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate
pip install -e .Переименуйте
.env.exampleв.env, укажитеGJQ_API_KEY=ваш_api_ключ. (API-ключ можно получить на https://www.tiangongqs.com/cloud)Запустите MCP-сервер локально (сначала проверьте, что он работает)
python -m gjq_runtime_mcp_serverСоздайте
.cursor/mcp.jsonв корне проекта
# Windows(该行去除)
{
"mcpServers": {
"gjq-runtime": {
"command": ".venv\\Scripts\\python.exe",
"args": ["-m", "gjq_runtime_mcp_server"],
"cwd": "/path/to/gjq-runtime-mcp-server",
"env": { "GJQ_API_KEY": "你的_api_key" }
}
}
}
# Linux/macOS(该行去除)
{
"mcpServers": {
"gjq-runtime": {
"command": ".venv/bin/python",
"args": ["-m", "gjq_runtime_mcp_server"],
"cwd": "/path/to/gjq-runtime-mcp-server",
"env": { "GJQ_API_KEY": "你的_api_key" }
}
}
}Проверьте в Cursor
Полностью закройте и снова откройте Cursor.
Используйте
Ctrl + Shift + P, откройтеOpen Customize, выберите вкладкуMCPs.Убедитесь, что присутствует
gjq-runtime, включите его и проверьте, что отображается зелёная точка.
Инструменты MCP
Аккаунт:
setup_gjq_account_tool,active_account_info_toolУстройства:
list_backends_tool,get_backend_configuration_tool,get_backend_properties_tool,least_busy_toolВычисления:
sample_tool,estimate_toolЗадачи:
get_task_status_tool,get_task_result_tool,get_task_log_tool,get_task_detail_tool,list_my_tasks_tool
Все инструменты возвращают {"status": "success" | "error", ...}.
OpenQASM 2.0 работает из коробки при отправке схем; для отправки схем OpenQASM 3 дополнительно установите библиотеку парсинга:
pip install qiskit_qasm3_import.
Ресурсы MCP
gjq://status, circuits://bell-state, circuits://ghz-state, circuits://superposition, circuits://random
Конфигурация других MCP-клиентов
Приведённый выше JSON подходит для клиентов на основе JSON, таких как Cursor, Claude Desktop и других.
Клиент | Файл конфигурации |
Cursor |
|
Claude Desktop | macOS: |
Codex |
|
Codex использует TOML вместо JSON. Добавьте следующее в ~/.codex/config.toml
(имя верхней таблицы должно быть mcp_servers):
[mcp_servers.gjq-runtime]
command = "/path/to/gjq-runtime-mcp-server/.venv/bin/python"
args = ["-m", "gjq_runtime_mcp_server"]
cwd = "/path/to/gjq-runtime-mcp-server"
[mcp_servers.gjq-runtime.env]
GJQ_API_KEY = "你的_api_key"Навыки агента
Соответствующие навыки находятся в skills/gjq-quantum-runtime/.
При использовании в Cursor скопируйте этот каталог в .cursor/skills/ (на уровне проекта) или
~/.cursor/skills/ (на уровне пользователя).
Замечания по безопасности
API-ключ хранится в открытом виде в
~/.gjq_client/gjq_client_account.json, а также вenvконфигурации MCP-клиента. Храните его как конфиденциальную информацию, ни в коем случае не коммитьте.env.
Разработка
pip install -e ".[test]"
pytestЛицензия
Apache License 2.0
Available Tools
13 toolsactive_account_info_toolA
Get the currently configured account info (api_key masked).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the API key is masked in the output, which is a useful behavioral detail. However, with no annotations provided, it does not cover other traits like authentication requirements or error conditions. The description carries the full burden but is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, highly concise, and front-loads the core purpose. Every word is informative with no wasted space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and the existence of an output schema, the description is complete. It tells the agent what the tool does ('get account info') and a key output detail ('api_key masked'). No additional context is needed for such a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the baseline score is 4. The description adds no parameter information beyond the schema, but that is acceptable since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and resource 'currently configured account info', clearly distinguishing it from sibling tools like setup_gjq_account_tool which sets up an account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. While the tool is simple and its purpose is clear, it could benefit from mentioning that it is for retrieving account info rather than modifying it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| qasm | Yes | ||
| shots | No | ||
| transpile | No | ||
| observable | Yes | ||
| backend_name | Yes | ||
| amplitude_index | No | ||
| optimization_level | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral traits. It discloses async nature (returns task_id), but lacks details on error handling, permissions, rate limits, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences that directly state the tool's purpose and a key parameter format, no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters and async behavior, the description lacks explanation of essential parameters (qasm, backend_name) and does not specify output schema details, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only the 'observable' parameter's format is described; the remaining 6 parameters (qasm, backend_name, shots, etc.) have no explanation despite 0% schema description coverage, leaving significant gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool submits an expectation-estimation task, specifies the observable format, and tells the agent to fetch results with get_task_result_tool, distinguishing it from sibling tools like sample_tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions using get_task_result_tool for results, implying the submission-only role, but does not provide explicit when-to-use or when-not-to-use guidance compared to other sibling tools like sample_tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_backend_configuration_toolC
Get the static configuration of a backend (basis gates, n_qubits, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| backend_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the sole source of behavioral info. It implies a read-only operation but offers no details on authentication requirements, idempotency, error cases, or latency. A simple read tool may not need extensive disclosure, but given the absence of annotations, more context would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence immediately conveys the tool's purpose. No wasted words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and an output schema, the description is minimally adequate. However, it does not clarify the distinction from 'get_backend_properties_tool' or address potential missing details about the return format, leaving room for ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the top-level description does not elaborate on the 'backend_name' parameter beyond its role in the tool name. The parameter's format, valid values, or example are missing, leaving the agent without necessary context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves static backend configuration (basis gates, n_qubits). The parenthetical examples add specificity. However, it does not explicitly differentiate from the sibling 'get_backend_properties_tool', which may cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_backend_properties_tool'. There are no contextual cues for appropriate usage or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_backend_properties_toolC
Get calibration properties of a backend (T1/T2, gate errors). May be null.
| Name | Required | Description | Default |
|---|---|---|---|
| backend_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only discloses that the result may be null. No mention of authentication, rate limits, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that includes the key purpose and the notable 'may be null' behavior, though it could add more structure without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and an output schema, the description lacks details about the parameter format or the output structure, leaving the agent potentially underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% parameter description coverage, and the description does not add any meaning for the single parameter 'backend_name' beyond its name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves calibration properties (T1/T2, gate errors) of a specific backend, distinguishing it from sibling tools like get_backend_configuration_tool and list_backends_tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as get_backend_configuration_tool, or any prerequisites or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_detail_toolC
Get task details (backend, shots, submit time).
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only lists returned fields without disclosing idempotency, permissions, side effects, or response structure. Minimal insight beyond the tool's name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is very short (6 words) and front-loaded, but it sacrifices completeness for brevity. Could be expanded slightly without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description fails to provide usage context, explanation of listed fields, or hints about error conditions. It is incomplete for a tool with one parameter and no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the tool description does not explain the 'task_id' parameter (e.g., expected format, source). The agent has no context to correctly populate this required field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Get task details' and lists specific fields (backend, shots, submit time), making the purpose clear and distinguishable from sibling tools that focus on single aspects like status or logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_task_status_tool or get_task_log_tool. The agent is left to infer usage from the generic description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_log_toolC
Get the execution log of a task.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states a read operation but fails to disclose any behavioral traits such as log truncation, size limits, timestamps, or permissions required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is appropriate for a simple tool but lacks structure such as examples or expanded context that could improve usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, the description does not need to explain return values, but it omits any context about what an execution log contains or how it relates to sibling tools, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage and the tool description adds no meaning beyond the parameter name task_id. It does not specify format, source, or any constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'execution log of a task', distinguishing it from sibling tools like get_task_result_tool and get_task_detail_tool by specifically referring to the 'execution log'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidelines are provided on when to use this tool versus alternatives such as get_task_result_tool or get_task_detail_tool. There is no mention of context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_result_toolA
Get the result of a task.
While the task is still running the result is empty and pending is true;
check task_status to see the current state. Pass observable (same format
as estimate_tool) to compute expectation values.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ||
| observable | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the result is empty and pending while the task is running, and to check task_status. However, it does not cover error handling, failure cases, or return format details, placing a moderate transparency burden given no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the primary purpose and adding essential nuance about pending state and observable. Every sentence contributes meaning without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple tool with an output schema, the description adequately covers result retrieval, pending status, and optional observable. It could mention error handling or alternative status checks, but is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates partially by explaining the observable parameter (referencing estimate_tool format) but does not explain task_id beyond implication. This adds some value but leaves room for improvement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the result of a task, differentiating it from siblings like get_task_status_tool or get_task_log_tool. The verb 'Get' and resource 'result of a task' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises checking task_status for the current state and mentions passing an observable for expectation values, referencing a sibling format. It provides clear usage context but lacks explicit exclusions or when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_status_toolB
Get task status: INITIALIZING / QUEUED / RUNNING / DONE / ERROR / CANCELLED.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description is minimal and only lists statuses, without disclosing any behavioral traits like idempotency or side effects. Adequate for a simple read-only status check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and to the point, with no wasted words. Could benefit from slight restructuring to highlight key points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema and only one parameter, the description is minimally adequate. It does not mention that the tool is read-only or safe, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the task_id parameter beyond its name. No format or source guidance is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns task status and lists possible statuses. However, it does not differentiate from sibling tools like get_task_detail_tool or get_task_log_tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not specify context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
least_busy_toolA
Return the name of the least busy available backend.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description implies a read operation with no side effects, but does not discuss edge cases (e.g., no available backend) or authentication requirements. With no annotations, more detail would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, clear sentence with no superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple tool with no parameters and an output schema. Lacks mention of prerequisites or behavior when no backend is available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the description does not need to add parameter info. Baseline 4 for zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns the name of the least busy available backend, distinguishing it from siblings like list_backends_tool which returns all backends.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as list_backends_tool or get_backend_configuration_tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_backends_toolA
List all available quantum backends (devices/simulators).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Lacks disclosure of any behavioral traits beyond the obvious 'list'. With no annotations, the description should provide more detail on authentication, result format, or performance characteristics, but it does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence, front-loaded with key information, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, description is minimally adequate. However, it could clarify what 'available' means (e.g., online, accessible to user) and whether authentication is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the schema covers everything. Baseline 4 applies as description adds no value for params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List all available quantum backends' with specific verb and resource, and distinguishes from sibling tools that focus on individual backends or other operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like least_busy_tool or get_backend_configuration_tool, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_my_tasks_toolA
List the current user's tasks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey all behavioral traits. It only states 'list tasks' without disclosing ordering, pagination, filtering, or what happens if no tasks exist. The output schema may define the structure, but the description itself is insufficient for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no extraneous information. It is appropriately short for a tool with no parameters, and every word serves a purpose. Maximum score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and the presence of an output schema, the description is nearly complete. It covers the essential purpose and scope. However, it could be improved by mentioning that results are for the authenticated user (implied by 'my') and noting any default behaviors. This minor gap prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema description coverage is 100%. The description adds value by specifying 'current user's tasks,' clarifying the implicit scope. Baseline for no parameters is 4, and this description meets that baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List the current user's tasks' clearly states the verb (List), the resource (tasks), and the scope (current user's). It distinguishes from siblings like get_task_detail, which retrieves a single task, and get_task_status, which checks specific status. This specificity earns a top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides basic context ('current user's tasks') but lacks explicit guidance on when to use this tool versus alternatives. No mention of when not to use it or references to sibling tools like search_calls_extensive. The absence of usage direction keeps this at a mid-level score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sample_toolA
Submit a sampling task. Provide the circuit as an OpenQASM 2.0 string
(OpenQASM 3 also works if the optional qiskit_qasm3_import is installed).
Returns a task_id; poll get_task_status_tool then get_task_result_tool. SAS-CPU simulator requires amplitude_index.
| Name | Required | Description | Default |
|---|---|---|---|
| qasm | Yes | ||
| shots | No | ||
| transpile | No | ||
| backend_name | Yes | ||
| amplitude_index | No | ||
| optimization_level | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden; it discloses that the tool returns a task_id (async behavior) and has a special requirement for SAS-CPU simulator, but lacks details on destructiveness, auth, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (3 sentences), front-loaded with purpose, and every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters and an output schema, the description only partially covers the parameters and behavior; it explains return flow but lacks detail on parameter defaults and constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds meaning for 'qasm' (OpenQASM 2.0 string) and 'amplitude_index' (required for SAS-CPU simulator), but does not cover other parameters like 'shots', 'transpile', 'backend_name', or 'optimization_level'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool submits a sampling task, specifies the required input format (OpenQASM 2.0 string), and distinguishes it from sibling tools like estimate_tool or list_backends_tool by focusing on execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions polling with get_task_status_tool and get_task_result_tool, implying usage flow, but does not explicitly state when to use this tool over alternatives or provide when-not scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | Yes | ||
| channel | No | gjq_cloud | |
| base_url | No | ||
| backend_url | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully bears the burden. It discloses persistence to ~/.gjq_client/gjq_client_account.json, security risks of api_key in context/logs, and recommends alternative. This is comprehensive for a configuration tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two paragraphs, first sentence nails purpose, then concise details on persistence and security. Every sentence adds value, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the main behavioral aspects (persistence, security) and gives usage context. However, it omits explanation of optional parameters and does not mention the output schema. Nonetheless, for a setup tool with a clear primary parameter, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, requiring the description to clarify parameters. It only addresses api_key indirectly, ignoring channel, base_url, and backend_url. The api_key importance is conveyed, but the other three parameters are left unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'configure and cache' and the resource 'GuoJi Quantum cloud account credentials', and mentions persistence to a file. It distinguishes from siblings as no other sibling handles account setup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises preferring the environment variable GJQ_API_KEY, and restricts usage to 'trusted local setup', providing clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
13 tool updates
v0.1.0- First observed
active_account_info_tool - First observed
estimate_tool - First observed
get_backend_configuration_tool - First observed
get_backend_properties_tool - First observed
get_task_detail_tool - First observed
get_task_log_tool - First observed
get_task_result_tool - First observed
get_task_status_tool - First observed
least_busy_tool - First observed
list_backends_tool - First observed
list_my_tasks_tool - First observed
sample_tool - First observed
setup_gjq_account_tool
TDQS
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
MCP server for Qwen Image 3 AI image generation
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Related MCP Servers
- FlicenseAqualityDmaintenanceThis MCP server enables Claude Desktop to create, visualize, and simulate quantum circuits using Qiskit and Qiskit Aer, with support for preset circuits, custom QASM, and noise modeling.3-
- AlicenseNot gradedqualityCmaintenanceMCP server exposing Qiskit quantum computing functionality through the Model Context Protocol. Enables LLMs to create, manipulate, and execute quantum circuits via standardized MCP tools and resources.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for quantum device physics laboratory instrumentation control, enabling LLMs to interact with physics instruments and measurement systems through QCodes and JupyterLab.34MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that provides real-time IBM Quantum device data including queue depths, error rates, and coherence times, enabling AI assistants to query and compare quantum hardware.7MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/guoji-quantum/gjq-runtime-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server