@withpica/mcp-server 2.1.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/README.md +305 -0
- package/dist/config.d.ts +34 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +33 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/pica-sdk.d.ts +1162 -0
- package/dist/pica-sdk.d.ts.map +1 -0
- package/dist/pica-sdk.js +1371 -0
- package/dist/pica-sdk.js.map +1 -0
- package/dist/prompts/index.d.ts +78 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +513 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/resources/index.d.ts +64 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +310 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/llms-primer.d.ts +2 -0
- package/dist/resources/llms-primer.d.ts.map +1 -0
- package/dist/resources/llms-primer.js +67 -0
- package/dist/resources/llms-primer.js.map +1 -0
- package/dist/server.d.ts +27 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +140 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/agreement-types.d.ts +37 -0
- package/dist/tools/agreement-types.d.ts.map +1 -0
- package/dist/tools/agreement-types.js +579 -0
- package/dist/tools/agreement-types.js.map +1 -0
- package/dist/tools/agreements.d.ts +21 -0
- package/dist/tools/agreements.d.ts.map +1 -0
- package/dist/tools/agreements.js +328 -0
- package/dist/tools/agreements.js.map +1 -0
- package/dist/tools/analytics.d.ts +20 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +126 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/assets.d.ts +23 -0
- package/dist/tools/assets.d.ts.map +1 -0
- package/dist/tools/assets.js +220 -0
- package/dist/tools/assets.js.map +1 -0
- package/dist/tools/audio-files.d.ts +21 -0
- package/dist/tools/audio-files.d.ts.map +1 -0
- package/dist/tools/audio-files.js +358 -0
- package/dist/tools/audio-files.js.map +1 -0
- package/dist/tools/bulk.d.ts +16 -0
- package/dist/tools/bulk.d.ts.map +1 -0
- package/dist/tools/bulk.js +82 -0
- package/dist/tools/bulk.js.map +1 -0
- package/dist/tools/calendar.d.ts +15 -0
- package/dist/tools/calendar.d.ts.map +1 -0
- package/dist/tools/calendar.js +69 -0
- package/dist/tools/calendar.js.map +1 -0
- package/dist/tools/collaborators.d.ts +17 -0
- package/dist/tools/collaborators.d.ts.map +1 -0
- package/dist/tools/collaborators.js +133 -0
- package/dist/tools/collaborators.js.map +1 -0
- package/dist/tools/comparisons.d.ts +22 -0
- package/dist/tools/comparisons.d.ts.map +1 -0
- package/dist/tools/comparisons.js +86 -0
- package/dist/tools/comparisons.js.map +1 -0
- package/dist/tools/credits.d.ts +17 -0
- package/dist/tools/credits.d.ts.map +1 -0
- package/dist/tools/credits.js +136 -0
- package/dist/tools/credits.js.map +1 -0
- package/dist/tools/dashboard.d.ts +20 -0
- package/dist/tools/dashboard.d.ts.map +1 -0
- package/dist/tools/dashboard.js +156 -0
- package/dist/tools/dashboard.js.map +1 -0
- package/dist/tools/directory.d.ts +15 -0
- package/dist/tools/directory.d.ts.map +1 -0
- package/dist/tools/directory.js +108 -0
- package/dist/tools/directory.js.map +1 -0
- package/dist/tools/disputes.d.ts +18 -0
- package/dist/tools/disputes.d.ts.map +1 -0
- package/dist/tools/disputes.js +66 -0
- package/dist/tools/disputes.js.map +1 -0
- package/dist/tools/documents.d.ts +15 -0
- package/dist/tools/documents.d.ts.map +1 -0
- package/dist/tools/documents.js +38 -0
- package/dist/tools/documents.js.map +1 -0
- package/dist/tools/duplicates.d.ts +16 -0
- package/dist/tools/duplicates.d.ts.map +1 -0
- package/dist/tools/duplicates.js +72 -0
- package/dist/tools/duplicates.js.map +1 -0
- package/dist/tools/enrichment.d.ts +23 -0
- package/dist/tools/enrichment.d.ts.map +1 -0
- package/dist/tools/enrichment.js +207 -0
- package/dist/tools/enrichment.js.map +1 -0
- package/dist/tools/exports.d.ts +19 -0
- package/dist/tools/exports.d.ts.map +1 -0
- package/dist/tools/exports.js +155 -0
- package/dist/tools/exports.js.map +1 -0
- package/dist/tools/health.d.ts +17 -0
- package/dist/tools/health.d.ts.map +1 -0
- package/dist/tools/health.js +69 -0
- package/dist/tools/health.js.map +1 -0
- package/dist/tools/import-documents.d.ts +21 -0
- package/dist/tools/import-documents.d.ts.map +1 -0
- package/dist/tools/import-documents.js +191 -0
- package/dist/tools/import-documents.js.map +1 -0
- package/dist/tools/import.d.ts +29 -0
- package/dist/tools/import.d.ts.map +1 -0
- package/dist/tools/import.js +404 -0
- package/dist/tools/import.js.map +1 -0
- package/dist/tools/index.d.ts +48 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +394 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/integrations.d.ts +15 -0
- package/dist/tools/integrations.d.ts.map +1 -0
- package/dist/tools/integrations.js +102 -0
- package/dist/tools/integrations.js.map +1 -0
- package/dist/tools/licensing.d.ts +40 -0
- package/dist/tools/licensing.d.ts.map +1 -0
- package/dist/tools/licensing.js +436 -0
- package/dist/tools/licensing.js.map +1 -0
- package/dist/tools/memory.d.ts +21 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +121 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/tools/multimedia.d.ts +19 -0
- package/dist/tools/multimedia.d.ts.map +1 -0
- package/dist/tools/multimedia.js +293 -0
- package/dist/tools/multimedia.js.map +1 -0
- package/dist/tools/notes.d.ts +21 -0
- package/dist/tools/notes.d.ts.map +1 -0
- package/dist/tools/notes.js +126 -0
- package/dist/tools/notes.js.map +1 -0
- package/dist/tools/notifications.d.ts +17 -0
- package/dist/tools/notifications.d.ts.map +1 -0
- package/dist/tools/notifications.js +117 -0
- package/dist/tools/notifications.js.map +1 -0
- package/dist/tools/people.d.ts +53 -0
- package/dist/tools/people.d.ts.map +1 -0
- package/dist/tools/people.js +534 -0
- package/dist/tools/people.js.map +1 -0
- package/dist/tools/pica-score.d.ts +15 -0
- package/dist/tools/pica-score.d.ts.map +1 -0
- package/dist/tools/pica-score.js +30 -0
- package/dist/tools/pica-score.js.map +1 -0
- package/dist/tools/projects.d.ts +19 -0
- package/dist/tools/projects.d.ts.map +1 -0
- package/dist/tools/projects.js +142 -0
- package/dist/tools/projects.js.map +1 -0
- package/dist/tools/purchases.d.ts +15 -0
- package/dist/tools/purchases.d.ts.map +1 -0
- package/dist/tools/purchases.js +65 -0
- package/dist/tools/purchases.js.map +1 -0
- package/dist/tools/recordings.d.ts +41 -0
- package/dist/tools/recordings.d.ts.map +1 -0
- package/dist/tools/recordings.js +293 -0
- package/dist/tools/recordings.js.map +1 -0
- package/dist/tools/registration.d.ts +16 -0
- package/dist/tools/registration.d.ts.map +1 -0
- package/dist/tools/registration.js +52 -0
- package/dist/tools/registration.js.map +1 -0
- package/dist/tools/releases.d.ts +18 -0
- package/dist/tools/releases.d.ts.map +1 -0
- package/dist/tools/releases.js +138 -0
- package/dist/tools/releases.js.map +1 -0
- package/dist/tools/royalties.d.ts +23 -0
- package/dist/tools/royalties.d.ts.map +1 -0
- package/dist/tools/royalties.js +263 -0
- package/dist/tools/royalties.js.map +1 -0
- package/dist/tools/search.d.ts +30 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +117 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/send.d.ts +18 -0
- package/dist/tools/send.d.ts.map +1 -0
- package/dist/tools/send.js +189 -0
- package/dist/tools/send.js.map +1 -0
- package/dist/tools/sessions.d.ts +18 -0
- package/dist/tools/sessions.d.ts.map +1 -0
- package/dist/tools/sessions.js +107 -0
- package/dist/tools/sessions.js.map +1 -0
- package/dist/tools/settings.d.ts +18 -0
- package/dist/tools/settings.d.ts.map +1 -0
- package/dist/tools/settings.js +98 -0
- package/dist/tools/settings.js.map +1 -0
- package/dist/tools/share-links.d.ts +19 -0
- package/dist/tools/share-links.d.ts.map +1 -0
- package/dist/tools/share-links.js +126 -0
- package/dist/tools/share-links.js.map +1 -0
- package/dist/tools/split-sheets.d.ts +24 -0
- package/dist/tools/split-sheets.d.ts.map +1 -0
- package/dist/tools/split-sheets.js +189 -0
- package/dist/tools/split-sheets.js.map +1 -0
- package/dist/tools/team.d.ts +22 -0
- package/dist/tools/team.d.ts.map +1 -0
- package/dist/tools/team.js +139 -0
- package/dist/tools/team.js.map +1 -0
- package/dist/tools/telegram.d.ts +20 -0
- package/dist/tools/telegram.d.ts.map +1 -0
- package/dist/tools/telegram.js +94 -0
- package/dist/tools/telegram.js.map +1 -0
- package/dist/tools/uploads.d.ts +17 -0
- package/dist/tools/uploads.d.ts.map +1 -0
- package/dist/tools/uploads.js +159 -0
- package/dist/tools/uploads.js.map +1 -0
- package/dist/tools/works.d.ts +53 -0
- package/dist/tools/works.d.ts.map +1 -0
- package/dist/tools/works.js +517 -0
- package/dist/tools/works.js.map +1 -0
- package/dist/utils/credit-gate.d.ts +17 -0
- package/dist/utils/credit-gate.d.ts.map +1 -0
- package/dist/utils/credit-gate.js +111 -0
- package/dist/utils/credit-gate.js.map +1 -0
- package/dist/utils/errors.d.ts +29 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +114 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/formatting.d.ts +63 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/formatting.js +130 -0
- package/dist/utils/formatting.js.map +1 -0
- package/dist/utils/mpp.d.ts +78 -0
- package/dist/utils/mpp.d.ts.map +1 -0
- package/dist/utils/mpp.js +136 -0
- package/dist/utils/mpp.js.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upload Tools - MCP tools for uploading any file type (images, videos, documents)
|
|
3
|
+
* Uses the generic storage presigned upload route that supports all PICA storage providers.
|
|
4
|
+
*/
|
|
5
|
+
import { formatSuccess } from "../utils/formatting.js";
|
|
6
|
+
export class UploadTools {
|
|
7
|
+
pica;
|
|
8
|
+
constructor(pica) {
|
|
9
|
+
this.pica = pica;
|
|
10
|
+
}
|
|
11
|
+
getTools() {
|
|
12
|
+
return [
|
|
13
|
+
{
|
|
14
|
+
definition: {
|
|
15
|
+
name: "pica_upload_file",
|
|
16
|
+
description: "Generate a signed URL for uploading ANY file type — images, videos, documents, or audio. " +
|
|
17
|
+
"The storage category is auto-detected from the MIME type. After uploading the file via HTTP PUT " +
|
|
18
|
+
"to the returned URL, call pica_upload_complete to finalize. " +
|
|
19
|
+
"Supported: images (JPEG, PNG, GIF, WebP, HEIC, AVIF, TIFF), " +
|
|
20
|
+
"videos (MP4, QuickTime, WebM, MKV), " +
|
|
21
|
+
"documents (PDF, Word, Excel), " +
|
|
22
|
+
"audio (WAV, MP3, FLAC, AIFF, OGG, WebM). " +
|
|
23
|
+
"For audio files that need BPM/key analysis, use pica_audio_presigned_upload instead.",
|
|
24
|
+
inputSchema: {
|
|
25
|
+
type: "object",
|
|
26
|
+
properties: {
|
|
27
|
+
filename: {
|
|
28
|
+
type: "string",
|
|
29
|
+
description: "Original filename with extension (e.g. 'promo-photo.jpg', 'contract.pdf')",
|
|
30
|
+
},
|
|
31
|
+
content_type: {
|
|
32
|
+
type: "string",
|
|
33
|
+
description: "MIME type of the file (e.g. 'image/jpeg', 'video/mp4', 'application/pdf')",
|
|
34
|
+
},
|
|
35
|
+
file_size: {
|
|
36
|
+
type: "number",
|
|
37
|
+
description: "File size in bytes",
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
required: ["filename", "content_type", "file_size"],
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
executor: this.presignedUpload.bind(this),
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
definition: {
|
|
47
|
+
name: "pica_upload_complete",
|
|
48
|
+
description: "Finalize a file upload after the file has been PUT to the signed URL from pica_upload_file. " +
|
|
49
|
+
"Creates the appropriate database record (multimedia item for images/video, document for PDFs, " +
|
|
50
|
+
"audio file for audio). Use the uploadId, key, bucket, and storageCategory from pica_upload_file.",
|
|
51
|
+
inputSchema: {
|
|
52
|
+
type: "object",
|
|
53
|
+
properties: {
|
|
54
|
+
upload_id: {
|
|
55
|
+
type: "string",
|
|
56
|
+
description: "The uploadId returned from pica_upload_file",
|
|
57
|
+
},
|
|
58
|
+
key: {
|
|
59
|
+
type: "string",
|
|
60
|
+
description: "The storage key returned from pica_upload_file",
|
|
61
|
+
},
|
|
62
|
+
bucket: {
|
|
63
|
+
type: "string",
|
|
64
|
+
description: "The bucket returned from pica_upload_file",
|
|
65
|
+
},
|
|
66
|
+
storage_category: {
|
|
67
|
+
type: "string",
|
|
68
|
+
description: "The storageCategory returned from pica_upload_file",
|
|
69
|
+
enum: ["audio", "media", "documents"],
|
|
70
|
+
},
|
|
71
|
+
filename: {
|
|
72
|
+
type: "string",
|
|
73
|
+
description: "Original filename",
|
|
74
|
+
},
|
|
75
|
+
content_type: {
|
|
76
|
+
type: "string",
|
|
77
|
+
description: "MIME type of the uploaded file",
|
|
78
|
+
},
|
|
79
|
+
file_size: {
|
|
80
|
+
type: "number",
|
|
81
|
+
description: "File size in bytes",
|
|
82
|
+
},
|
|
83
|
+
title: {
|
|
84
|
+
type: "string",
|
|
85
|
+
description: "Optional title. Defaults to filename without extension.",
|
|
86
|
+
},
|
|
87
|
+
work_id: {
|
|
88
|
+
type: "string",
|
|
89
|
+
description: "Optional work ID to link the file to (audio only). For images/videos, use pica_multimedia_link_work after upload.",
|
|
90
|
+
},
|
|
91
|
+
classification: {
|
|
92
|
+
type: "string",
|
|
93
|
+
description: "For media: classification type (e.g. 'press_photo', 'album_artwork', 'music_video'). " +
|
|
94
|
+
"For documents: category (e.g. 'agreement', 'statement', 'other').",
|
|
95
|
+
},
|
|
96
|
+
linked_to_type: {
|
|
97
|
+
type: "string",
|
|
98
|
+
description: "For documents: entity type to link to (e.g. 'work', 'person', 'agreement')",
|
|
99
|
+
},
|
|
100
|
+
linked_to_id: {
|
|
101
|
+
type: "string",
|
|
102
|
+
description: "For documents: entity ID to link to",
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
required: [
|
|
106
|
+
"upload_id",
|
|
107
|
+
"key",
|
|
108
|
+
"bucket",
|
|
109
|
+
"storage_category",
|
|
110
|
+
"filename",
|
|
111
|
+
"content_type",
|
|
112
|
+
"file_size",
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
executor: this.completeUpload.bind(this),
|
|
117
|
+
},
|
|
118
|
+
];
|
|
119
|
+
}
|
|
120
|
+
async presignedUpload(args) {
|
|
121
|
+
const result = await this.pica.storage.presignedUpload({
|
|
122
|
+
filename: args.filename,
|
|
123
|
+
contentType: args.content_type,
|
|
124
|
+
fileSize: args.file_size,
|
|
125
|
+
});
|
|
126
|
+
return formatSuccess(`Upload URL generated for "${args.filename}" (category: ${result.storageCategory}). ` +
|
|
127
|
+
`PUT the file to the uploadUrl, then call pica_upload_complete with uploadId, key, bucket, ` +
|
|
128
|
+
`storageCategory, and metadata to finalize.`, {
|
|
129
|
+
uploadUrl: result.uploadUrl,
|
|
130
|
+
uploadId: result.uploadId,
|
|
131
|
+
key: result.key,
|
|
132
|
+
bucket: result.bucket,
|
|
133
|
+
storageCategory: result.storageCategory,
|
|
134
|
+
expiresAt: result.expiresAt,
|
|
135
|
+
metadata: result.metadata,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
async completeUpload(args) {
|
|
139
|
+
const result = await this.pica.storage.completeUpload({
|
|
140
|
+
uploadId: args.upload_id,
|
|
141
|
+
key: args.key,
|
|
142
|
+
bucket: args.bucket,
|
|
143
|
+
metadata: {
|
|
144
|
+
filename: args.filename,
|
|
145
|
+
contentType: args.content_type,
|
|
146
|
+
fileSize: args.file_size,
|
|
147
|
+
storageCategory: args.storage_category,
|
|
148
|
+
title: args.title,
|
|
149
|
+
workId: args.work_id,
|
|
150
|
+
classification: args.classification,
|
|
151
|
+
documentCategory: args.classification,
|
|
152
|
+
linkedToType: args.linked_to_type,
|
|
153
|
+
linkedToId: args.linked_to_id,
|
|
154
|
+
},
|
|
155
|
+
});
|
|
156
|
+
return formatSuccess(`Upload finalized. Created ${result.recordType} record with ID: ${result.recordId}.`, result);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=uploads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../src/tools/uploads.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Works Tools - MCP tools for managing musical works
|
|
3
|
+
*/
|
|
4
|
+
import { PicaClient } from "../pica-sdk.js";
|
|
5
|
+
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
6
|
+
export declare class WorksTools {
|
|
7
|
+
private pica;
|
|
8
|
+
constructor(pica: PicaClient);
|
|
9
|
+
/**
|
|
10
|
+
* Get all works tools
|
|
11
|
+
*/
|
|
12
|
+
getTools(): Array<{
|
|
13
|
+
definition: ToolDefinition;
|
|
14
|
+
executor: ToolExecutor;
|
|
15
|
+
}>;
|
|
16
|
+
/**
|
|
17
|
+
* List works (server-side search and pagination)
|
|
18
|
+
*/
|
|
19
|
+
private listWorks;
|
|
20
|
+
/**
|
|
21
|
+
* Get work by ID
|
|
22
|
+
*/
|
|
23
|
+
private getWork;
|
|
24
|
+
/**
|
|
25
|
+
* Create work
|
|
26
|
+
*/
|
|
27
|
+
private createWork;
|
|
28
|
+
/**
|
|
29
|
+
* Update work
|
|
30
|
+
*/
|
|
31
|
+
private updateWork;
|
|
32
|
+
/**
|
|
33
|
+
* Delete work
|
|
34
|
+
*/
|
|
35
|
+
private deleteWork;
|
|
36
|
+
/**
|
|
37
|
+
* Verify work
|
|
38
|
+
*/
|
|
39
|
+
private verifyWork;
|
|
40
|
+
/**
|
|
41
|
+
* Search works (server-side)
|
|
42
|
+
*/
|
|
43
|
+
private searchWorks;
|
|
44
|
+
/**
|
|
45
|
+
* Bulk delete works
|
|
46
|
+
*/
|
|
47
|
+
private bulkDeleteWorks;
|
|
48
|
+
/**
|
|
49
|
+
* Get full work context bundle
|
|
50
|
+
*/
|
|
51
|
+
private getWorkFull;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=works.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"works.d.ts","sourceRoot":"","sources":["../../src/tools/works.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAStE,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B;;OAEG;IACH,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;IA0YzE;;OAEG;YACW,SAAS;IAqBvB;;OAEG;YACW,OAAO;IAYrB;;OAEG;YACW,UAAU;IA8BxB;;OAEG;YACW,UAAU;IAMxB;;OAEG;YACW,UAAU;IAKxB;;OAEG;YACW,UAAU;IAKxB;;OAEG;YACW,WAAW;IAezB;;OAEG;YACW,eAAe;IAO7B;;OAEG;YACW,WAAW;CAsB1B"}
|