You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f5c3b89
Browse filesBrowse the repository at this point in the historyBrowse files
Ship a standalone HTTP fixture with core so users and CI can opt into
HTTP checks by starting it before client loading. Observe the configured
URL and header values through the native MCP tool while leaving other
checks usable without the server.
Record unsuccessful collection attempts separately from returned
observations. The reporter independently checks fixture health when
recording an HTTP error: a healthy fixture makes native tool
unavailability fail, while unavailable health and unattempted checks
remain not verified. Retain only the latest outcome for each component.
Copy file name to clipboardExpand all lines: README.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,17 +4,19 @@ Plugins for collecting evidence about client support for [Agent Plugins](https:/
4
4
5
5
## Run the checks
6
6
7
-
Install these plugins through the client's Agent Plugins support:
7
+
Node.js 22 or newer must be available as `node` on the client's executable search path, and the agent must be able to execute commands. The packaged plugins require no build or dependency installation. Each directory below is an installable plugin; the repository root is the development project.
8
+
9
+
To include the optional Streamable HTTP checks, follow the [Core fixture's HTTP setup](plugins/agent-plugins-conformance-core/#optional-http-setup)**before the client loads the plugins**. This starts a bundled local server in a separate terminal; CI can launch the same command. Without the server, HTTP checks remain `not_verified` and the agent continues collecting the other checks.
10
+
11
+
Install and load these plugins through the client's Agent Plugins support:
8
12
9
13
| Plugin directory | Purpose |
10
14
| --- | --- |
11
15
|[`plugins/agent-plugins-conformance`](plugins/agent-plugins-conformance/)| The `run-conformance` skill and JSON reporting tools |
12
-
|[`plugins/agent-plugins-conformance-core`](plugins/agent-plugins-conformance-core/)| Fixtures for skill discovery and stdio MCP behavior |
16
+
|[`plugins/agent-plugins-conformance-core`](plugins/agent-plugins-conformance-core/)| Fixtures for skill discovery, stdio MCP behavior, and optional Streamable HTTP checks|
13
17
|[`plugins/agent-plugins-conformance-recovery`](plugins/agent-plugins-conformance-recovery/)| Fixtures for valid skill and MCP availability alongside invalid configuration |
14
18
|[`plugins/agent-plugins-conformance-invalid-mcp`](plugins/agent-plugins-conformance-invalid-mcp/)| A valid skill alongside a malformed MCP document |
15
19
16
-
Node.js 22 or newer must be available as `node` on the client's executable search path, and the agent must be able to execute commands. The packaged plugins require no build or dependency installation. Each directory above is an installable plugin; the repository root is the development project.
17
-
18
20
Then ask the agent:
19
21
20
22
> Run the run-conformance skill from Agent Plugins Conformance and save the JSON report to /tmp/agent-plugins-conformance/report.json.
Copy file name to clipboardExpand all lines: plugins/agent-plugins-conformance-core/README.md
+16-3Lines changed: 16 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,23 @@
1
1
# Agent Plugins Conformance — Core
2
2
3
-
A fixture plugin for testing skill discovery and stdio MCP behavior through a client's native [Agent Plugins](https://agent-plugins.org/) support.
3
+
A fixture plugin for collecting evidence about a client's native [Agent Plugins](https://agent-plugins.org/) support.
4
4
5
5
Install this fixture alongside [Agent Plugins Conformance](../agent-plugins-conformance/), whose `run-conformance` skill collects observations and saves the results. See that plugin's [run instructions](../agent-plugins-conformance/#run-through-a-client) and [report documentation](../agent-plugins-conformance/#read-the-results).
6
6
7
7
Node.js 22 or newer must be available as `node` on the client's executable search path. The committed MCP bundle includes the official MCP SDK and requires no dependency installation or build.
8
8
9
+
## Optional HTTP setup
10
+
11
+
To include the Streamable HTTP checks, start the bundled server in a separate terminal **before the client loads the plugin**:
Replace the path with a downloaded or installed copy of this plugin; the command needs no build or dependency installation. Wait for the `ready` message before loading the plugin. The server listens on `127.0.0.1:43187`. Leave it running during collection, then press Ctrl-C to stop it. CI can launch the same command before starting the client and terminate the process afterward.
18
+
19
+
The collection skill uses the HTTP tool when the client exposes it and records a collection error when a completed discovery or call attempt is unsuccessful. It does not start the server or ask you to start it. The reporter checks the local fixture's health when an HTTP collection error is recorded: confirmed health makes the availability check fail, while unavailable or inconclusive health leaves HTTP checks `not_verified`. Collection continues for the other fixture skills and MCP tools.
20
+
9
21
## Coverage
10
22
11
23
| Case IDs | What the check establishes |
@@ -22,5 +34,6 @@ Node.js 22 or newer must be available as `node` on the client's executable searc
22
34
|`mcp.stdio.env.configured-value`| The configured value reaches the subprocess. The fixture does not arrange a conflicting inherited value, so it does not establish override behavior. |
23
35
|`mcp.stdio.args.preservation-and-expansion`| Argument boundaries, including spaces and an empty argument, are preserved; recognized placeholders expand and unknown placeholder-like text stays literal. |
24
36
|`mcp.stdio.env.expansion`| Repeated recognized placeholders expand in environment values and unknown placeholder-like text stays literal. |
25
-
26
-
This plugin exercises valid stdio configurations; invalid configuration handling, failure isolation, and remote MCP transports are outside its coverage.
37
+
|`mcp.streamable-http.tool-availability`| The client exposes the HTTP tool and it returns a valid observation. A recorded discovery or call error fails this check only when the reporter can confirm that the local fixture is healthy. |
38
+
|`mcp.streamable-http.url.literal-route-and-query`| The tool request reaches `/conformance/mcp` with the single decoded query pair `value=$APC_HTTP_VALUE`, preserving the placeholder-like text literally. |
39
+
|`mcp.streamable-http.headers.literal-value`| The tool request includes `x-apc-fixture` with the literal value `${PLUGIN_ROOT}\|${PLUGIN_DATA}\|fixture value with spaces`. |
0 commit comments