wai-quantum-cli 0.2.2: the MCP Registry's line shown as text #530

Merged
dcharlot merged 1 commit from wai/quantum-cli-0.2.2 into main 2026-10-29 04:14:31 -04:00
9 changed files with 21 additions and 10 deletions

View file

@ -6,6 +6,14 @@ wire format may change and such changes are recorded here.
## Unreleased
### wai-quantum-cli 0.2.2: the registry's line shown as text
This release changes no code. 0.2.1 put the `mcp-name` line in an HTML comment, but the MCP Registry reads the
README as crates.io renders it, and the rendering drops comments, so the registry could not find it. 0.2.2 shows
the line as code in the README (and its translation), and a test holds the README to that. 0.2.1 went to crates.io
only; the binaries, the Homebrew formula and the Scoop manifest go from 0.2.0 to 0.2.2. The desktop app requires
0.2.2, and both lockfiles that hold `wai-quantum-cli` move with it.
### wai-quantum-cli 0.2.1: the command line on the MCP Registry
This release changes no code; `wai-quantum-cli` 0.2.1 is 0.2.0 with the README line the MCP Registry reads.

View file

@ -1133,7 +1133,7 @@ dependencies = [
[[package]]
name = "wai-quantum-cli"
version = "0.2.1"
version = "0.2.2"
dependencies = [
"clap",
"clap_complete",

View file

@ -1,6 +1,6 @@
[package]
name = "wai-quantum-cli"
version = "0.2.1"
version = "0.2.2"
edition = "2024"
rust-version = "1.97"
license = "Apache-2.0"

View file

@ -1,7 +1,5 @@
# wai-quantum
<!-- The MCP Registry reads this line from the crate's README to list the server: mcp-name: science.transaction.wai/quantum -->
The command line of the WAI quantum stack. It runs OpenQASM programs on this machine, planned and run by the same engine as the quantum job service ([`wai_quantum::engine`](../wai-quantum/src/engine/mod.rs)), so a job gives the same result here as there. It also sends programs to the service, checks and draws them, verifies receipts, and serves its tools to agents over MCP.
## Installing it
@ -396,7 +394,7 @@ wai-quantum mcp install --file PATH # merged into the JSON configura
{ "mcpServers": { "wai-quantum": { "command": "wai-quantum", "args": ["mcp"] } } }
```
`install` keeps every other entry and key, in its order, and writes the file whole or not at all. It refuses a file that is not a JSON object (one with comments included), and refuses to replace a different `wai-quantum` entry unless you pass `--force`. `--command` gives the full path of `wai-quantum` for a client that does not search your PATH, and `--name`, `--memory-gb` and `--key` shape the entry. [`server.json`](server.json) describes the server in the MCP Registry's format, as `science.transaction.wai/quantum`.
`install` keeps every other entry and key, in its order, and writes the file whole or not at all. It refuses a file that is not a JSON object (one with comments included), and refuses to replace a different `wai-quantum` entry unless you pass `--force`. `--command` gives the full path of `wai-quantum` for a client that does not search your PATH, and `--name`, `--memory-gb` and `--key` shape the entry. [`server.json`](server.json) describes the server in the MCP Registry's format, as `science.transaction.wai/quantum`. The registry checks this crate's claim to that name against this line of the README as crates.io shows it: `mcp-name: science.transaction.wai/quantum`.
### Instructions for coding agents

View file

@ -387,7 +387,7 @@ wai-quantum mcp install --file PATH # 合并到客户端读取的 JS
{ "mcpServers": { "wai-quantum": { "command": "wai-quantum", "args": ["mcp"] } } }
```
`install` 保留其他所有条目和键及其顺序,并且要么完整写入文件,要么完全不写。它拒绝不是 JSON 对象的文件(包括带注释的文件),并且除非你传入 `--force`,否则拒绝替换另一个不同的 `wai-quantum` 条目。对于不搜索你的 PATH 的客户端,`--command` 给出 `wai-quantum` 的完整路径;`--name`、`--memory-gb` 和 `--key` 用于定制该条目。[`server.json`](server.json) 以 MCP 注册表的格式描述该服务器,名称为 `science.transaction.wai/quantum`。
`install` 保留其他所有条目和键及其顺序,并且要么完整写入文件,要么完全不写。它拒绝不是 JSON 对象的文件(包括带注释的文件),并且除非你传入 `--force`,否则拒绝替换另一个不同的 `wai-quantum` 条目。对于不搜索你的 PATH 的客户端,`--command` 给出 `wai-quantum` 的完整路径;`--name`、`--memory-gb` 和 `--key` 用于定制该条目。[`server.json`](server.json) 以 MCP 注册表的格式描述该服务器,名称为 `science.transaction.wai/quantum`。注册表根据 crates.io 显示的 README 中的这一行核对本 crate 对该名称的归属:`mcp-name: science.transaction.wai/quantum`。
### 给编程智能体的说明

View file

@ -3,14 +3,14 @@
"name": "science.transaction.wai/quantum",
"title": "WAI Quantum",
"description": "OpenQASM 3 programs run, checked against their intent and signed on this machine.",
"version": "0.2.1",
"version": "0.2.2",
"websiteUrl": "https://wai.transaction.science/quantum-run/",
"packages": [
{
"registryType": "cargo",
"registryBaseUrl": "https://crates.io",
"identifier": "wai-quantum-cli",
"version": "0.2.1",
"version": "0.2.2",
"transport": {
"type": "stdio"
},

View file

@ -871,5 +871,10 @@ mod tests {
assert_eq!((p["identifier"].as_str(), p["version"].as_str()), (Some(env!("CARGO_PKG_NAME")), Some(env!("CARGO_PKG_VERSION"))));
assert_eq!(p["packageArguments"][0]["value"], "mcp");
assert_eq!(p["transport"]["type"], "stdio");
// The registry finds this token in the README as crates.io renders it, which drops
// HTML comments: it is shown as code, and the `</code>` after it ends the name.
let token = format!("`mcp-name: {name}`");
let readme = include_str!("../README.md");
assert!(readme.contains(&token) && !readme.contains(&format!("<!-- mcp-name: {name}")), "README.md shows {token} as text");
}
}

View file

@ -4143,7 +4143,7 @@ dependencies = [
[[package]]
name = "wai-quantum-cli"
version = "0.2.1"
version = "0.2.2"
dependencies = [
"clap",
"clap_complete",

View file

@ -17,7 +17,7 @@ serde_json = { version = "1", features = ["float_roundtrip"] }
# The assistant's model server, called by the app (a local one by default).
ureq = { version = "3", features = ["json"] }
wai-quantum = { version = "0.7.0", path = "../wai-quantum", default-features = false, features = ["quantum_engine", "quantum_receipt", "quantum_toolchain", "quantum_qec", "quantum_noise"] }
wai-quantum-cli = { version = "0.2.1", path = "../wai-quantum-cli", default-features = false }
wai-quantum-cli = { version = "0.2.2", path = "../wai-quantum-cli", default-features = false }
# The person's own providers: their registry, their credentials in the
# operating system's keychain, and runs on them sealed with the app's key.
wai-quantum-qpu = { version = "0.3.0", path = "../wai-quantum-qpu" }