# IBM Quantum MCP

> IBM Quantum MCP lets your AI agent manage complex quantum computing tasks. You can list available hardware providers, submit jobs for execution, track job status in real-time, and retrieve final results without leaving your chat client. It’s built to handle the entire lifecycle of a large-scale quantum experiment.

## Overview
- **Category:** industry-titans
- **Price:** Free

## Description

Running an experiment on a specialized backend requires careful coordination—you gotta know which machines are available before you can run anything. This MCP lets your agent handle that whole process. You tell it what you need, and it figures out the best way to get started with IBM Quantum. It controls everything from finding the right hardware through listing providers and backends, submitting a job for execution via `submit_job`, all the way up to getting the final output or canceling the run if something goes wrong.

It works like having an expert operator sitting next to you: your agent can check backend details with `get_backend_details` before deploying code. If the job starts, you track its progress using `list_jobs` and get real-time updates on status or results. You don't have to jump between dashboards; you just ask your AI client through Vinkius, and it handles the API calls for you. This means getting complex quantum data into your workflow is as simple as asking a question.

## Tools

### cancel_job
Stops a quantum job that is currently running on the platform.

### get_backend_details
Retrieves detailed technical specifications for a specific piece of quantum hardware.

### get_job_result
Retrieves the final computed data or output from a completed quantum job.

### get_job_details
Fetches the current status, history, and metadata for an existing job ID.

### list_backends
Lists all available quantum hardware devices that are currently online and ready for use.

### list_jobs
Provides a list of all jobs submitted to the platform, along with their current status.

### list_providers
Lists all available quantum service providers supported by the IBM Quantum system.

### submit_job
Sends a new quantum computation job to run on the selected hardware backend.

## Capabilities

### Discover hardware resources
List available quantum providers or get specific technical details on any known backend device.

### Submit and manage experiments
Send a job to the platform for execution and track its status from submission through completion.

### Retrieve final results
Fetch detailed information about a specific quantum job's outcome or logs after it finishes running.

## Use Cases

### Debugging failed experiments
A quantum scientist runs an experiment and it fails. Instead of guessing what went wrong, they ask their agent to first check the job status using `get_job_details`, then pull any available logs with `get_job_result` to pinpoint the error.

### Preparing for a new project
An HPC specialist needs to know what hardware is best. They ask their agent to run `list_providers` and then select two promising options, checking them with `get_backend_details` before committing to code.

### Monitoring a long-running job
A computational engineer submits a massive simulation using `submit_job`. Rather than waiting hours on a dashboard, they ask their agent for periodic status updates via `list_jobs` until the results are ready.

### Resource cleanup and testing
After running several tests, an ops specialist wants to clear out old jobs. They first run `list_jobs` to see what's active, then use `cancel_job` on any stale or unwanted runs.

## Benefits

- Track status instead of refreshing: Use `get_job_details` to get the current state of any running experiment, eliminating manual dashboard checks.
- Full resource visibility: Before writing a line of code, check available hardware using `list_backends` or review provider options with `list_providers` to ensure compatibility.
- Instant termination capability: If an experiment hits a snag, you can stop it immediately and cleanly by calling `cancel_job`, saving compute credits.
- Single point for results: Once the run is done, use `get_job_result` to pull the final data directly into your agent's context, instead of hunting through emails or portals.
- Automated workflow building: Your AI client can string together multiple steps—from running a test job (`submit_job`) to checking its outcome—into one coherent task.

## How It Works

The bottom line is that your AI client handles all the necessary API calls—from checking capacity to grabbing results—so you just get the answer you need.

1. First, your agent asks the MCP to list available providers or backends. This checks which hardware is ready for work.
2. Next, you instruct the agent to submit a job using `submit_job`. The system queues the experiment and returns an initial job ID.
3. Finally, you ask the agent to check the status with `get_job_details` or retrieve the outcome using `get_job_result` once the execution is finished.

## Frequently Asked Questions

**How do I find out what quantum jobs are running with list_jobs?**
Running `list_jobs` gives you a comprehensive overview of all submitted experiments. This is the first step if you need to check status across multiple runs or see which resources are currently tied up.

**What's the difference between get_job_details and get_job_result?**
`get_job_details` tells you *what* is happening (the status, current phase). `get_job_result` only runs after completion and gives you the actual data output or outcome.

**Can I check hardware availability using list_backends?**
Yes. Using `list_backends` pulls a real-time inventory of all available quantum devices, allowing you to select the best target for your next run before submitting code.

**How do I use the submit_job tool when I'm ready to run a quantum calculation?**
You must provide the job parameters, including the specific circuit and backend target. The system validates these inputs before submitting your work. It returns a unique Job ID that you need for all subsequent status checks.

**What happens if I run a quantum job that I need to stop early using cancel_job?**
The system attempts to terminate the running computation immediately, freeing up resources. If the job is already finished or in an uncancelable state, the tool will return an appropriate error message.

**If I need to know what quantum providers are connected and available, should I use list_providers?**
Yes, `list_providers` shows all registered IBM Quantum services accessible through this MCP. This helps you determine which organizational scope your calculations belong to.

**Beyond just listing them, how do I get specific performance metrics about a backend using get_backend_details?**
This tool retrieves detailed specifications for an individual quantum device. You can check parameters like coherence time and number of available qubits, which is critical before submitting work.

**I just submitted a job; how do I use get_job_details to verify its initial status or expected parameters?**
Using `get_job_details` lets you inspect the setup and current state of the job before it fully processes. This confirms that all necessary inputs were correctly received by the quantum backend.