wai-quantum: the job service on the MCP Registry, and wai-quantum-cli 0.2.1 for the command line's listing #528
10 changed files with 23 additions and 19 deletions
|
|
@ -6,6 +6,18 @@ wire format may change and such changes are recorded here.
|
|||
|
||||
## Unreleased
|
||||
|
||||
### 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.
|
||||
|
||||
- **The MCP Registry lists the job service** as `science.transaction.wai/quantum-jobs` 0.2.0, its endpoint
|
||||
`https://wai.transaction.science/quantum-jobs/mcp`, under the namespace that
|
||||
`https://wai.transaction.science/.well-known/mcp-registry-auth` proves.
|
||||
- **The command line's README carries the `mcp-name` line** that the registry reads from a crate's README to
|
||||
list `science.transaction.wai/quantum`. 0.2.0's README lacks it, and the registry refused that entry.
|
||||
- **Both `server.json` files drop `repository`**, which the registry refuses for the forge's address.
|
||||
- The desktop app requires 0.2.1, and both lockfiles that hold `wai-quantum-cli` move with it.
|
||||
|
||||
## v0.4.0
|
||||
|
||||
### One catalogue of operations, the agent rules on every command, and the service binaries named `wai-*`
|
||||
|
|
|
|||
2
wai/wai-quantum-cli/Cargo.lock
generated
2
wai/wai-quantum-cli/Cargo.lock
generated
|
|
@ -1133,7 +1133,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum-cli"
|
||||
version = "0.2.0"
|
||||
version = "0.2.1"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"clap_complete",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "wai-quantum-cli"
|
||||
version = "0.2.0"
|
||||
version = "0.2.1"
|
||||
edition = "2024"
|
||||
rust-version = "1.97"
|
||||
license = "Apache-2.0"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# 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
|
||||
|
|
@ -394,7 +396,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; it has not been submitted.
|
||||
`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`.
|
||||
|
||||
### Instructions for coding agents
|
||||
|
||||
|
|
|
|||
|
|
@ -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 注册表的格式描述该服务器;它尚未提交。
|
||||
`install` 保留其他所有条目和键及其顺序,并且要么完整写入文件,要么完全不写。它拒绝不是 JSON 对象的文件(包括带注释的文件),并且除非你传入 `--force`,否则拒绝替换另一个不同的 `wai-quantum` 条目。对于不搜索你的 PATH 的客户端,`--command` 给出 `wai-quantum` 的完整路径;`--name`、`--memory-gb` 和 `--key` 用于定制该条目。[`server.json`](server.json) 以 MCP 注册表的格式描述该服务器,名称为 `science.transaction.wai/quantum`。
|
||||
|
||||
### 给编程智能体的说明
|
||||
|
||||
|
|
|
|||
|
|
@ -3,19 +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.0",
|
||||
"version": "0.2.1",
|
||||
"websiteUrl": "https://wai.transaction.science/quantum-run/",
|
||||
"repository": {
|
||||
"url": "https://git.transaction.science/Transaction-Science/open-standards",
|
||||
"source": "forgejo",
|
||||
"subfolder": "wai/wai-quantum-cli"
|
||||
},
|
||||
"packages": [
|
||||
{
|
||||
"registryType": "cargo",
|
||||
"registryBaseUrl": "https://crates.io",
|
||||
"identifier": "wai-quantum-cli",
|
||||
"version": "0.2.0",
|
||||
"version": "0.2.1",
|
||||
"transport": {
|
||||
"type": "stdio"
|
||||
},
|
||||
|
|
|
|||
2
wai/wai-quantum-desktop/Cargo.lock
generated
2
wai/wai-quantum-desktop/Cargo.lock
generated
|
|
@ -4143,7 +4143,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wai-quantum-cli"
|
||||
version = "0.2.0"
|
||||
version = "0.2.1"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"clap_complete",
|
||||
|
|
|
|||
|
|
@ -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.0", path = "../wai-quantum-cli", default-features = false }
|
||||
wai-quantum-cli = { version = "0.2.1", 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" }
|
||||
|
|
|
|||
|
|
@ -198,7 +198,7 @@ The six checks answer at once, in the service's own process. Each counts against
|
|||
|
||||
A client whose `initialize` says its host draws interactive views (the extension `io.modelcontextprotocol/ui`, version 2026-01-26) gets the engine's answers as views, as from the command line's server: each tool that has one names its `ui://wai-quantum/*` resource, the six views are listed and read, and each answer carries what its view draws in its `_meta`. The service keeps no session, so the client's word is carried in the session id it is given at `initialize` (`wq-views-` and 32 random hex digits, kept nowhere), which a client sends back with every request (`Mcp-Session-Id`); a client that draws no views gets no session id and none of this. For a job still running when the run's wait ends, the result view follows it with `poll_quantum_job`, which the host keeps from the model (`visibility: ["app"]`); a model reads a job with `get_quantum_job`.
|
||||
|
||||
`server.json` beside this README describes the endpoint in the MCP registry's format; it has not been submitted. The command line's agent docs (`llms.txt`, `AGENTS.md`, the Agent Skill) list these tools from `wai/wai-quantum-cli/docs/service-mcp.json`, which this crate's tests hold to the live list. After changing a tool, run `WAI_QUANTUM_BLESS=1 cargo test mcp::` here, then regenerate the command line's docs (its README says how).
|
||||
`server.json` beside this README describes the endpoint in the MCP Registry's format; the registry lists it as `science.transaction.wai/quantum-jobs`. The command line's agent docs (`llms.txt`, `AGENTS.md`, the Agent Skill) list these tools from `wai/wai-quantum-cli/docs/service-mcp.json`, which this crate's tests hold to the live list. After changing a tool, run `WAI_QUANTUM_BLESS=1 cargo test mcp::` here, then regenerate the command line's docs (its README says how).
|
||||
|
||||
## Receipts
|
||||
|
||||
|
|
|
|||
|
|
@ -5,11 +5,6 @@
|
|||
"description": "A free quantum job service: OpenQASM 3 run, checked and signed, with no account or key.",
|
||||
"version": "0.2.0",
|
||||
"websiteUrl": "https://wai.transaction.science/quantum-run/",
|
||||
"repository": {
|
||||
"url": "https://git.transaction.science/Transaction-Science/open-standards",
|
||||
"source": "forgejo",
|
||||
"subfolder": "wai/wai-quantum-service"
|
||||
},
|
||||
"remotes": [
|
||||
{
|
||||
"type": "streamable-http",
|
||||
|
|
|
|||
Loading…
Reference in a new issue