UNPKG

@withpica/mcp-server

Version:

MCP Server for withPICA — enables AI assistants to interact with your withPICA music catalog

42 lines • 1.95 kB
/** * Recording Custody MCP Tools — ADR-262 * * Two tools exposing the master-side chain of custody for recordings (the * CONTROL chain). Thin wrappers around this.pica.recordingCustody.* which * calls the HTTP routes under /api/admin/recording-custody/. * * Tools: * pica_recording_custody_assign — transfer custody of a recording (write) * pica_recording_provenance — read the custody legs + origin credits (read) * * RBAC + org-scoping (enforced at the HTTP route layer, see * app/api/admin/recording-custody/*): * assign → admin/owner only; route verifies the recording belongs to * the caller's org before touching recording_custodians * provenance → any authenticated org member; same org-ownership check * * Transfer types (ADR-268 WS5 completed the ownership layer): * delivery | license | admin_grant — control/possession; ownership unchanged. * assignment | full_transfer — OWNERSHIP moves: the transferor's active * master ownership era closes and the transferee's opens (recording_splits, * append-only, same transaction). Partial transfers that cannot determine * whose share moves, or that exceed the transferor's share, are refused * (honest-gap rule — never silently lossy). Credits never move. A transfer * to the party who already holds every active owner row moves nothing * (migration 20260926143000, ops issue ef63bd25) — only the leg is written. * * Pricing: FREE. ADR-162 deprecates credit gating as a user-facing concept. */ import { PicaClient } from "@withpica/mcp-sdk"; import type { ToolDefinition, ToolExecutor } from "./index.js"; export declare class RecordingCustodyTools { private pica; constructor(pica: PicaClient); getTools(): Array<{ definition: ToolDefinition; executor: ToolExecutor; }>; private assign; private provenance; } //# sourceMappingURL=recording-custody.d.ts.map