Releases: CodesWhat/portkey-admin-mcp
Release v0.3.8
Marketplace validation release for LobeHub and other MCP catalogs. No Portkey Admin API surface changes.
Added
- Register a built-in
plan_portkey_admin_workflowMCP prompt so clients and catalogs can discover an invokable prompt; the prompt validates argument lengths, embeds the workflow guide as an MCP resource, and reminds clients to treat user task text as lower-priority context. - Register a static
portkey-admin://docs/workflow-guideMCP resource with safe usage guidance and assistant-priority annotations for discovery-first Portkey Admin workflows. - Add MCP e2e coverage for prompt/resource capabilities, listing, prompt rendering, resource reading, and no-key catalog inspection.
Changed
- Allow the shared MCP service factory to initialize without
PORTKEY_API_KEYso marketplaces can inspect server capabilities before users provide secrets. DirectPortkeyServiceconstruction and actual Admin API calls still require real credentials. - GitHub Releases now use the matching
CHANGELOG.mdversion section as the release body (with the auto-generated PR list appended), instead of auto-generated notes alone.
Fixed
- Use LobeHub's lowercase
codeswhat-portkey-admin-mcpbadge slug so owner-claim scans match the marketplace page exactly.
What's Changed
Full Changelog: v0.3.7...v0.3.8
Release v0.3.7
Security hardening, pagination params, compact tool responses, and a major test-coverage expansion from a four-domain code review — plus this is the first release cut entirely by automation and published to npm via OIDC trusted publishing with SLSA provenance attestation. Tool-param additions are additive; no breaking API surface changes.
Security
- Sanitize the caller-supplied
MCP-Protocol-Versionheader before echoing it in HTTP error responses — truncated to 64 chars and restricted to[A-Za-z0-9._-], closing an unvalidated-input reflection path. - Remove Redis configuration details from the unauthenticated
/auth/inforesponse to reduce infrastructure fingerprinting. - Send
Strict-Transport-Securityonly when TLS is enabled, instead of emitting HSTS on plain-HTTP responses. - Emit a startup warning when
ALLOWED_ORIGINS=*is combined withMCP_AUTH_MODE=none. - Hash service-cache map keys with SHA-256 so plaintext API keys are never used as in-process cache identifiers.
- Route health checks through
BaseServiceso they receive the same SSRF URL validation and structured error parsing as every other upstream call. create_api_keydescription now warns that the key secret is returned exactly once and will appear in MCP transcripts and LLM context.
Added
- Pagination params on six list tools —
list_virtual_keys,list_configs,list_all_users,list_user_invites,list_mcp_server_capabilities, andlist_mcp_server_user_accessnow accept optionalcurrent_page/page_sizeinputs; the two MCP-server lists also surfacehas_more. - Cross-field validation for
create_api_key— the workspace key type now requiresworkspace_idat the Zod schema layer. - 140 new tests (suite: 114 → 269) covering 13 previously untested tool modules, Clerk JWT auth mode,
DELETE /mcpand SSEGET /mcpsession endpoints, abort/timeout and upstream-error propagation paths, and contract schemas with live-recorded fixtures for workspaces and users.
Changed
- Compact JSON tool responses (~157 call sites) — tool responses no longer pretty-print, reducing response token usage on every tool call.
- Lazy Redis import — the
redisclient loads only when the Redis event store is actually constructed. create_integration/update_integrationpreserve empty strings instead of silently dropping them.migrate_prompt/promote_promptinternal lookups request a small page instead of a full listing.PORTKEY_BASE_URLvalidated once per service container, failing fast with a single clear error.- HTTP transport repositioned as proof of concept — there is no hosted version; stdio via
npxis the supported transport.
Release automation (new in this cycle)
Merging a version bump to main now cuts the whole release: auto-tag → full CI against the tag → npm publish via OIDC trusted publishing (no stored tokens, provenance attested) → GitHub Release → MCP Registry. See docs/RELEASE.md.
What's Changed
Full Changelog: v0.3.6...v0.3.7
Release v0.3.5
What's Changed
- 🚀 release: v0.3.5 — handle rename → scttbnsn (URLs/badges + MCP namespace migration) by @scttbnsn in #12
Full Changelog: v0.3.4...v0.3.5
Release v0.3.4
Full Changelog: v0.3.3...v0.3.4
Release v0.3.3
What's Changed
- [codex] add GitHub release automation by @s-b-e-n-s-o-n in #10
New Contributors
- @s-b-e-n-s-o-n made their first contribution in #10
Full Changelog: v0.3.2...v0.3.3
Release v0.3.2
Full Changelog: v0.3.1...v0.3.2