@withpica/mcp-server 2.96.1 → 2.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +104 -0
- package/README.md +4 -4
- package/dist/lib/changelog.generated.d.ts +2 -2
- package/dist/lib/changelog.generated.d.ts.map +1 -1
- package/dist/lib/changelog.generated.js +2 -2
- package/dist/lib/changelog.generated.js.map +1 -1
- package/dist/prompts/creator-question-atlas.d.ts.map +1 -1
- package/dist/prompts/creator-question-atlas.js +11 -0
- package/dist/prompts/creator-question-atlas.js.map +1 -1
- package/dist/tools/arg-aliases.d.ts +59 -0
- package/dist/tools/arg-aliases.d.ts.map +1 -0
- package/dist/tools/arg-aliases.js +91 -0
- package/dist/tools/arg-aliases.js.map +1 -0
- package/dist/tools/assets.d.ts.map +1 -1
- package/dist/tools/assets.js +18 -0
- package/dist/tools/assets.js.map +1 -1
- package/dist/tools/audio-files.d.ts.map +1 -1
- package/dist/tools/audio-files.js +38 -7
- package/dist/tools/audio-files.js.map +1 -1
- package/dist/tools/dashboard.d.ts.map +1 -1
- package/dist/tools/dashboard.js +1 -0
- package/dist/tools/dashboard.js.map +1 -1
- package/dist/tools/deprecations.d.ts +21 -7
- package/dist/tools/deprecations.d.ts.map +1 -1
- package/dist/tools/deprecations.js +31 -17
- package/dist/tools/deprecations.js.map +1 -1
- package/dist/tools/discovery.d.ts +5 -0
- package/dist/tools/discovery.d.ts.map +1 -1
- package/dist/tools/discovery.js +208 -78
- package/dist/tools/discovery.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +15 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/metadata.d.ts.map +1 -1
- package/dist/tools/metadata.js +37 -10
- package/dist/tools/metadata.js.map +1 -1
- package/dist/tools/multimedia.d.ts.map +1 -1
- package/dist/tools/multimedia.js +33 -5
- package/dist/tools/multimedia.js.map +1 -1
- package/dist/tools/notes.d.ts.map +1 -1
- package/dist/tools/notes.js +24 -2
- package/dist/tools/notes.js.map +1 -1
- package/dist/tools/people.d.ts.map +1 -1
- package/dist/tools/people.js +1 -0
- package/dist/tools/people.js.map +1 -1
- package/dist/tools/public-filter.d.ts.map +1 -1
- package/dist/tools/public-filter.js +1 -1
- package/dist/tools/public-filter.js.map +1 -1
- package/dist/tools/recordings.d.ts +13 -0
- package/dist/tools/recordings.d.ts.map +1 -1
- package/dist/tools/recordings.js +96 -33
- package/dist/tools/recordings.js.map +1 -1
- package/dist/tools/recovery-hints.d.ts.map +1 -1
- package/dist/tools/recovery-hints.js +55 -4
- package/dist/tools/recovery-hints.js.map +1 -1
- package/dist/tools/sessions.d.ts.map +1 -1
- package/dist/tools/sessions.js +25 -3
- package/dist/tools/sessions.js.map +1 -1
- package/dist/tools/settings.d.ts.map +1 -1
- package/dist/tools/settings.js +3 -2
- package/dist/tools/settings.js.map +1 -1
- package/dist/tools/subscription.d.ts +99 -13
- package/dist/tools/subscription.d.ts.map +1 -1
- package/dist/tools/subscription.js +403 -8
- package/dist/tools/subscription.js.map +1 -1
- package/dist/tools/wrapped-args-envelope.d.ts +58 -0
- package/dist/tools/wrapped-args-envelope.d.ts.map +1 -0
- package/dist/tools/wrapped-args-envelope.js +66 -0
- package/dist/tools/wrapped-args-envelope.js.map +1 -0
- package/package.json +3 -3
- package/server.json +2 -2
- package/.claude/settings.local.json +0 -5
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,110 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
PR #2118 (`fix/avatar-import-path-2026-09-03`) is merged into the release branch, so its changes ship in the version below; publish in the order mcp-utils → mcp-sdk → mcp-server.
|
|
15
|
+
|
|
16
|
+
## [2.97.0] - 2026-09-04
|
|
17
|
+
|
|
18
|
+
⚠️ Publish order: `@withpica/mcp-sdk` 3.14.0 and `@withpica/mcp-utils` 1.29.0
|
|
19
|
+
must be on npm before this release — the dependency floors are now
|
|
20
|
+
`^3.14.0` / `^1.29.0` (this release imports `pageEnvelope`, which only
|
|
21
|
+
exists from mcp-utils 1.29.0; a clean install against 1.28.0 breaks at
|
|
22
|
+
runtime — the 2.96.2 uninstallable incident).
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- `pica_multimedia_import_url` accepts `person_id` (sets the person's profile image) and its summary names the outcome — `Imported from URL (via)`, profile-image set/NOT set, work link (PR #2118, merged into this release). Page URLs are followed to their `og:image`.
|
|
27
|
+
|
|
28
|
+
- **Per-tool argument aliasing for `pica_execute`** (`arg-aliases.ts`, D1
|
|
29
|
+
2026-09-03) — `applyArgAliases` renames a tool's OWN entity id (or an
|
|
30
|
+
explicit `TOOL_ARG_ALIASES` entry, e.g. `pica_skill_get`'s `skill` /
|
|
31
|
+
`skill_name`) to the schema's real required field name, structurally by
|
|
32
|
+
domain (`DOMAIN_ID_ALIASES`) — never a foreign entity's id, never
|
|
33
|
+
overwriting a value already present, and left untouched when more than
|
|
34
|
+
one candidate is present. Fixes the wrong diagnosis `pica_execute` gave in
|
|
35
|
+
all 36 logged cases since July, where an agent sent e.g. `audio_file_id`
|
|
36
|
+
to `pica_audio_update` and was told the client had dropped the field in
|
|
37
|
+
transit.
|
|
38
|
+
- **Shared `WRAPPED_ARGS_MISSING` envelope builder**
|
|
39
|
+
(`wrapped-args-envelope.ts`) — both guards that can reject a
|
|
40
|
+
`pica_execute` call before dispatch (the plain `required`-list guard, and
|
|
41
|
+
the `requiredOneOf` one-of-N guard covering `*_inspect` / `pica_search` /
|
|
42
|
+
bookings / licensing / shows / royalties tools) now build their message
|
|
43
|
+
and `structuredContent` through one function, naming
|
|
44
|
+
`unrecognised_fields` and `aliases_applied` in **both** the text block and
|
|
45
|
+
`structuredContent` instead of asserting "client-side transport loss" for
|
|
46
|
+
a non-empty args object. Empty args still name transport loss — there's
|
|
47
|
+
nothing else an empty resolved-args object could be.
|
|
48
|
+
- **`offset` on `pica_audio_query`, `pica_notes_query`, `pica_sessions_query`**
|
|
49
|
+
(Task 10), each returning a `page` envelope built with
|
|
50
|
+
`@withpica/mcp-utils`'s `pageEnvelope()`. Audio and sessions fall back to
|
|
51
|
+
"page was full" (no total available); notes uses the route's real
|
|
52
|
+
`COUNT` for an exact `has_more`. A new `query-offset-parity` registry
|
|
53
|
+
guard test pins which remaining `_query` tools still lack `offset` so
|
|
54
|
+
each can be fixed and measured in isolation.
|
|
55
|
+
|
|
56
|
+
### Changed
|
|
57
|
+
|
|
58
|
+
- **Duplicate-release recovery hints point at a fix, not a dead end.**
|
|
59
|
+
`RELEASE_ALREADY_EXISTS` on `pica_releases_create` /
|
|
60
|
+
`pica_releases_create_with_tracks` now names `pica_releases_update` /
|
|
61
|
+
`pica_releases_attach_track` (the message already carries the existing
|
|
62
|
+
release's id) instead of `pica_releases_query`; `pica_releases_attach_track`'s
|
|
63
|
+
own `RELEASE_ALREADY_EXISTS` (a different release already holds the UPC)
|
|
64
|
+
points at `pica_releases_inspect`.
|
|
65
|
+
- **Deprecated alias removal deferred to 2.98.0** — see `metadata.ts`.
|
|
66
|
+
|
|
67
|
+
## [2.96.2] - 2026-09-02
|
|
68
|
+
|
|
69
|
+
The MPP pay rail (spec 2026-08-24 WS-B): a new tool that mints a pay link,
|
|
70
|
+
and `pica_subscription_status` learns to say what pica costs and what it is
|
|
71
|
+
holding. Depends on `@withpica/mcp-sdk` 3.13.0 (`BillingResource`) — publish
|
|
72
|
+
order matters, see `docs/releases/2026-08-26-mcp-release.md`. (This entry
|
|
73
|
+
was authored as 2.96.0, which npm deprecated after 2.96.1 shipped from
|
|
74
|
+
develop without `pica_billing_pay`; the branch re-releases on top of 2.96.1
|
|
75
|
+
as 2.96.2, and also carries the stdio relay change below.)
|
|
76
|
+
|
|
77
|
+
### Added
|
|
78
|
+
|
|
79
|
+
- **`pica_billing_pay`** — new tool, `scope: read:catalog`, `tier: read`
|
|
80
|
+
(minting a link mints a capability, not a charge — nothing is billed until
|
|
81
|
+
the link is paid). Wraps `POST /api/admin/billing/pay-link` via
|
|
82
|
+
`PicaClient.billing.mintPayLink()`. Takes `offer` (`resident_month` | `unlock`
|
|
83
|
+
| `settle`, required) and `entity_id` (required for `unlock`). Route
|
|
84
|
+
refusals — billing disabled, nothing held on that work, offer no longer
|
|
85
|
+
applies — come back as structured `isError` results with a `next_tool`
|
|
86
|
+
pointer, not thrown errors. Added to the `subscription` tool category
|
|
87
|
+
(renamed description: "what does pica cost, how do I pay, and what is pica
|
|
88
|
+
holding — read your billing state and get a pay link"), the atlas
|
|
89
|
+
(`"how do i pay pica?"` and its synonyms), and `RECOVERY_HINTS`.
|
|
90
|
+
- **`pica_subscription_status` carries `pricing` and `held` when the route
|
|
91
|
+
measured them.** `SubscriptionStatusFlat` gains optional `pricing` and
|
|
92
|
+
`held` fields (omitted, not `null`, when absent — a `null` price would read
|
|
93
|
+
as "free"). The composed `summary` sentence appends one further clause
|
|
94
|
+
naming the free-runway/resident-included song counts and, when
|
|
95
|
+
`held.count > 0`, how many findings across how many works are held pending
|
|
96
|
+
payment.
|
|
97
|
+
- **`pica_dashboard_briefing`'s `found` block description gains a `billing`
|
|
98
|
+
clause**: when `billing.tab` is a string, state the tab total once and say
|
|
99
|
+
that settling it clears what pica is holding; when `billing.pay` names a
|
|
100
|
+
tool, offer to call it — mint a pay link, never charge unprompted.
|
|
101
|
+
|
|
102
|
+
### Changed
|
|
103
|
+
|
|
104
|
+
- **stdio relay forwards a narrowed result projection** — after a successful
|
|
105
|
+
tool call the audit entry now carries `result_projection` (built by
|
|
106
|
+
`narrowToolResultForRefs` from `@withpica/mcp-utils` ≥1.28.0), so the
|
|
107
|
+
relay ingest can attribute import wins: `pica_import_streaming_link` /
|
|
108
|
+
`pica_import_youtube_link` created-work ids live in the RESULT and their
|
|
109
|
+
params carry no id, which is why stdio imports recorded `entity_refs:
|
|
110
|
+
null` and were invisible to the weekly roundup's wins beat. Only
|
|
111
|
+
allow-listed uuid arrays travel; every other tool sends
|
|
112
|
+
`result_projection: null` — nothing else on the wire changes. (The same
|
|
113
|
+
entry field also rides `makeHttpAuditFn`'s POST to `/api/mcp/audit`,
|
|
114
|
+
which destructures a fixed field list and ignores it.)
|
|
115
|
+
⚠️ Publish order: `@withpica/mcp-utils` 1.28.0 must be on npm before this
|
|
116
|
+
release (2.96.2) — the dependency floor is `^1.28.0`.
|
|
117
|
+
|
|
14
118
|
## [2.96.1] - 2026-08-31
|
|
15
119
|
|
|
16
120
|
First npm release since 2.95.4 — carries everything below (the discover
|
package/README.md
CHANGED
|
@@ -65,7 +65,7 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
|
|
|
65
65
|
|
|
66
66
|
## Tools
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
330 tools, grouped below by the taxonomy `pica_discover` uses. The server's own `tools/list` is authoritative — not every registered tool is filed under a category yet, so the names below are a map, not a census.
|
|
69
69
|
|
|
70
70
|
**works** — manage your musical works
|
|
71
71
|
|
|
@@ -191,9 +191,9 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
|
|
|
191
191
|
|
|
192
192
|
`pica_storage_status`, `pica_storage_configure_start`, `pica_storage_disconnect`, `pica_delete_my_account`
|
|
193
193
|
|
|
194
|
-
**subscription** —
|
|
194
|
+
**subscription** — what does pica cost, how do I pay, and what is pica holding — read your billing state and get a pay link
|
|
195
195
|
|
|
196
|
-
`pica_subscription_status`, `pica_subscription_manage`
|
|
196
|
+
`pica_subscription_status`, `pica_billing_pay`, `pica_subscription_manage`
|
|
197
197
|
|
|
198
198
|
**profile** — manage your user, organisation, and directory profile
|
|
199
199
|
|
|
@@ -285,4 +285,4 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
|
|
|
285
285
|
|
|
286
286
|
---
|
|
287
287
|
|
|
288
|
-
Generated for `@withpica/mcp-server@2.
|
|
288
|
+
Generated for `@withpica/mcp-server@2.97.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.
|