@anychat-ai/mcp 0.1.1 → 0.2.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.
@@ -18,52 +18,31 @@ const REACHABILITY = ['rcs', 'unreachable'];
18
18
  * individual filter.
19
19
  */
20
20
  const filterShape = {
21
- status: zod_1.z
22
- .enum(PERSON_STATUS)
23
- .optional()
24
- .describe('Exact funnel status: new | contacted | qualified | converted | lost'),
25
- q: zod_1.z
26
- .string()
27
- .optional()
28
- .describe('Case-insensitive substring of name, email, phone, or company'),
29
- tags: zod_1.z.array(zod_1.z.string()).optional().describe('People carrying ANY of these tags'),
30
- source: zod_1.z.string().optional().describe('Exact acquisition-source value'),
21
+ status: zod_1.z.enum(PERSON_STATUS).optional().describe('Funnel status'),
22
+ q: zod_1.z.string().optional().describe('Substring of name, email, phone or company'),
23
+ tags: zod_1.z.array(zod_1.z.string()).optional().describe('ANY of these tags'),
24
+ source: zod_1.z.string().optional().describe('Exact acquisition source'),
31
25
  lastImportBatchId: zod_1.z
32
26
  .string()
33
27
  .optional()
34
- .describe('Only people created/updated by one import call (the importBatchId returned by import_people)'),
35
- hasPhone: zod_1.z
36
- .boolean()
37
- .optional()
38
- .describe('true: a phone number is on file; false: missing or empty'),
28
+ .describe('importBatchId returned by import_people'),
29
+ hasPhone: zod_1.z.boolean().optional(),
39
30
  outreachReachability: zod_1.z
40
31
  .enum(REACHABILITY)
41
32
  .optional()
42
- .describe("Result of the most recent outreach attempt's capability check: 'rcs' or 'unreachable'"),
43
- createdAfter: zod_1.z
44
- .string()
45
- .optional()
46
- .describe('Record created on or after this ISO-8601 instant (inclusive)'),
47
- createdBefore: zod_1.z
48
- .string()
49
- .optional()
50
- .describe('Record created on or before this ISO-8601 instant (inclusive)'),
51
- lastInboundAfter: zod_1.z
52
- .string()
53
- .optional()
54
- .describe('Most recent inbound message on or after this ISO-8601 instant'),
55
- lastInboundBefore: zod_1.z
56
- .string()
57
- .optional()
58
- .describe('Most recent inbound message on or before this ISO-8601 instant'),
33
+ .describe("Most recent outreach attempt's capability check"),
34
+ createdAfter: zod_1.z.string().optional().describe('ISO-8601, inclusive'),
35
+ createdBefore: zod_1.z.string().optional().describe('ISO-8601, inclusive'),
36
+ lastInboundAfter: zod_1.z.string().optional().describe('ISO-8601'),
37
+ lastInboundBefore: zod_1.z.string().optional().describe('ISO-8601'),
59
38
  cf: zod_1.z
60
39
  .record(zod_1.z.string(), zod_1.z.string())
61
40
  .optional()
62
- .describe('Exact-match conditions on declared custom People fields, keyed by field key, e.g. {"targetMarket": "medspa"} → cf.targetMarket=medspa. Undeclared keys are a 400.'),
41
+ .describe('Exact-match on declared custom People fields, e.g. {"targetMarket": "medspa"}. Undeclared keys → 400.'),
63
42
  segmentId: zod_1.z
64
43
  .string()
65
44
  .optional()
66
- .describe('Apply a saved People segment (see list_segments). Mutually exclusive with every other filter — combining is a 400; unknown id is a 404.'),
45
+ .describe('Saved segment (see list_segments); mutually exclusive with every other filter'),
67
46
  };
68
47
  /** Turn the filter args into query params (`tags` comma-joined, `cf` flattened to `cf.<key>`). */
69
48
  function filterQuery(f) {
@@ -77,34 +56,27 @@ function filterQuery(f) {
77
56
  }
78
57
  /** The writable Person fields (POST + PATCH accept exactly these). */
79
58
  const personWritableShape = {
80
- fullName: zod_1.z.string().max(200).optional().describe('Full display name (≤ 200)'),
81
- firstName: zod_1.z.string().max(100).optional().describe('First name (≤ 100)'),
82
- lastName: zod_1.z.string().max(100).optional().describe('Last name (≤ 100)'),
83
- email: zod_1.z.string().max(300).optional().describe('Email address (≤ 300)'),
59
+ fullName: zod_1.z.string().max(200).optional(),
60
+ firstName: zod_1.z.string().max(100).optional(),
61
+ lastName: zod_1.z.string().max(100).optional(),
62
+ email: zod_1.z.string().max(300).optional(),
84
63
  phone: zod_1.z
85
64
  .string()
86
65
  .max(50)
87
66
  .optional()
88
- .describe('Phone number; normalized to E.164 on write. Only needed for outreach — channel identity is otherwise tracked by ASID (read-only channelUserIds).'),
89
- company: zod_1.z.string().max(200).optional().describe('Company (≤ 200)'),
90
- title: zod_1.z.string().max(200).optional().describe('Job title (≤ 200)'),
91
- productInterest: zod_1.z
92
- .string()
93
- .max(200)
94
- .optional()
95
- .describe('Product of interest; reconciled against the product catalog at use time'),
96
- source: zod_1.z.string().max(200).optional().describe('Acquisition source label (≤ 200)'),
97
- status: zod_1.z
98
- .enum(PERSON_STATUS)
99
- .optional()
100
- .describe('Funnel status: new | contacted | qualified | converted | lost'),
101
- notes: zod_1.z.string().max(5000).optional().describe('Free-form operator notes (≤ 5,000)'),
102
- tags: zod_1.z.array(zod_1.z.string()).optional().describe('Free-form labels'),
67
+ .describe('Normalized to E.164; only needed for outreach (channel identity is by ASID)'),
68
+ company: zod_1.z.string().max(200).optional(),
69
+ title: zod_1.z.string().max(200).optional().describe('Job title'),
70
+ productInterest: zod_1.z.string().max(200).optional(),
71
+ source: zod_1.z.string().max(200).optional().describe('Acquisition source label'),
72
+ status: zod_1.z.enum(PERSON_STATUS).optional().describe('Funnel status'),
73
+ notes: zod_1.z.string().max(5000).optional().describe('Operator notes'),
74
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
103
75
  externalId: zod_1.z
104
76
  .string()
105
77
  .max(200)
106
78
  .optional()
107
- .describe('Correlation id for an external system; exact-matched by import'),
79
+ .describe('External-system correlation id; exact-matched by import'),
108
80
  lockedFields: zod_1.z
109
81
  .array(zod_1.z.string())
110
82
  .optional()
@@ -112,65 +84,55 @@ const personWritableShape = {
112
84
  customFields: zod_1.z
113
85
  .record(zod_1.z.string(), zod_1.z.string())
114
86
  .optional()
115
- .describe("String values (≤ 1,000 each) keyed by declared People field key; values are validated against each field's declared type"),
87
+ .describe('String values keyed by declared People field key (validated per field type)'),
116
88
  assignedRepresentativeId: zod_1.z
117
89
  .string()
118
90
  .optional()
119
- .describe("Must reference one of the agent's representatives"),
91
+ .describe("One of the agent's representatives"),
120
92
  scheduledCallAt: zod_1.z
121
93
  .string()
122
94
  .optional()
123
- .describe('ISO-8601; normally maintained by scheduling — writable only as an operator override'),
95
+ .describe('ISO-8601; normally maintained by scheduling — operator override only'),
124
96
  scheduledCallTimezone: zod_1.z
125
97
  .string()
126
98
  .optional()
127
- .describe('IANA timezone for scheduledCallAt (operator override)'),
99
+ .describe('IANA timezone for scheduledCallAt'),
128
100
  };
129
101
  /** Segment body shared by create + replace. */
130
102
  const segmentBodyShape = {
131
- name: zod_1.z.string().min(1).max(100).describe('Segment name (≤ 100); required'),
132
- description: zod_1.z.string().max(500).optional().describe('Optional description (≤ 500)'),
103
+ name: zod_1.z.string().min(1).max(100),
104
+ description: zod_1.z.string().max(500).optional(),
133
105
  filter: zod_1.z
134
- .object({
135
- status: filterShape.status,
136
- q: filterShape.q,
137
- tags: filterShape.tags,
138
- source: filterShape.source,
139
- lastImportBatchId: filterShape.lastImportBatchId,
140
- hasPhone: filterShape.hasPhone,
141
- outreachReachability: filterShape.outreachReachability,
142
- createdAfter: filterShape.createdAfter,
143
- createdBefore: filterShape.createdBefore,
144
- lastInboundAfter: filterShape.lastInboundAfter,
145
- lastInboundBefore: filterShape.lastInboundBefore,
146
- cf: filterShape.cf,
147
- })
148
- .describe('The saved filter as a JSON object using the People filter vocabulary: scalar params by name, tags as a string array, custom-field conditions nested under cf. Keys outside the vocabulary or undeclared cf keys are a 422.'),
106
+ .record(zod_1.z.string(), zod_1.z.any())
107
+ .describe('Saved filter using the list_people filter keys (status, q, tags[], source, lastImportBatchId, hasPhone, outreachReachability, createdAfter/Before, lastInboundAfter/Before, cf{}) — everything except segmentId. Unknown keys → 422.'),
149
108
  };
150
109
  const peoplePath = (agentId, rest = '') => `/agents/${encodeURIComponent(agentId)}/people${rest}`;
151
110
  const personPath = (agentId, personId, rest = '') => peoplePath(agentId, `/${encodeURIComponent(personId)}${rest}`);
152
111
  const segmentPath = (agentId, segmentId) => peoplePath(agentId, `/segments/${encodeURIComponent(segmentId)}`);
112
+ const agentId = zod_1.z.string();
113
+ const personId = zod_1.z.string();
153
114
  exports.peopleTools = [
154
115
  (0, tool_1.defineTool)({
155
116
  name: 'list_people',
156
117
  title: 'List people',
157
- description: "List an agent's People (the built-in CRM), newest first, with optional filters (status, q, tags, source, hasPhone, outreachReachability, date ranges, custom fields via cf, or a saved segmentId) that AND together. Paginate with limit (max 200) and startingAfter (the last person id of the previous page); the response is { data: Person[], hasMore }. Maps to GET /v1/orgs/{org}/agents/{agent}/people.",
118
+ description: "List an agent's People (the built-in CRM), newest first, with optional filters that AND together (or a saved segmentId). Paginate with limit (max 200) and startingAfter; returns { data: Person[], hasMore }. Maps to GET /v1/orgs/{org}/agents/{agent}/people.",
158
119
  kind: 'read',
159
120
  scope: 'people:read',
160
121
  roleFloor: 'viewer',
122
+ profile: 'core',
161
123
  input: {
162
- agentId: zod_1.z.string().describe('Agent id'),
124
+ agentId,
163
125
  limit: zod_1.z
164
126
  .number()
165
127
  .int()
166
128
  .min(1)
167
129
  .max(200)
168
130
  .optional()
169
- .describe('Page size (max 200). Always pass one — omitting every parameter returns the deprecated full array.'),
131
+ .describe('Page size. Always pass one — omitting every parameter returns the deprecated full array.'),
170
132
  startingAfter: zod_1.z
171
133
  .string()
172
134
  .optional()
173
- .describe('Person id of the last item on the previous page (cursor)'),
135
+ .describe('Last person id of the previous page'),
174
136
  ...filterShape,
175
137
  },
176
138
  run: async ({ client }, { agentId, limit, startingAfter, ...filter }) => client.get(await client.orgPath(peoplePath(agentId)), {
@@ -182,25 +144,23 @@ exports.peopleTools = [
182
144
  (0, tool_1.defineTool)({
183
145
  name: 'get_person',
184
146
  title: 'Get a person',
185
- description: 'Fetch one Person record in full: profile fields, status, tags, custom fields, provenance (fieldMeta), duplicate candidates, journal, channel identities (ASIDs), outreach / follow-up / scheduling state. Maps to GET /v1/orgs/{org}/agents/{agent}/people/{personId}.',
147
+ description: 'Fetch one Person in full: profile, status, tags, custom fields, provenance (fieldMeta), duplicate candidates, journal, channel identities (ASIDs), outreach / follow-up / scheduling state. Maps to GET /v1/orgs/{org}/agents/{agent}/people/{personId}.',
186
148
  kind: 'read',
187
149
  scope: 'people:read',
188
150
  roleFloor: 'viewer',
189
- input: {
190
- agentId: zod_1.z.string().describe('Agent id'),
191
- personId: zod_1.z.string().describe('Person id'),
192
- },
151
+ profile: 'core',
152
+ input: { agentId, personId },
193
153
  run: async ({ client }, { agentId, personId }) => client.get(await client.orgPath(personPath(agentId, personId))),
194
154
  }),
195
155
  (0, tool_1.defineTool)({
196
156
  name: 'create_person',
197
157
  title: 'Create a person',
198
- description: 'Create a Person on the agent from operator-supplied fields (name, email, phone, company, status, tags, externalId, customFields …). The person is bound to the agent in the path; runtime-owned fields (channel identity, outreach state, journal) cannot be set. Returns the created Person. Maps to POST /v1/orgs/{org}/agents/{agent}/people.',
158
+ description: 'Create a Person on the agent from operator-supplied fields. Runtime-owned fields (channel identity, outreach state, journal) cannot be set. Maps to POST /v1/orgs/{org}/agents/{agent}/people.',
199
159
  kind: 'write',
200
160
  scope: 'people:write',
201
161
  roleFloor: 'editor',
202
162
  input: {
203
- agentId: zod_1.z.string().describe('Agent id'),
163
+ agentId,
204
164
  ...personWritableShape,
205
165
  },
206
166
  run: async ({ client }, { agentId, ...body }) => client.post(await client.orgPath(peoplePath(agentId)), body),
@@ -208,13 +168,14 @@ exports.peopleTools = [
208
168
  (0, tool_1.defineTool)({
209
169
  name: 'update_person',
210
170
  title: 'Update a person',
211
- description: 'Partially update a Person (PATCH): only the writable fields supplied are changed, e.g. move status along the funnel, add tags, set customFields, or lock fields against agent writes. At least one field is required. Returns the updated Person. Maps to PATCH /v1/orgs/{org}/agents/{agent}/people/{personId}.',
171
+ description: 'Partially update a Person: only the fields supplied change (move status, add tags, set customFields, lock fields …). At least one field required. Maps to PATCH /v1/orgs/{org}/agents/{agent}/people/{personId}.',
212
172
  kind: 'write',
213
173
  scope: 'people:write',
214
174
  roleFloor: 'editor',
175
+ profile: 'core',
215
176
  input: {
216
- agentId: zod_1.z.string().describe('Agent id'),
217
- personId: zod_1.z.string().describe('Person id'),
177
+ agentId,
178
+ personId,
218
179
  ...personWritableShape,
219
180
  },
220
181
  run: async ({ client }, { agentId, personId, ...body }) => client.patch(await client.orgPath(personPath(agentId, personId)), body),
@@ -222,14 +183,11 @@ exports.peopleTools = [
222
183
  (0, tool_1.defineTool)({
223
184
  name: 'delete_person',
224
185
  title: 'Delete a person',
225
- description: 'Soft-delete a Person: it disappears from every list, lookup, and export, and is purged after 30 days (POST …/restore can undo it before then; records consumed by a merge cannot be restored). Maps to DELETE /v1/orgs/{org}/agents/{agent}/people/{personId}.',
186
+ description: 'Soft-delete a Person: hidden from every list, lookup and export; purged after 30 days (POST …/restore can undo before then; merged-away records cannot be restored). Maps to DELETE /v1/orgs/{org}/agents/{agent}/people/{personId}.',
226
187
  kind: 'destructive',
227
188
  scope: 'people:write',
228
189
  roleFloor: 'editor',
229
- input: {
230
- agentId: zod_1.z.string().describe('Agent id'),
231
- personId: zod_1.z.string().describe('Person id to delete'),
232
- },
190
+ input: { agentId, personId },
233
191
  run: async ({ client }, { agentId, personId }) => {
234
192
  await client.delete(await client.orgPath(personPath(agentId, personId)));
235
193
  return { ok: true, deleted: personId };
@@ -238,18 +196,18 @@ exports.peopleTools = [
238
196
  (0, tool_1.defineTool)({
239
197
  name: 'merge_people',
240
198
  title: 'Merge two people',
241
- description: 'Merge a source Person into a target Person and retire the source (used to resolve duplicateCandidates). Defaults are target-wins with the source filling empty fields; fieldChoices overrides per field ("source" | "target"). Conflicting externalIds are a 409 unless a choice is supplied. Returns { success, person }. Maps to POST /v1/orgs/{org}/agents/{agent}/people/{personId}/merge.',
199
+ description: 'Merge a source Person into a target and retire the source (resolves duplicateCandidates). Target wins by default, source fills empty fields; fieldChoices overrides per field. Conflicting externalIds → 409 unless chosen. Maps to POST /v1/orgs/{org}/agents/{agent}/people/{personId}/merge.',
242
200
  kind: 'write',
243
201
  scope: 'people:write',
244
202
  roleFloor: 'editor',
245
203
  input: {
246
- agentId: zod_1.z.string().describe('Agent id'),
247
- personId: zod_1.z.string().describe('Target person id (survives the merge)'),
248
- sourceId: zod_1.z.string().describe('Source person id (retired by the merge)'),
204
+ agentId,
205
+ personId: zod_1.z.string().describe('Target person id (survives)'),
206
+ sourceId: zod_1.z.string().describe('Source person id (retired)'),
249
207
  fieldChoices: zod_1.z
250
208
  .record(zod_1.z.string(), zod_1.z.enum(['source', 'target']))
251
209
  .optional()
252
- .describe('Per-field winner overrides keyed by field path, e.g. {"email": "source"}'),
210
+ .describe('Per-field winner, e.g. {"email": "source"}'),
253
211
  },
254
212
  run: async ({ client }, { agentId, personId, sourceId, fieldChoices }) => client.post(await client.orgPath(personPath(agentId, personId, '/merge')), {
255
213
  sourceId,
@@ -259,13 +217,13 @@ exports.peopleTools = [
259
217
  (0, tool_1.defineTool)({
260
218
  name: 'export_people',
261
219
  title: 'Export people (bulk)',
262
- description: 'Bulk-export the CRM as text — WARNING: returns bulk personally identifiable information (names, emails, phones) for every matching person; only use when the operator explicitly wants an export, and prefer list_people for browsing. Accepts the same filters as list_people (or a segmentId). format=csv (default) gives one row per person with columns matching the import template; format=ndjson gives one full JSON record per line including journal and fieldMeta. Large results are truncated in the tool output. Requires the people:export scope. Maps to GET /v1/orgs/{org}/agents/{agent}/people/export.',
220
+ description: 'Bulk-export the CRM as text — WARNING: bulk PII (names, emails, phones) for every matching person; only when the operator explicitly wants an export (prefer list_people for browsing). Same filters as list_people. csv (default) matches the import template columns; ndjson gives full records incl. journal and fieldMeta. Large results are truncated. Maps to GET /v1/orgs/{org}/agents/{agent}/people/export.',
263
221
  kind: 'read',
264
222
  scope: 'people:export',
265
223
  roleFloor: 'editor',
266
224
  input: {
267
- agentId: zod_1.z.string().describe('Agent id'),
268
- format: zod_1.z.enum(['csv', 'ndjson']).optional().describe('csv (default) or ndjson'),
225
+ agentId,
226
+ format: zod_1.z.enum(['csv', 'ndjson']).optional(),
269
227
  ...filterShape,
270
228
  },
271
229
  run: async ({ client }, { agentId, format, ...filter }) => client.get(await client.orgPath(peoplePath(agentId, '/export')), {
@@ -276,20 +234,14 @@ exports.peopleTools = [
276
234
  (0, tool_1.defineTool)({
277
235
  name: 'import_people',
278
236
  title: 'Import people',
279
- description: 'Bulk import/upsert People from rows (each row a header-to-value object using the import template columns, e.g. "email", "full name", "external id", or any declared People field). Rows matching an existing person by externalId or email update it: mode "fill" (default) writes only empty fields, "update" overwrites with non-empty incoming values; locked fields are never overwritten. Returns imported / updated / skipped / duplicatesFlagged / unmatchedColumns / rowErrors and an importBatchId usable as the lastImportBatchId filter. Maps to POST /v1/orgs/{org}/agents/{agent}/people/import.',
237
+ description: 'Bulk import/upsert People from rows (header-to-value objects using the import template columns, e.g. "email", "full name", "external id", or any declared People field). Rows matching by externalId or email update: mode "fill" (default) writes only empty fields, "update" overwrites with non-empty values; locked fields never change. Returns counts, unmatchedColumns, rowErrors and an importBatchId (usable as lastImportBatchId). Maps to POST /v1/orgs/{org}/agents/{agent}/people/import.',
280
238
  kind: 'write',
281
239
  scope: 'people:write',
282
240
  roleFloor: 'editor',
283
241
  input: {
284
- agentId: zod_1.z.string().describe('Agent id'),
285
- rows: zod_1.z
286
- .array(zod_1.z.record(zod_1.z.string(), zod_1.z.string()))
287
- .min(1)
288
- .describe('Non-empty array of header-to-value row objects'),
289
- mode: zod_1.z
290
- .enum(['fill', 'update'])
291
- .optional()
292
- .describe('fill (default): only empty fields; update: overwrite with non-empty values'),
242
+ agentId,
243
+ rows: zod_1.z.array(zod_1.z.record(zod_1.z.string(), zod_1.z.string())).min(1),
244
+ mode: zod_1.z.enum(['fill', 'update']).optional(),
293
245
  },
294
246
  run: async ({ client }, { agentId, rows, mode }) => client.post(await client.orgPath(peoplePath(agentId, '/import')), {
295
247
  rows,
@@ -299,49 +251,36 @@ exports.peopleTools = [
299
251
  (0, tool_1.defineTool)({
300
252
  name: 'list_person_appointments',
301
253
  title: "List a person's appointments",
302
- description: "List one person's scheduled calls (appointments), newest first, including cancelled ones — each with startUtc, durationMinutes, prospectTimezone, status (scheduled | rescheduled | cancelled | completed), representative, notes and history. Returns { data: Appointment[] }. Maps to GET /v1/orgs/{org}/agents/{agent}/people/{personId}/appointments.",
254
+ description: "One person's scheduled calls, newest first, incl. cancelled — startUtc, durationMinutes, prospectTimezone, status (scheduled | rescheduled | cancelled | completed), representative, notes, history. Maps to GET /v1/orgs/{org}/agents/{agent}/people/{personId}/appointments.",
303
255
  kind: 'read',
304
256
  scope: 'people:read',
305
257
  roleFloor: 'viewer',
306
- input: {
307
- agentId: zod_1.z.string().describe('Agent id'),
308
- personId: zod_1.z.string().describe('Person id'),
309
- },
258
+ input: { agentId, personId },
310
259
  run: async ({ client }, { agentId, personId }) => client.get(await client.orgPath(personPath(agentId, personId, '/appointments'))),
311
260
  }),
312
261
  (0, tool_1.defineTool)({
313
262
  name: 'list_appointments',
314
263
  title: 'List appointments (all people)',
315
- description: "List every appointment across the agent's people (the console Calls view), newest start first, each annotated with personId and personName when the linked person resolves. Filter by status (scheduled | completed | cancelled; completed means the scheduled time has elapsed) and cap with limit (default 200, max 500). Returns { data: Appointment[] }. Maps to GET /v1/orgs/{org}/agents/{agent}/appointments.",
264
+ description: "Every appointment across the agent's people (the console Calls view), newest start first, annotated with personId/personName. Filter by status; completed means the scheduled time has elapsed. Maps to GET /v1/orgs/{org}/agents/{agent}/appointments.",
316
265
  kind: 'read',
317
266
  scope: 'people:read',
318
267
  roleFloor: 'viewer',
319
268
  input: {
320
- agentId: zod_1.z.string().describe('Agent id'),
321
- status: zod_1.z
322
- .enum(['scheduled', 'completed', 'cancelled'])
323
- .optional()
324
- .describe('Only appointments in this status'),
325
- limit: zod_1.z
326
- .number()
327
- .int()
328
- .min(1)
329
- .max(500)
330
- .optional()
331
- .describe('Max appointments to return (default 200, max 500)'),
269
+ agentId,
270
+ status: zod_1.z.enum(['scheduled', 'completed', 'cancelled']).optional(),
271
+ limit: zod_1.z.number().int().min(1).max(500).optional().describe('Default 200'),
332
272
  },
333
273
  run: async ({ client }, { agentId, status, limit }) => client.get(await client.orgPath(`/agents/${encodeURIComponent(agentId)}/appointments`), { status, limit }),
334
274
  }),
335
275
  (0, tool_1.defineTool)({
336
276
  name: 'list_segments',
337
277
  title: 'List people segments',
338
- description: "List the agent's saved People segments (named, persisted filters; up to 50 per agent). Returns { data: PeopleSegment[] } with id, name, description, filter. Pass a segment's id as segmentId to list_people / export_people. Maps to GET /v1/orgs/{org}/agents/{agent}/people/segments.",
278
+ description: "List the agent's saved People segments (named filters; up to 50): id, name, description, filter. Pass an id as segmentId to list_people / export_people. Maps to GET /v1/orgs/{org}/agents/{agent}/people/segments.",
339
279
  kind: 'read',
340
280
  scope: 'people:read',
341
281
  roleFloor: 'viewer',
342
- input: {
343
- agentId: zod_1.z.string().describe('Agent id'),
344
- },
282
+ profile: 'core',
283
+ input: { agentId },
345
284
  run: async ({ client }, { agentId }) => client.get(await client.orgPath(peoplePath(agentId, '/segments'))),
346
285
  }),
347
286
  (0, tool_1.defineTool)({
@@ -352,24 +291,21 @@ exports.peopleTools = [
352
291
  scope: 'people:read',
353
292
  roleFloor: 'viewer',
354
293
  input: {
355
- agentId: zod_1.z.string().describe('Agent id'),
356
- segmentId: zod_1.z.string().describe('Segment id (per-agent slug)'),
294
+ agentId,
295
+ segmentId: zod_1.z.string(),
357
296
  },
358
297
  run: async ({ client }, { agentId, segmentId }) => client.get(await client.orgPath(segmentPath(agentId, segmentId))),
359
298
  }),
360
299
  (0, tool_1.defineTool)({
361
300
  name: 'create_segment',
362
301
  title: 'Create a people segment',
363
- description: 'Save a named People filter as a segment on the agent. The id is slugified from name (stable through later renames) unless an explicit id is given. A segment stores the filter, not its results. Returns the created PeopleSegment. Maps to POST /v1/orgs/{org}/agents/{agent}/people/segments.',
302
+ description: 'Save a named People filter as a segment (stores the filter, not results). Id is slugified from name unless given. Maps to POST /v1/orgs/{org}/agents/{agent}/people/segments.',
364
303
  kind: 'write',
365
304
  scope: 'people:write',
366
305
  roleFloor: 'editor',
367
306
  input: {
368
- agentId: zod_1.z.string().describe('Agent id'),
369
- id: zod_1.z
370
- .string()
371
- .optional()
372
- .describe('Optional explicit segment id; defaults to a slug of name. Duplicate ids are a 422.'),
307
+ agentId,
308
+ id: zod_1.z.string().optional().describe('Explicit id; duplicates → 422'),
373
309
  ...segmentBodyShape,
374
310
  },
375
311
  run: async ({ client }, { agentId, id, ...body }) => client.post(await client.orgPath(peoplePath(agentId, '/segments')), {
@@ -380,13 +316,13 @@ exports.peopleTools = [
380
316
  (0, tool_1.defineTool)({
381
317
  name: 'update_segment',
382
318
  title: 'Replace a people segment',
383
- description: 'Replace a saved People segment wholesale (PUT): name, description and filter under the id in the path — send the complete segment, not a diff (read it first with get_segment). Replacing an unknown id upserts a new segment with that id (201). Returns the PeopleSegment. Maps to PUT /v1/orgs/{org}/agents/{agent}/people/segments/{segmentId}.',
319
+ description: 'Replace a saved People segment wholesale — send the complete segment (read it first with get_segment). Unknown id upserts (201). Maps to PUT /v1/orgs/{org}/agents/{agent}/people/segments/{segmentId}.',
384
320
  kind: 'write',
385
321
  scope: 'people:write',
386
322
  roleFloor: 'editor',
387
323
  input: {
388
- agentId: zod_1.z.string().describe('Agent id'),
389
- segmentId: zod_1.z.string().describe('Segment id to replace'),
324
+ agentId,
325
+ segmentId: zod_1.z.string(),
390
326
  ...segmentBodyShape,
391
327
  },
392
328
  run: async ({ client }, { agentId, segmentId, ...body }) => client.put(await client.orgPath(segmentPath(agentId, segmentId)), body),
@@ -394,13 +330,13 @@ exports.peopleTools = [
394
330
  (0, tool_1.defineTool)({
395
331
  name: 'delete_segment',
396
332
  title: 'Delete a people segment',
397
- description: 'Delete a saved People segment. Only the saved filter is removed — no Person records are affected. Maps to DELETE /v1/orgs/{org}/agents/{agent}/people/segments/{segmentId}.',
333
+ description: 'Delete a saved People segment (only the filter; no Person records affected). Maps to DELETE /v1/orgs/{org}/agents/{agent}/people/segments/{segmentId}.',
398
334
  kind: 'destructive',
399
335
  scope: 'people:write',
400
336
  roleFloor: 'editor',
401
337
  input: {
402
- agentId: zod_1.z.string().describe('Agent id'),
403
- segmentId: zod_1.z.string().describe('Segment id to delete'),
338
+ agentId,
339
+ segmentId: zod_1.z.string(),
404
340
  },
405
341
  run: async ({ client }, { agentId, segmentId }) => {
406
342
  await client.delete(await client.orgPath(segmentPath(agentId, segmentId)));
@@ -1 +1 @@
1
- {"version":3,"file":"people.js","sourceRoot":"","sources":["../../src/tools/people.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"people.js","sourceRoot":"","sources":["../../src/tools/people.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anychat-ai/mcp",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Anychat MCP server — drive your Anychat workspace (agents, playbooks, channels, people, outreach) from Claude Code, Claude Desktop, Cursor, or any MCP host.",
5
5
  "keywords": [
6
6
  "anychat",
@@ -49,6 +49,7 @@
49
49
  "prettier-fix": "prettier --write \"**/*.{ts,json,md}\"",
50
50
  "test": "TS_NODE_PROJECT=tsconfig.test.json TS_NODE_TRANSPILE_ONLY=true mocha",
51
51
  "tools:md": "node scripts/tool-table.js",
52
+ "tokens": "node scripts/tool-tokens.js",
52
53
  "test:e2e": "ANYCHAT_E2E=1 TS_NODE_PROJECT=tsconfig.test.json TS_NODE_TRANSPILE_ONLY=true mocha 'test/e2e/**/*.spec.ts'"
53
54
  },
54
55
  "dependencies": {