Skip to content

Commit 929abb8

Browse files
Recommend marketplace install; sync .mcp.json version
- README: make /plugin install postman@claude-plugins-official the primary install method; move GitHub and local-clone installs to collapsible alternatives - .mcp.json: bump X-Plugin-Version and User-Agent to match plugin.json (were 1.2.0) - release.yml: fail the release if .mcp.json version headers drift from plugin.json - CLAUDE.md: document updating .mcp.json headers alongside plugin.json on release - Bump plugin.json to 1.3.1 and add CHANGELOG entry Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 7610b9c commit 929abb8

6 files changed

Lines changed: 50 additions & 6 deletions

File tree

.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "postman",
3-
"version": "1.3.0",
3+
"version": "1.3.1",
44
"description": "Full API lifecycle management for Claude Code. Sync collections, generate client code, discover APIs, run tests, create mocks, publish docs, and audit security. Powered by the Postman MCP Server.",
55
"author": {
66
"name": "Postman",

.github/workflows/release.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,19 @@ jobs:
2626
exit 1
2727
fi
2828
29+
- name: Verify .mcp.json version matches plugin.json version
30+
run: |
31+
PLUGIN_VERSION=$(python -c "import json; print(json.load(open('.claude-plugin/plugin.json'))['version'])")
32+
MCP_PLUGIN_VERSION=$(python -c "import json; print(json.load(open('.mcp.json'))['mcpServers']['postman']['headers']['X-Plugin-Version'])")
33+
MCP_USER_AGENT=$(python -c "import json; print(json.load(open('.mcp.json'))['mcpServers']['postman']['headers']['User-Agent'])")
34+
echo "plugin.json: $PLUGIN_VERSION"
35+
echo ".mcp.json X-Plugin-Version: $MCP_PLUGIN_VERSION"
36+
echo ".mcp.json User-Agent: $MCP_USER_AGENT"
37+
if [ "$MCP_PLUGIN_VERSION" != "$PLUGIN_VERSION" ] || [ "$MCP_USER_AGENT" != "postman-claude-code-plugin/$PLUGIN_VERSION" ]; then
38+
echo "::error::.mcp.json version headers do not match plugin.json version $PLUGIN_VERSION. Update X-Plugin-Version and User-Agent in .mcp.json before tagging."
39+
exit 1
40+
fi
41+
2942
- name: Extract release notes from CHANGELOG
3043
id: notes
3144
run: |

.mcp.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
"url": "https://mcp.postman.com/${POSTMAN_MCP_MODE:-mcp}",
66
"headers": {
77
"X-Source": "claude-code-plugin",
8-
"X-Plugin-Version": "1.2.0",
9-
"User-Agent": "postman-claude-code-plugin/1.2.0"
8+
"X-Plugin-Version": "1.3.1",
9+
"User-Agent": "postman-claude-code-plugin/1.3.1"
1010
}
1111
}
1212
}

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,20 @@ is cut by tagging the matching `vX.Y.Z` (see [Releasing](#releasing)).
1010

1111
## [Unreleased]
1212

13+
## [1.3.1] - 2026-08-02
14+
15+
### Changed
16+
17+
- README now recommends installing from Anthropic's official plugin marketplace
18+
(`/plugin install postman@claude-plugins-official`), with GitHub and local-clone
19+
installs moved to collapsible alternatives.
20+
21+
### Fixed
22+
23+
- Bumped the `X-Plugin-Version` and `User-Agent` headers in `.mcp.json` to match
24+
`plugin.json` (they had drifted to `1.2.0`). The release workflow now fails if
25+
these versions ever fall out of sync again.
26+
1327
## [1.3.0] - 2026-07-20
1428

1529
### Added

CLAUDE.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,5 +78,6 @@ CLI commands work with Postman's git sync structure: `postman/collections/` (v3
7878

7979
- The plugin follows [Semantic Versioning](https://semver.org). `version` in `.claude-plugin/plugin.json` is the single source of truth
8080
- Every user-facing change bumps the version and adds an entry under `## [Unreleased]` in `CHANGELOG.md` (added a command/skill → minor; fix/tweak → patch; breaking change → major)
81-
- To release: bump `plugin.json`, move `[Unreleased]` notes into a dated `## [X.Y.Z]` section, merge to `main`, then `git tag vX.Y.Z && git push origin vX.Y.Z`
82-
- The `Release` GitHub Actions workflow (`.github/workflows/release.yml`) triggers on `v*` tags: it fails if the tag doesn't match `plugin.json`, extracts the matching CHANGELOG section, and publishes a GitHub Release with those notes
81+
- When bumping `plugin.json`, also update the `X-Plugin-Version` and `User-Agent` headers in `.mcp.json` to the same version — these are sent to the Postman MCP Server for telemetry and must stay in sync
82+
- To release: bump `plugin.json` and the matching `.mcp.json` version headers, move `[Unreleased]` notes into a dated `## [X.Y.Z]` section, merge to `main`, then `git tag vX.Y.Z && git push origin vX.Y.Z`
83+
- The `Release` GitHub Actions workflow (`.github/workflows/release.yml`) triggers on `v*` tags: it fails if the tag doesn't match `plugin.json` or if `.mcp.json`'s version headers don't match `plugin.json`, extracts the matching CHANGELOG section, and publishes a GitHub Release with those notes

README.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,27 @@ The Postman Plugin provides a single, simple install for Claude Code. It provide
1313

1414
## Installation
1515

16-
Install directly from GitHub:
16+
Install from Anthropic's official plugin marketplace.
17+
18+
In Claude Code:
19+
20+
```
21+
/plugin install postman@claude-plugins-official
22+
```
23+
24+
Or from the terminal:
25+
26+
```bash
27+
claude plugin install postman@claude-plugins-official
28+
```
29+
30+
<details>
31+
<summary>Alternative: install from GitHub</summary>
1732

1833
```bash
1934
claude plugin install github:Postman-Devrel/postman-claude-code-plugin
2035
```
36+
</details>
2137

2238
<details>
2339
<summary>Alternative: load from a local clone</summary>

0 commit comments

Comments
 (0)