@withpica/mcp-server 2.72.0 → 2.74.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 +156 -0
- package/dist/index.js +0 -0
- 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/resources/agent-guide.d.ts +1 -1
- package/dist/resources/agent-guide.d.ts.map +1 -1
- package/dist/resources/agent-guide.js +1 -3
- package/dist/resources/agent-guide.js.map +1 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js.map +1 -1
- package/dist/resources/required-schemas.generated.d.ts +7 -3
- package/dist/resources/required-schemas.generated.d.ts.map +1 -1
- package/dist/resources/required-schemas.generated.js +12 -2
- package/dist/resources/required-schemas.generated.js.map +1 -1
- package/dist/resources/required-schemas.source.d.ts.map +1 -1
- package/dist/resources/required-schemas.source.js +7 -1
- package/dist/resources/required-schemas.source.js.map +1 -1
- package/dist/server-instructions.d.ts +2 -2
- package/dist/server-instructions.d.ts.map +1 -1
- package/dist/server-instructions.js +1 -1
- package/dist/skills/skills.generated.d.ts.map +1 -1
- package/dist/skills/skills.generated.js +13 -4
- package/dist/skills/skills.generated.js.map +1 -1
- package/dist/tools/audio-files.js +1 -1
- package/dist/tools/audio-files.js.map +1 -1
- package/dist/tools/bulk.d.ts +1 -0
- package/dist/tools/bulk.d.ts.map +1 -1
- package/dist/tools/bulk.js +81 -0
- package/dist/tools/bulk.js.map +1 -1
- package/dist/tools/credits.d.ts +11 -0
- package/dist/tools/credits.d.ts.map +1 -1
- package/dist/tools/credits.js +166 -0
- package/dist/tools/credits.js.map +1 -1
- package/dist/tools/dashboard.d.ts +6 -1
- package/dist/tools/dashboard.d.ts.map +1 -1
- package/dist/tools/dashboard.js +34 -31
- package/dist/tools/dashboard.js.map +1 -1
- package/dist/tools/discovery.d.ts +3 -3
- package/dist/tools/discovery.d.ts.map +1 -1
- package/dist/tools/discovery.js +13 -19
- package/dist/tools/discovery.js.map +1 -1
- package/dist/tools/duplicates.d.ts +11 -0
- package/dist/tools/duplicates.d.ts.map +1 -1
- package/dist/tools/duplicates.js +66 -2
- package/dist/tools/duplicates.js.map +1 -1
- package/dist/tools/explainability.d.ts.map +1 -1
- package/dist/tools/explainability.js +3 -1
- package/dist/tools/explainability.js.map +1 -1
- package/dist/tools/exports.d.ts.map +1 -1
- package/dist/tools/exports.js +23 -2
- package/dist/tools/exports.js.map +1 -1
- package/dist/tools/import.d.ts.map +1 -1
- package/dist/tools/import.js +5 -3
- package/dist/tools/import.js.map +1 -1
- package/dist/tools/index.d.ts +9 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +9 -14
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/labels.d.ts.map +1 -1
- package/dist/tools/labels.js +40 -2
- package/dist/tools/labels.js.map +1 -1
- package/dist/tools/metadata.js +37 -38
- package/dist/tools/metadata.js.map +1 -1
- package/dist/tools/my-reported-issues.d.ts +1 -1
- package/dist/tools/party-claims.d.ts +22 -0
- package/dist/tools/party-claims.d.ts.map +1 -0
- package/dist/tools/party-claims.js +133 -0
- package/dist/tools/party-claims.js.map +1 -0
- package/dist/tools/recording-custody.d.ts +7 -3
- package/dist/tools/recording-custody.d.ts.map +1 -1
- package/dist/tools/recording-custody.js +25 -9
- package/dist/tools/recording-custody.js.map +1 -1
- package/dist/tools/recordings.d.ts.map +1 -1
- package/dist/tools/recordings.js +9 -1
- package/dist/tools/recordings.js.map +1 -1
- package/dist/tools/recovery-hints.d.ts.map +1 -1
- package/dist/tools/recovery-hints.js +64 -22
- package/dist/tools/recovery-hints.js.map +1 -1
- package/dist/tools/releases.js +1 -1
- package/dist/tools/releases.js.map +1 -1
- package/dist/tools/uploads.d.ts.map +1 -1
- package/dist/tools/uploads.js +6 -5
- package/dist/tools/uploads.js.map +1 -1
- package/dist/tools/works.d.ts.map +1 -1
- package/dist/tools/works.js +26 -3
- package/dist/tools/works.js.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/.claude/settings.local.json +0 -5
- package/dist/tools/team.d.ts +0 -22
- package/dist/tools/team.d.ts.map +0 -1
- package/dist/tools/team.js +0 -169
- package/dist/tools/team.js.map +0 -1
package/dist/tools/team.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Team Tools — manage team members via MCP
|
|
3
|
-
*
|
|
4
|
-
* Backed by REST routes: /api/admin/team/*
|
|
5
|
-
* Supports listing, viewing, inviting, updating roles, and removing team members.
|
|
6
|
-
*/
|
|
7
|
-
import { PicaClient } from "@withpica/mcp-sdk";
|
|
8
|
-
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
9
|
-
export declare class TeamTools {
|
|
10
|
-
private pica;
|
|
11
|
-
constructor(pica: PicaClient);
|
|
12
|
-
getTools(): Array<{
|
|
13
|
-
definition: ToolDefinition;
|
|
14
|
-
executor: ToolExecutor;
|
|
15
|
-
}>;
|
|
16
|
-
private listMembers;
|
|
17
|
-
private getMember;
|
|
18
|
-
private inviteMember;
|
|
19
|
-
private updateRole;
|
|
20
|
-
private removeMember;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=team.d.ts.map
|
package/dist/tools/team.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/tools/team.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAGtE,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAgJ3D,WAAW;YAQX,SAAS;YAKT,YAAY;YAYZ,UAAU;YAUV,YAAY;CAI3B"}
|
package/dist/tools/team.js
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
|
|
2
|
-
import { formatSuccess, formatStructuredList } from "@withpica/mcp-utils";
|
|
3
|
-
export class TeamTools {
|
|
4
|
-
pica;
|
|
5
|
-
constructor(pica) {
|
|
6
|
-
this.pica = pica;
|
|
7
|
-
}
|
|
8
|
-
getTools() {
|
|
9
|
-
return [
|
|
10
|
-
{
|
|
11
|
-
definition: {
|
|
12
|
-
name: "pica_team_list",
|
|
13
|
-
scope: "admin",
|
|
14
|
-
audiences: ["stdio", "http", "public"],
|
|
15
|
-
tier: "read",
|
|
16
|
-
description: "List all team members with their roles, status (pending/active), and permissions. Use to answer 'who is on my team?'",
|
|
17
|
-
workflows: "infrastructure",
|
|
18
|
-
vernacular_kind: "specialist",
|
|
19
|
-
vernacular_reason: "Specialist context; not yet covered by the Creator Question Atlas — pending telemetry-driven addition per ADR-226 Phase 4 substrate writes.",
|
|
20
|
-
inputSchema: {
|
|
21
|
-
type: "object",
|
|
22
|
-
properties: {},
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
executor: this.listMembers.bind(this),
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
definition: {
|
|
29
|
-
name: "pica_team_get",
|
|
30
|
-
scope: "admin",
|
|
31
|
-
audiences: ["stdio", "http", "public"],
|
|
32
|
-
tier: "read",
|
|
33
|
-
description: "Get details of a specific team member by membership ID, including permissions, status, and activity.",
|
|
34
|
-
workflows: "infrastructure",
|
|
35
|
-
vernacular_kind: "specialist",
|
|
36
|
-
vernacular_reason: "Specialist context; not yet covered by the Creator Question Atlas — pending telemetry-driven addition per ADR-226 Phase 4 substrate writes.",
|
|
37
|
-
inputSchema: {
|
|
38
|
-
type: "object",
|
|
39
|
-
properties: {
|
|
40
|
-
id: {
|
|
41
|
-
type: "string",
|
|
42
|
-
description: "Team membership ID",
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
required: ["id"],
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
executor: this.getMember.bind(this),
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
definition: {
|
|
52
|
-
name: "pica_team_invite",
|
|
53
|
-
scope: "admin",
|
|
54
|
-
audiences: ["stdio", "http", "public"],
|
|
55
|
-
tier: "write",
|
|
56
|
-
description: "Invite someone to join your team by email. Sends an invitation email — a signup invite if they don't have a PICA account yet, or a team-invite notification if they do. Optionally set their name and permissions.",
|
|
57
|
-
workflows: "infrastructure",
|
|
58
|
-
vernacular_kind: "specialist",
|
|
59
|
-
vernacular_reason: "Specialist context; not yet covered by the Creator Question Atlas — pending telemetry-driven addition per ADR-226 Phase 4 substrate writes.",
|
|
60
|
-
inputSchema: {
|
|
61
|
-
type: "object",
|
|
62
|
-
properties: {
|
|
63
|
-
email: {
|
|
64
|
-
type: "string",
|
|
65
|
-
description: "Email address of the person to invite",
|
|
66
|
-
},
|
|
67
|
-
full_name: {
|
|
68
|
-
type: "string",
|
|
69
|
-
description: "Full name of the invitee (optional)",
|
|
70
|
-
},
|
|
71
|
-
permissions: {
|
|
72
|
-
type: "object",
|
|
73
|
-
description: "Permission flags for the team member (e.g. { can_edit_works: true, can_manage_team: false })",
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
required: ["email"],
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
executor: this.inviteMember.bind(this),
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
definition: {
|
|
83
|
-
name: "pica_team_update_role",
|
|
84
|
-
scope: "admin",
|
|
85
|
-
audiences: ["stdio", "http", "public"],
|
|
86
|
-
tier: "write",
|
|
87
|
-
description: "Update a team member's role and/or permissions. Pass the membership ID and at least one of role or permissions.",
|
|
88
|
-
workflows: "infrastructure",
|
|
89
|
-
vernacular_kind: "specialist",
|
|
90
|
-
vernacular_reason: "Specialist context; not yet covered by the Creator Question Atlas — pending telemetry-driven addition per ADR-226 Phase 4 substrate writes.",
|
|
91
|
-
inputSchema: {
|
|
92
|
-
type: "object",
|
|
93
|
-
properties: {
|
|
94
|
-
id: {
|
|
95
|
-
type: "string",
|
|
96
|
-
description: "Team membership ID (required).",
|
|
97
|
-
},
|
|
98
|
-
role: {
|
|
99
|
-
type: "string",
|
|
100
|
-
description: "Updated role name on team_memberships.role (e.g. 'admin', 'editor', 'viewer'). Optional — omit to leave unchanged.",
|
|
101
|
-
},
|
|
102
|
-
permissions: {
|
|
103
|
-
type: "object",
|
|
104
|
-
additionalProperties: true,
|
|
105
|
-
description: "Updated permission flags (e.g. { can_edit_works: true, can_manage_team: false }). Optional — omit to leave unchanged.",
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
required: ["id"],
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
executor: this.updateRole.bind(this),
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
definition: {
|
|
115
|
-
name: "pica_team_remove",
|
|
116
|
-
scope: "admin",
|
|
117
|
-
audiences: ["stdio", "http", "public"],
|
|
118
|
-
tier: "destructive",
|
|
119
|
-
description: "Remove a team member by membership ID. This revokes their access.",
|
|
120
|
-
workflows: "infrastructure",
|
|
121
|
-
vernacular_kind: "specialist",
|
|
122
|
-
vernacular_reason: "Destructive operation; invoked by exact name after explicit user confirmation in a specialist flow.",
|
|
123
|
-
inputSchema: {
|
|
124
|
-
type: "object",
|
|
125
|
-
properties: {
|
|
126
|
-
id: {
|
|
127
|
-
type: "string",
|
|
128
|
-
description: "Team membership ID to remove",
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
required: ["id"],
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
executor: this.removeMember.bind(this),
|
|
135
|
-
},
|
|
136
|
-
];
|
|
137
|
-
}
|
|
138
|
-
async listMembers(_args) {
|
|
139
|
-
const result = await this.pica.team.list();
|
|
140
|
-
const members = Array.isArray(result)
|
|
141
|
-
? result
|
|
142
|
-
: (result?.data ?? result?.members ?? []);
|
|
143
|
-
return formatStructuredList(members, "team member");
|
|
144
|
-
}
|
|
145
|
-
async getMember(args) {
|
|
146
|
-
const member = await this.pica.team.get(args.id);
|
|
147
|
-
return formatSuccess("Team member retrieved", member?.data ?? member);
|
|
148
|
-
}
|
|
149
|
-
async inviteMember(args) {
|
|
150
|
-
const payload = { email: args.email };
|
|
151
|
-
if (args.full_name)
|
|
152
|
-
payload.full_name = args.full_name;
|
|
153
|
-
if (args.permissions)
|
|
154
|
-
payload.permissions = args.permissions;
|
|
155
|
-
const result = await this.pica.team.invite(payload);
|
|
156
|
-
return formatSuccess(`Invitation sent to ${args.email}`, result?.data ?? result);
|
|
157
|
-
}
|
|
158
|
-
async updateRole(args) {
|
|
159
|
-
const result = await this.pica.team.update(args.id, {
|
|
160
|
-
permissions: args.permissions,
|
|
161
|
-
});
|
|
162
|
-
return formatSuccess(`Permissions updated for membership ${args.id}`, result?.data ?? result);
|
|
163
|
-
}
|
|
164
|
-
async removeMember(args) {
|
|
165
|
-
await this.pica.team.remove(args.id);
|
|
166
|
-
return formatSuccess(`Team member ${args.id} removed`);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
//# sourceMappingURL=team.js.map
|
package/dist/tools/team.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"team.js","sourceRoot":"","sources":["../../src/tools/team.ts"],"names":[],"mappings":"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"}
|