@markusvankempen/quantum-openqasm-mcp 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -11
- package/dist/cli.js +10 -2
- package/dist/cli.js.map +1 -1
- package/dist/credentials.d.ts +8 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +90 -0
- package/dist/credentials.js.map +1 -0
- package/dist/env.d.ts +2 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +15 -10
- package/dist/env.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +16 -2
- package/dist/server.js.map +1 -1
- package/dist/setup.d.ts +3 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +101 -0
- package/dist/setup.js.map +1 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@ ibm quantum, ibm fez, cursor, vscode, claude desktop, bob, antigravity, ai assis
|
|
|
7
7
|
qiskit, quantum hardware, sampler v2, npx, stdio
|
|
8
8
|
-->
|
|
9
9
|
|
|
10
|
+
[](https://registry.modelcontextprotocol.io/servers/io.github.markusvankempen/quantum-openqasm-mcp)
|
|
10
11
|
[](https://www.npmjs.com/package/@markusvankempen/quantum-openqasm-mcp)
|
|
11
12
|
[](https://www.npmjs.com/package/@markusvankempen/quantum-openqasm-mcp)
|
|
12
13
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
@@ -62,6 +63,16 @@ npx @markusvankempen/quantum-openqasm-mcp
|
|
|
62
63
|
|
|
63
64
|
Requires **Node.js 18 or newer**.
|
|
64
65
|
|
|
66
|
+
### Interactive setup
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npx @markusvankempen/quantum-openqasm-mcp --setup
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Prompts for credentials, validates IBM IAM, writes `~/.quantum-openqasm-mcp/.env`, and prints a VS Code `mcp.json` snippet.
|
|
73
|
+
|
|
74
|
+
The server **fails fast at startup** if `IBM_API_KEY` or `IBM_SERVICE_CRN` are missing (stderr shows setup guidance).
|
|
75
|
+
|
|
65
76
|
---
|
|
66
77
|
|
|
67
78
|
## Credentials
|
|
@@ -116,7 +127,7 @@ With a global install:
|
|
|
116
127
|
}
|
|
117
128
|
```
|
|
118
129
|
|
|
119
|
-
### VS Code native MCP
|
|
130
|
+
### VS Code native MCP (recommended — prompts on first use)
|
|
120
131
|
|
|
121
132
|
```json
|
|
122
133
|
{
|
|
@@ -126,14 +137,31 @@ With a global install:
|
|
|
126
137
|
"command": "npx",
|
|
127
138
|
"args": ["-y", "@markusvankempen/quantum-openqasm-mcp"],
|
|
128
139
|
"env": {
|
|
129
|
-
"IBM_API_KEY": "
|
|
130
|
-
"IBM_SERVICE_CRN": "
|
|
140
|
+
"IBM_API_KEY": "${input:ibmApiKey}",
|
|
141
|
+
"IBM_SERVICE_CRN": "${input:ibmServiceCrn}",
|
|
142
|
+
"IBM_QUANTUM_ENDPOINT": "https://us-east.quantum-computing.cloud.ibm.com",
|
|
143
|
+
"IBM_QUANTUM_BACKEND": "ibm_fez"
|
|
131
144
|
}
|
|
132
145
|
}
|
|
133
|
-
}
|
|
146
|
+
},
|
|
147
|
+
"inputs": [
|
|
148
|
+
{
|
|
149
|
+
"id": "ibmApiKey",
|
|
150
|
+
"type": "promptString",
|
|
151
|
+
"description": "IBM Cloud API Key (quantum.ibm.com → Account → API keys)",
|
|
152
|
+
"password": true
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"id": "ibmServiceCrn",
|
|
156
|
+
"type": "promptString",
|
|
157
|
+
"description": "IBM Quantum Instance CRN (crn:v1:bluemix:public:quantum-computing:...)"
|
|
158
|
+
}
|
|
159
|
+
]
|
|
134
160
|
}
|
|
135
161
|
```
|
|
136
162
|
|
|
163
|
+
VS Code stores prompted values securely — no secrets in the config file.
|
|
164
|
+
|
|
137
165
|
### Bob & Antigravity
|
|
138
166
|
|
|
139
167
|
Use the same stdio block as Cursor. The [Quantum OpenQASM Assistant](https://github.com/markusvankempen/quantum-openqasm-assistant) extension can register this server in all supported IDEs with **Quantum: Setup MCP**.
|
|
@@ -142,10 +170,11 @@ More detail: [Local MCP setup guide](https://github.com/markusvankempen/quantum-
|
|
|
142
170
|
|
|
143
171
|
---
|
|
144
172
|
|
|
145
|
-
## MCP tools (
|
|
173
|
+
## MCP tools (10)
|
|
146
174
|
|
|
147
175
|
| Tool | Description |
|
|
148
176
|
|------|-------------|
|
|
177
|
+
| `check_credentials` | Masked env var status + IBM IAM connectivity test |
|
|
149
178
|
| `list_backends` | List IBM Quantum backends — qubits, status, queue length |
|
|
150
179
|
| `get_backend` | Details for one backend |
|
|
151
180
|
| `get_backend_configuration` | Native gates and coupling map (ISA prep) |
|
|
@@ -158,6 +187,7 @@ More detail: [Local MCP setup guide](https://github.com/markusvankempen/quantum-
|
|
|
158
187
|
|
|
159
188
|
### Example AI prompts
|
|
160
189
|
|
|
190
|
+
- *"Call check_credentials first to verify IBM Quantum setup."*
|
|
161
191
|
- *"Use quantum-openqasm-mcp list_backends and pick the shortest queue."*
|
|
162
192
|
- *"Submit this Bell-state OpenQASM circuit on ibm_fez with submit_qasm_job."*
|
|
163
193
|
- *"Poll get_job_status for job d8jftsk2upec739ngh4g until it completes, then show the histogram."*
|
|
@@ -190,18 +220,18 @@ The server listens on **stdio** — suitable for MCP hosts that spawn child proc
|
|
|
190
220
|
|
|
191
221
|
---
|
|
192
222
|
|
|
193
|
-
## Publish
|
|
194
|
-
|
|
195
|
-
Maintainers:
|
|
223
|
+
## Publish (maintainers)
|
|
196
224
|
|
|
197
225
|
```bash
|
|
198
226
|
cd packages/quantum-openqasm-mcp
|
|
199
227
|
npm install
|
|
200
|
-
npm run pack:check
|
|
201
|
-
npm
|
|
202
|
-
npm publish
|
|
228
|
+
npm run pack:check # dry-run npm tarball
|
|
229
|
+
npm publish --access public # npm first
|
|
230
|
+
npm run publish:mcp # MCP Registry (requires: brew install mcp-publisher && mcp-publisher login github)
|
|
203
231
|
```
|
|
204
232
|
|
|
233
|
+
Bump `version` in `package.json` and `server.json` together before each release.
|
|
234
|
+
|
|
205
235
|
---
|
|
206
236
|
|
|
207
237
|
## Related projects
|
package/dist/cli.js
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { loadEnvFiles } from './env.js';
|
|
3
|
+
import { runSetupWizard } from './setup.js';
|
|
3
4
|
import { startQuantumMcpServer } from './server.js';
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
async function main() {
|
|
6
|
+
loadEnvFiles();
|
|
7
|
+
if (process.argv.includes('--setup')) {
|
|
8
|
+
await runSetupWizard();
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
await startQuantumMcpServer();
|
|
12
|
+
}
|
|
13
|
+
main().catch((err) => {
|
|
6
14
|
console.error('quantum-openqasm-mcp failed to start:', err);
|
|
7
15
|
process.exit(1);
|
|
8
16
|
});
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,KAAK,UAAU,IAAI;IACf,YAAY,EAAE,CAAC;IAEf,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO;IACX,CAAC;IAED,MAAM,qBAAqB,EAAE,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { QuantumEnv } from './env.js';
|
|
2
|
+
export declare function getMissingRequiredVars(): string[];
|
|
3
|
+
export declare function maskSecret(value: string): string;
|
|
4
|
+
export declare function formatSetupBanner(missing: string[]): string;
|
|
5
|
+
export declare function assertCredentialsAtStartup(): void;
|
|
6
|
+
export declare function testIamToken(apiKey: string): Promise<boolean>;
|
|
7
|
+
export declare function formatCredentialStatus(missing: string[], env: QuantumEnv | null, iamOk: boolean): string;
|
|
8
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CASjD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAoB3D;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAMjD;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoBnE;AAED,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,EAAE,UAAU,GAAG,IAAI,EACtB,KAAK,EAAE,OAAO,GACf,MAAM,CA0BR"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
export function getMissingRequiredVars() {
|
|
3
|
+
const missing = [];
|
|
4
|
+
if (!process.env.IBM_API_KEY) {
|
|
5
|
+
missing.push('IBM_API_KEY');
|
|
6
|
+
}
|
|
7
|
+
if (!process.env.IBM_SERVICE_CRN) {
|
|
8
|
+
missing.push('IBM_SERVICE_CRN');
|
|
9
|
+
}
|
|
10
|
+
return missing;
|
|
11
|
+
}
|
|
12
|
+
export function maskSecret(value) {
|
|
13
|
+
if (value.length <= 8) {
|
|
14
|
+
return '***';
|
|
15
|
+
}
|
|
16
|
+
return `${value.slice(0, 4)}...${value.slice(-4)}`;
|
|
17
|
+
}
|
|
18
|
+
export function formatSetupBanner(missing) {
|
|
19
|
+
return [
|
|
20
|
+
'╔══════════════════════════════════════════════════════════╗',
|
|
21
|
+
'║ quantum-openqasm-mcp — SETUP REQUIRED ║',
|
|
22
|
+
'╠══════════════════════════════════════════════════════════╣',
|
|
23
|
+
`║ Missing environment variables: ${missing.join(', ')}`,
|
|
24
|
+
'║',
|
|
25
|
+
'║ Fix one of these:',
|
|
26
|
+
'║',
|
|
27
|
+
'║ 1. Set in mcp.json "env" block:',
|
|
28
|
+
'║ "IBM_API_KEY": "your_key"',
|
|
29
|
+
'║ "IBM_SERVICE_CRN": "crn:v1:..."',
|
|
30
|
+
'║',
|
|
31
|
+
'║ 2. Create ~/.quantum-openqasm-mcp/.env with those keys',
|
|
32
|
+
'║',
|
|
33
|
+
'║ 3. Run: npx @markusvankempen/quantum-openqasm-mcp --setup',
|
|
34
|
+
'║',
|
|
35
|
+
'║ Get keys: https://quantum.ibm.com → Account → API keys',
|
|
36
|
+
'╚══════════════════════════════════════════════════════════╝',
|
|
37
|
+
].join('\n');
|
|
38
|
+
}
|
|
39
|
+
export function assertCredentialsAtStartup() {
|
|
40
|
+
const missing = getMissingRequiredVars();
|
|
41
|
+
if (missing.length > 0) {
|
|
42
|
+
console.error(formatSetupBanner(missing));
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export async function testIamToken(apiKey) {
|
|
47
|
+
try {
|
|
48
|
+
await axios.post('https://iam.cloud.ibm.com/identity/token', new URLSearchParams({
|
|
49
|
+
grant_type: 'urn:ibm:params:oauth:grant-type:apikey',
|
|
50
|
+
apikey: apiKey,
|
|
51
|
+
}), {
|
|
52
|
+
headers: {
|
|
53
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
54
|
+
Accept: 'application/json',
|
|
55
|
+
},
|
|
56
|
+
timeout: 15000,
|
|
57
|
+
});
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export function formatCredentialStatus(missing, env, iamOk) {
|
|
65
|
+
const lines = ['IBM Quantum credential check', ''];
|
|
66
|
+
if (missing.length > 0) {
|
|
67
|
+
lines.push(`Missing required: ${missing.join(', ')}`);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
lines.push('Required variables: OK');
|
|
71
|
+
}
|
|
72
|
+
lines.push('');
|
|
73
|
+
lines.push('Configured:');
|
|
74
|
+
lines.push(` IBM_API_KEY: ${process.env.IBM_API_KEY ? maskSecret(process.env.IBM_API_KEY) : '(not set)'}`);
|
|
75
|
+
lines.push(` IBM_SERVICE_CRN: ${process.env.IBM_SERVICE_CRN ? maskSecret(process.env.IBM_SERVICE_CRN) : '(not set)'}`);
|
|
76
|
+
lines.push(` IBM_QUANTUM_ENDPOINT: ${process.env.IBM_QUANTUM_ENDPOINT || '(default us-east)'}`);
|
|
77
|
+
lines.push(` IBM_QUANTUM_BACKEND: ${process.env.IBM_QUANTUM_BACKEND || 'ibm_fez (default)'}`);
|
|
78
|
+
lines.push('');
|
|
79
|
+
if (!env) {
|
|
80
|
+
lines.push('IBM IAM token test: skipped (credentials incomplete)');
|
|
81
|
+
}
|
|
82
|
+
else if (iamOk) {
|
|
83
|
+
lines.push('IBM IAM token test: OK');
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
lines.push('IBM IAM token test: FAILED (check IBM_API_KEY)');
|
|
87
|
+
}
|
|
88
|
+
return lines.join('\n');
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
|
package/dist/env.d.ts
CHANGED
|
@@ -6,5 +6,7 @@ export interface QuantumEnv {
|
|
|
6
6
|
}
|
|
7
7
|
/** Load .env from cwd, then ~/.quantum-openqasm-mcp/.env (legacy: ~/.quantum-mcp/.env). */
|
|
8
8
|
export declare function loadEnvFiles(): void;
|
|
9
|
+
/** Returns env when required vars are set; otherwise null (no throw). */
|
|
10
|
+
export declare function safeRequireEnv(): QuantumEnv | null;
|
|
9
11
|
export declare function requireEnv(): QuantumEnv;
|
|
10
12
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAID,2FAA2F;AAC3F,wBAAgB,YAAY,IAAI,IAAI,CAWnC;AAED,yEAAyE;AACzE,wBAAgB,cAAc,IAAI,UAAU,GAAG,IAAI,CAUlD;AAED,wBAAgB,UAAU,IAAI,UAAU,CASvC"}
|
package/dist/env.js
CHANGED
|
@@ -2,6 +2,7 @@ import fs from 'fs';
|
|
|
2
2
|
import os from 'os';
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { config as loadDotenv } from 'dotenv';
|
|
5
|
+
import { getMissingRequiredVars } from './credentials.js';
|
|
5
6
|
const DEFAULT_ENDPOINT = 'https://us-east.quantum-computing.cloud.ibm.com';
|
|
6
7
|
/** Load .env from cwd, then ~/.quantum-openqasm-mcp/.env (legacy: ~/.quantum-mcp/.env). */
|
|
7
8
|
export function loadEnvFiles() {
|
|
@@ -16,20 +17,24 @@ export function loadEnvFiles() {
|
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
const crn = process.env.IBM_SERVICE_CRN;
|
|
25
|
-
if (!crn) {
|
|
26
|
-
throw new Error('IBM_SERVICE_CRN missing. Set it in the environment or in .env / ~/.quantum-openqasm-mcp/.env');
|
|
20
|
+
/** Returns env when required vars are set; otherwise null (no throw). */
|
|
21
|
+
export function safeRequireEnv() {
|
|
22
|
+
if (getMissingRequiredVars().length > 0) {
|
|
23
|
+
return null;
|
|
27
24
|
}
|
|
28
25
|
return {
|
|
29
|
-
apiKey,
|
|
30
|
-
crn,
|
|
26
|
+
apiKey: process.env.IBM_API_KEY,
|
|
27
|
+
crn: process.env.IBM_SERVICE_CRN,
|
|
31
28
|
endpoint: (process.env.IBM_QUANTUM_ENDPOINT || DEFAULT_ENDPOINT).replace(/\/$/, ''),
|
|
32
29
|
defaultBackend: process.env.IBM_QUANTUM_BACKEND || 'ibm_fez',
|
|
33
30
|
};
|
|
34
31
|
}
|
|
32
|
+
export function requireEnv() {
|
|
33
|
+
const env = safeRequireEnv();
|
|
34
|
+
if (!env) {
|
|
35
|
+
const missing = getMissingRequiredVars().join(', ');
|
|
36
|
+
throw new Error(`${missing} missing. Set in mcp.json env, ~/.quantum-openqasm-mcp/.env, or run --setup`);
|
|
37
|
+
}
|
|
38
|
+
return env;
|
|
39
|
+
}
|
|
35
40
|
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAS1D,MAAM,gBAAgB,GAAG,iDAAiD,CAAC;AAE3E,2FAA2F;AAC3F,MAAM,UAAU,YAAY;IACxB,MAAM,UAAU,GAAG;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,uBAAuB,EAAE,MAAM,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC;KAClD,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;AACL,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,cAAc;IAC1B,IAAI,sBAAsB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO;QACH,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAY;QAChC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,eAAgB;QACjC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACnF,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS;KAC/D,CAAC;AACN,CAAC;AAED,MAAM,UAAU,UAAU;IACtB,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,KAAK,CACX,GAAG,OAAO,6EAA6E,CAC1F,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export { loadEnvFiles, requireEnv, type QuantumEnv } from './env.js';
|
|
1
|
+
export { loadEnvFiles, requireEnv, safeRequireEnv, type QuantumEnv } from './env.js';
|
|
2
|
+
export { assertCredentialsAtStartup, formatCredentialStatus, getMissingRequiredVars, testIamToken, } from './credentials.js';
|
|
3
|
+
export { runSetupWizard } from './setup.js';
|
|
2
4
|
export { createQuantumMcpServer, startQuantumMcpServer, SERVER_NAME, SERVER_VERSION, } from './server.js';
|
|
3
5
|
export { fetchBackendList, formatBackendList, formatBackendLine, parseBackendListResponse, type NormalizedBackend, } from './backend-utils.js';
|
|
4
6
|
export { parseMeasurementResults, parseResultPayload, formatCountsHistogram, type MeasurementResult, } from './result-utils.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AACrF,OAAO,EACH,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,YAAY,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACH,sBAAsB,EACtB,qBAAqB,EACrB,WAAW,EACX,cAAc,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,KAAK,iBAAiB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,iBAAiB,GACzB,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export { loadEnvFiles, requireEnv } from './env.js';
|
|
1
|
+
export { loadEnvFiles, requireEnv, safeRequireEnv } from './env.js';
|
|
2
|
+
export { assertCredentialsAtStartup, formatCredentialStatus, getMissingRequiredVars, testIamToken, } from './credentials.js';
|
|
3
|
+
export { runSetupWizard } from './setup.js';
|
|
2
4
|
export { createQuantumMcpServer, startQuantumMcpServer, SERVER_NAME, SERVER_VERSION, } from './server.js';
|
|
3
5
|
export { fetchBackendList, formatBackendList, formatBackendLine, parseBackendListResponse, } from './backend-utils.js';
|
|
4
6
|
export { parseMeasurementResults, parseResultPayload, formatCountsHistogram, } from './result-utils.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAmB,MAAM,UAAU,CAAC;AACrF,OAAO,EACH,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,YAAY,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACH,sBAAsB,EACtB,qBAAqB,EACrB,WAAW,EACX,cAAc,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GAE3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,GAExB,MAAM,mBAAmB,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
5
5
|
export declare const SERVER_NAME = "quantum-openqasm-mcp";
|
|
6
|
-
export declare const SERVER_VERSION = "1.7.
|
|
6
|
+
export declare const SERVER_VERSION = "1.7.1";
|
|
7
7
|
export declare function createQuantumMcpServer(): Server;
|
|
8
8
|
/** Start the MCP server on stdio (for Cursor, VS Code, Claude Desktop, etc.). */
|
|
9
9
|
export declare function startQuantumMcpServer(): Promise<void>;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAcnE,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAClD,eAAO,MAAM,cAAc,UAAU,CAAC;AAqKtC,wBAAgB,sBAAsB,IAAI,MAAM,CAkK/C;AAED,iFAAiF;AACjF,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3D"}
|
package/dist/server.js
CHANGED
|
@@ -6,10 +6,11 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
|
6
6
|
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
7
7
|
import axios from 'axios';
|
|
8
8
|
import { fetchBackendList, formatBackendList } from './backend-utils.js';
|
|
9
|
-
import {
|
|
9
|
+
import { assertCredentialsAtStartup, formatCredentialStatus, getMissingRequiredVars, testIamToken, } from './credentials.js';
|
|
10
|
+
import { requireEnv, safeRequireEnv } from './env.js';
|
|
10
11
|
import { formatCountsHistogram, parseMeasurementResults } from './result-utils.js';
|
|
11
12
|
export const SERVER_NAME = 'quantum-openqasm-mcp';
|
|
12
|
-
export const SERVER_VERSION = '1.7.
|
|
13
|
+
export const SERVER_VERSION = '1.7.1';
|
|
13
14
|
const API_VERSION = '2023-11-16';
|
|
14
15
|
let cachedToken = null;
|
|
15
16
|
let tokenExpiry = 0;
|
|
@@ -241,12 +242,24 @@ export function createQuantumMcpServer() {
|
|
|
241
242
|
required: ['job_id'],
|
|
242
243
|
},
|
|
243
244
|
},
|
|
245
|
+
{
|
|
246
|
+
name: 'check_credentials',
|
|
247
|
+
description: 'Check which IBM Quantum env vars are set (masked) and test IBM IAM connectivity.',
|
|
248
|
+
inputSchema: { type: 'object', properties: {} },
|
|
249
|
+
},
|
|
244
250
|
],
|
|
245
251
|
}));
|
|
246
252
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
247
253
|
const name = request.params.name;
|
|
248
254
|
const args = request.params.arguments ?? {};
|
|
249
255
|
try {
|
|
256
|
+
if (name === 'check_credentials') {
|
|
257
|
+
const missing = getMissingRequiredVars();
|
|
258
|
+
const env = safeRequireEnv();
|
|
259
|
+
const iamOk = env ? await testIamToken(env.apiKey) : false;
|
|
260
|
+
const isError = missing.length > 0 || (env !== null && !iamOk);
|
|
261
|
+
return textResult(formatCredentialStatus(missing, env, iamOk), isError);
|
|
262
|
+
}
|
|
250
263
|
const env = requireEnv();
|
|
251
264
|
switch (name) {
|
|
252
265
|
case 'list_backends':
|
|
@@ -293,6 +306,7 @@ export function createQuantumMcpServer() {
|
|
|
293
306
|
}
|
|
294
307
|
/** Start the MCP server on stdio (for Cursor, VS Code, Claude Desktop, etc.). */
|
|
295
308
|
export async function startQuantumMcpServer() {
|
|
309
|
+
assertCredentialsAtStartup();
|
|
296
310
|
const server = createQuantumMcpServer();
|
|
297
311
|
const transport = new StdioServerTransport();
|
|
298
312
|
await server.connect(transport);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/setup.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAqEA,qFAAqF;AACrF,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA6CpD"}
|
package/dist/setup.js
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import os from 'os';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import * as readline from 'readline/promises';
|
|
5
|
+
import { stdin as input, stdout as output } from 'process';
|
|
6
|
+
import { testIamToken } from './credentials.js';
|
|
7
|
+
const DEFAULT_ENDPOINT = 'https://us-east.quantum-computing.cloud.ibm.com';
|
|
8
|
+
const ENV_DIR = path.join(os.homedir(), '.quantum-openqasm-mcp');
|
|
9
|
+
const ENV_FILE = path.join(ENV_DIR, '.env');
|
|
10
|
+
async function prompt(rl, label, defaultValue = '') {
|
|
11
|
+
const suffix = defaultValue ? ` [${defaultValue}]` : '';
|
|
12
|
+
const answer = (await rl.question(`${label}${suffix}: `)).trim();
|
|
13
|
+
return answer || defaultValue;
|
|
14
|
+
}
|
|
15
|
+
async function promptSecret(rl, label) {
|
|
16
|
+
return (await rl.question(`${label}: `)).trim();
|
|
17
|
+
}
|
|
18
|
+
function buildEnvContent(values) {
|
|
19
|
+
return [
|
|
20
|
+
'# quantum-openqasm-mcp credentials (generated by --setup)',
|
|
21
|
+
`IBM_API_KEY=${values.IBM_API_KEY}`,
|
|
22
|
+
`IBM_SERVICE_CRN=${values.IBM_SERVICE_CRN}`,
|
|
23
|
+
`IBM_QUANTUM_ENDPOINT=${values.IBM_QUANTUM_ENDPOINT}`,
|
|
24
|
+
`IBM_QUANTUM_BACKEND=${values.IBM_QUANTUM_BACKEND}`,
|
|
25
|
+
'',
|
|
26
|
+
].join('\n');
|
|
27
|
+
}
|
|
28
|
+
function printVsCodeMcpSnippet() {
|
|
29
|
+
console.log(`
|
|
30
|
+
Copy this into VS Code user mcp.json (macOS: ~/Library/Application Support/Code/User/mcp.json):
|
|
31
|
+
|
|
32
|
+
{
|
|
33
|
+
"servers": {
|
|
34
|
+
"quantum-openqasm-mcp": {
|
|
35
|
+
"type": "stdio",
|
|
36
|
+
"command": "npx",
|
|
37
|
+
"args": ["-y", "@markusvankempen/quantum-openqasm-mcp"],
|
|
38
|
+
"env": {
|
|
39
|
+
"IBM_API_KEY": "\${input:ibmApiKey}",
|
|
40
|
+
"IBM_SERVICE_CRN": "\${input:ibmServiceCrn}",
|
|
41
|
+
"IBM_QUANTUM_ENDPOINT": "https://us-east.quantum-computing.cloud.ibm.com",
|
|
42
|
+
"IBM_QUANTUM_BACKEND": "ibm_fez"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"inputs": [
|
|
47
|
+
{
|
|
48
|
+
"id": "ibmApiKey",
|
|
49
|
+
"type": "promptString",
|
|
50
|
+
"description": "IBM Cloud API Key (quantum.ibm.com → Account → API keys)",
|
|
51
|
+
"password": true
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "ibmServiceCrn",
|
|
55
|
+
"type": "promptString",
|
|
56
|
+
"description": "IBM Quantum Instance CRN (crn:v1:bluemix:public:quantum-computing:...)"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Credentials are also saved to ~/.quantum-openqasm-mcp/.env for npx/Cursor without prompts.
|
|
62
|
+
`.trim());
|
|
63
|
+
}
|
|
64
|
+
/** Interactive setup: prompts, validates IAM, writes ~/.quantum-openqasm-mcp/.env */
|
|
65
|
+
export async function runSetupWizard() {
|
|
66
|
+
const rl = readline.createInterface({ input, output });
|
|
67
|
+
try {
|
|
68
|
+
console.log('Quantum OpenQASM MCP — setup wizard\n');
|
|
69
|
+
const apiKey = await promptSecret(rl, 'IBM_API_KEY');
|
|
70
|
+
if (!apiKey) {
|
|
71
|
+
console.error('IBM_API_KEY is required.');
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
console.log('Validating IBM API key against IAM...');
|
|
75
|
+
if (!(await testIamToken(apiKey))) {
|
|
76
|
+
console.error('IBM IAM validation failed. Check your API key and try again.');
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
79
|
+
console.log('IBM API key: OK\n');
|
|
80
|
+
const crn = await promptSecret(rl, 'IBM_SERVICE_CRN');
|
|
81
|
+
if (!crn) {
|
|
82
|
+
console.error('IBM_SERVICE_CRN is required.');
|
|
83
|
+
process.exit(1);
|
|
84
|
+
}
|
|
85
|
+
const endpoint = await prompt(rl, 'IBM_QUANTUM_ENDPOINT', DEFAULT_ENDPOINT);
|
|
86
|
+
const backend = await prompt(rl, 'IBM_QUANTUM_BACKEND', 'ibm_fez');
|
|
87
|
+
fs.mkdirSync(ENV_DIR, { recursive: true });
|
|
88
|
+
fs.writeFileSync(ENV_FILE, buildEnvContent({
|
|
89
|
+
IBM_API_KEY: apiKey,
|
|
90
|
+
IBM_SERVICE_CRN: crn,
|
|
91
|
+
IBM_QUANTUM_ENDPOINT: endpoint,
|
|
92
|
+
IBM_QUANTUM_BACKEND: backend,
|
|
93
|
+
}), { mode: 0o600 });
|
|
94
|
+
console.log(`\nWrote ${ENV_FILE}`);
|
|
95
|
+
printVsCodeMcpSnippet();
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
rl.close();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markusvankempen/quantum-openqasm-mcp",
|
|
3
3
|
"mcpName": "io.github.markusvankempen/quantum-openqasm-mcp",
|
|
4
|
-
"version": "1.7.
|
|
5
|
-
"description": "IBM Quantum OpenQASM 2.0 MCP server —
|
|
4
|
+
"version": "1.7.1",
|
|
5
|
+
"description": "IBM Quantum OpenQASM 2.0 MCP server — 10 tools to list backends, submit QASM circuits, poll jobs, check credentials, and fetch histograms. Cursor, VS Code, Claude Desktop, Bob, Antigravity via stdio or npx.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"mcp",
|
|
8
8
|
"mcp-server",
|
|
@@ -101,6 +101,7 @@
|
|
|
101
101
|
"start": "node dist/cli.js",
|
|
102
102
|
"prepublishOnly": "npm run build",
|
|
103
103
|
"pack:check": "npm run build && npm pack --dry-run",
|
|
104
|
+
"publish:mcp": "mcp-publisher publish",
|
|
104
105
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
105
106
|
},
|
|
106
107
|
"dependencies": {
|