@sam2kb/m365-mcp 1.0.4 → 1.0.6
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 +15 -8
- package/SKILL.md +3 -3
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/security.js +9 -0
- package/dist/security.js.map +1 -1
- package/dist/tools/contacts.d.ts +642 -75
- package/dist/tools/contacts.js +290 -131
- package/dist/tools/contacts.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/package.json +1 -1
package/dist/tools/contacts.js
CHANGED
|
@@ -1,169 +1,328 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Contacts tools —
|
|
2
|
+
* Contacts tools — rich contact CRUD, categories, and contact folders.
|
|
3
3
|
*/
|
|
4
|
+
const CONTACT_STRING_FIELDS = [
|
|
5
|
+
"givenName", "middleName", "surname", "title", "generation", "displayName",
|
|
6
|
+
"nickName", "mobilePhone", "jobTitle", "department", "officeLocation",
|
|
7
|
+
"profession", "businessHomePage", "birthday", "spouseName", "assistantName",
|
|
8
|
+
"manager", "fileAs",
|
|
9
|
+
];
|
|
10
|
+
const CONTACT_ARRAY_FIELDS = [
|
|
11
|
+
"homePhones", "children", "categories", "imAddresses",
|
|
12
|
+
];
|
|
13
|
+
function encodeId(id) {
|
|
14
|
+
return encodeURIComponent(id);
|
|
15
|
+
}
|
|
16
|
+
function normalizeTop(value, fallback) {
|
|
17
|
+
if (value === undefined)
|
|
18
|
+
return fallback;
|
|
19
|
+
if (!Number.isInteger(value) || value < 1 || value > 500) {
|
|
20
|
+
throw new Error("top must be an integer between 1 and 500");
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
function contactCollectionPath(location) {
|
|
25
|
+
if (location.parentFolderId && !location.folderId) {
|
|
26
|
+
throw new Error("folderId is required when parentFolderId is provided");
|
|
27
|
+
}
|
|
28
|
+
if (location.parentFolderId && location.folderId) {
|
|
29
|
+
return `/me/contactFolders/${encodeId(location.parentFolderId)}/childFolders/${encodeId(location.folderId)}/contacts`;
|
|
30
|
+
}
|
|
31
|
+
if (location.folderId) {
|
|
32
|
+
return `/me/contactFolders/${encodeId(location.folderId)}/contacts`;
|
|
33
|
+
}
|
|
34
|
+
return "/me/contacts";
|
|
35
|
+
}
|
|
36
|
+
function contactResourcePath(location, contactId) {
|
|
37
|
+
return `${contactCollectionPath(location)}/${encodeId(contactId)}`;
|
|
38
|
+
}
|
|
39
|
+
function folderResourcePath(folderId, parentFolderId) {
|
|
40
|
+
if (parentFolderId) {
|
|
41
|
+
return `/me/contactFolders/${encodeId(parentFolderId)}/childFolders/${encodeId(folderId)}`;
|
|
42
|
+
}
|
|
43
|
+
return `/me/contactFolders/${encodeId(folderId)}`;
|
|
44
|
+
}
|
|
45
|
+
function buildContactPayload(args) {
|
|
46
|
+
const payload = {};
|
|
47
|
+
for (const field of CONTACT_STRING_FIELDS) {
|
|
48
|
+
if (args[field] !== undefined)
|
|
49
|
+
payload[field] = args[field];
|
|
50
|
+
}
|
|
51
|
+
for (const field of CONTACT_ARRAY_FIELDS) {
|
|
52
|
+
if (args[field] !== undefined)
|
|
53
|
+
payload[field] = args[field];
|
|
54
|
+
}
|
|
55
|
+
if (args.emailAddresses !== undefined) {
|
|
56
|
+
payload.emailAddresses = args.emailAddresses;
|
|
57
|
+
}
|
|
58
|
+
else if (args.email !== undefined) {
|
|
59
|
+
const name = [args.givenName, args.surname].filter(Boolean).join(" ");
|
|
60
|
+
payload.emailAddresses = [{ address: args.email, ...(name ? { name } : {}) }];
|
|
61
|
+
}
|
|
62
|
+
if (args.businessPhones !== undefined) {
|
|
63
|
+
payload.businessPhones = args.businessPhones;
|
|
64
|
+
}
|
|
65
|
+
else if (args.businessPhone !== undefined) {
|
|
66
|
+
payload.businessPhones = args.businessPhone ? [args.businessPhone] : [];
|
|
67
|
+
}
|
|
68
|
+
if (args.companyName !== undefined) {
|
|
69
|
+
payload.companyName = args.companyName;
|
|
70
|
+
}
|
|
71
|
+
else if (args.company !== undefined) {
|
|
72
|
+
payload.companyName = args.company;
|
|
73
|
+
}
|
|
74
|
+
if (args.personalNotes !== undefined) {
|
|
75
|
+
payload.personalNotes = args.personalNotes;
|
|
76
|
+
}
|
|
77
|
+
else if (args.notes !== undefined) {
|
|
78
|
+
payload.personalNotes = args.notes;
|
|
79
|
+
}
|
|
80
|
+
for (const field of ["homeAddress", "businessAddress", "otherAddress"]) {
|
|
81
|
+
if (args[field] !== undefined)
|
|
82
|
+
payload[field] = args[field];
|
|
83
|
+
}
|
|
84
|
+
return payload;
|
|
85
|
+
}
|
|
86
|
+
function summarizeContact(contact) {
|
|
87
|
+
return {
|
|
88
|
+
id: contact.id,
|
|
89
|
+
name: contact.displayName,
|
|
90
|
+
emails: contact.emailAddresses ?? [],
|
|
91
|
+
company: contact.companyName,
|
|
92
|
+
jobTitle: contact.jobTitle,
|
|
93
|
+
businessPhones: contact.businessPhones ?? [],
|
|
94
|
+
mobilePhone: contact.mobilePhone,
|
|
95
|
+
categories: contact.categories ?? [],
|
|
96
|
+
parentFolderId: contact.parentFolderId,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function normalizeCategoryFilter(filter) {
|
|
100
|
+
if (filter.category !== undefined && filter.categories !== undefined) {
|
|
101
|
+
throw new Error("Use category or categories, not both");
|
|
102
|
+
}
|
|
103
|
+
const categories = filter.categories ?? (filter.category !== undefined ? [filter.category] : []);
|
|
104
|
+
if (categories.some((category) => category.length === 0)) {
|
|
105
|
+
throw new Error("Category names cannot be empty");
|
|
106
|
+
}
|
|
107
|
+
const match = filter.categoryMatch ?? "any";
|
|
108
|
+
if (match !== "any" && match !== "all") {
|
|
109
|
+
throw new Error('categoryMatch must be "any" or "all"');
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
categories: [...new Set(categories.map((category) => category.toLocaleLowerCase()))],
|
|
113
|
+
match,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
async function getContacts(client, path, top, filter) {
|
|
117
|
+
const { categories, match } = normalizeCategoryFilter(filter);
|
|
118
|
+
if (categories.length === 0)
|
|
119
|
+
return client.getAll(path, 10, top);
|
|
120
|
+
const matches = [];
|
|
121
|
+
for await (const page of client.paginate(path, 10)) {
|
|
122
|
+
for (const contact of page) {
|
|
123
|
+
const assigned = new Set((contact.categories ?? []).map((category) => category.toLocaleLowerCase()));
|
|
124
|
+
const matched = match === "all"
|
|
125
|
+
? categories.every((category) => assigned.has(category))
|
|
126
|
+
: categories.some((category) => assigned.has(category));
|
|
127
|
+
if (matched) {
|
|
128
|
+
matches.push(contact);
|
|
129
|
+
if (matches.length === top)
|
|
130
|
+
return matches;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return matches;
|
|
135
|
+
}
|
|
4
136
|
export function registerContactsTools(client) {
|
|
5
|
-
const user = "/me";
|
|
6
137
|
return {
|
|
7
138
|
async contacts_list(args) {
|
|
8
|
-
const top = args.top
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const path = `${user}${folderPath}/contacts?$top=${top}&$orderby=displayName`;
|
|
13
|
-
const contacts = await client.getAll(path, 10, top);
|
|
14
|
-
return JSON.stringify(contacts.map((c) => ({
|
|
15
|
-
id: c.id,
|
|
16
|
-
name: c.displayName,
|
|
17
|
-
email: c.emailAddresses?.[0]?.address,
|
|
18
|
-
company: c.companyName,
|
|
19
|
-
jobTitle: c.jobTitle,
|
|
20
|
-
phones: c.businessPhones,
|
|
21
|
-
mobile: c.mobilePhone,
|
|
22
|
-
})), null, 2);
|
|
139
|
+
const top = normalizeTop(args.top, 50);
|
|
140
|
+
const path = `${contactCollectionPath(args)}?$top=${Math.min(top, 100)}&$orderby=displayName`;
|
|
141
|
+
const contacts = await getContacts(client, path, top, args);
|
|
142
|
+
return JSON.stringify(contacts.map(summarizeContact), null, 2);
|
|
23
143
|
},
|
|
24
144
|
async contacts_search(args) {
|
|
25
|
-
const top = args.top
|
|
26
|
-
const path = `${
|
|
27
|
-
const contacts = await client
|
|
28
|
-
return JSON.stringify(contacts.map(
|
|
29
|
-
id: c.id,
|
|
30
|
-
name: c.displayName,
|
|
31
|
-
email: c.emailAddresses?.map((e) => e.address).join(", "),
|
|
32
|
-
company: c.companyName,
|
|
33
|
-
jobTitle: c.jobTitle,
|
|
34
|
-
})), null, 2);
|
|
145
|
+
const top = normalizeTop(args.top, 20);
|
|
146
|
+
const path = `${contactCollectionPath(args)}?$search=%22${encodeURIComponent(args.query)}%22&$top=${Math.min(top, 100)}`;
|
|
147
|
+
const contacts = await getContacts(client, path, top, args);
|
|
148
|
+
return JSON.stringify(contacts.map(summarizeContact), null, 2);
|
|
35
149
|
},
|
|
36
150
|
async contacts_read(args) {
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
return JSON.stringify(c, null, 2);
|
|
151
|
+
const contact = await client.get(contactResourcePath(args, args.contactId));
|
|
152
|
+
return JSON.stringify(contact, null, 2);
|
|
40
153
|
},
|
|
41
154
|
async contacts_create(args) {
|
|
42
|
-
const contact =
|
|
43
|
-
if (
|
|
44
|
-
contact
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (args.email) {
|
|
48
|
-
contact.emailAddresses = [{ address: args.email, name: `${args.givenName || ""} ${args.surname || ""}`.trim() }];
|
|
49
|
-
}
|
|
50
|
-
if (args.company)
|
|
51
|
-
contact.companyName = args.company;
|
|
52
|
-
if (args.jobTitle)
|
|
53
|
-
contact.jobTitle = args.jobTitle;
|
|
54
|
-
if (args.mobilePhone)
|
|
55
|
-
contact.mobilePhone = args.mobilePhone;
|
|
56
|
-
if (args.businessPhone)
|
|
57
|
-
contact.businessPhones = [args.businessPhone];
|
|
58
|
-
if (args.notes)
|
|
59
|
-
contact.personalNotes = args.notes;
|
|
60
|
-
const data = await client.post(`${user}/contacts`, contact);
|
|
61
|
-
return JSON.stringify({ id: data.id, displayName: data.displayName, success: true }, null, 2);
|
|
155
|
+
const contact = buildContactPayload(args);
|
|
156
|
+
if (Object.keys(contact).length === 0)
|
|
157
|
+
throw new Error("Provide at least one contact field");
|
|
158
|
+
const data = await client.post(contactCollectionPath(args), contact);
|
|
159
|
+
return JSON.stringify({ id: data.id, displayName: data.displayName, categories: data.categories ?? [], success: true }, null, 2);
|
|
62
160
|
},
|
|
63
161
|
async contacts_update(args) {
|
|
64
|
-
const patch =
|
|
65
|
-
if (
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
patch.surname = args.surname;
|
|
69
|
-
if (args.email)
|
|
70
|
-
patch.emailAddresses = [{ address: args.email }];
|
|
71
|
-
if (args.company)
|
|
72
|
-
patch.companyName = args.company;
|
|
73
|
-
if (args.jobTitle)
|
|
74
|
-
patch.jobTitle = args.jobTitle;
|
|
75
|
-
if (args.mobilePhone)
|
|
76
|
-
patch.mobilePhone = args.mobilePhone;
|
|
77
|
-
const contactId = encodeURIComponent(args.contactId);
|
|
78
|
-
await client.patch(`${user}/contacts/${contactId}`, patch);
|
|
162
|
+
const patch = buildContactPayload(args);
|
|
163
|
+
if (Object.keys(patch).length === 0)
|
|
164
|
+
throw new Error("Provide at least one contact field to update");
|
|
165
|
+
await client.patch(contactResourcePath(args, args.contactId), patch);
|
|
79
166
|
return JSON.stringify({ success: true, contactId: args.contactId });
|
|
80
167
|
},
|
|
81
168
|
async contacts_delete(args) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
169
|
+
await client.delete(contactResourcePath(args, args.contactId));
|
|
170
|
+
return JSON.stringify({ success: true, contactId: args.contactId });
|
|
171
|
+
},
|
|
172
|
+
async contacts_categories_list(args = {}) {
|
|
173
|
+
const path = `${contactCollectionPath(args)}?$top=100&$select=id,categories`;
|
|
174
|
+
const contacts = await client.getAll(path, 100, 10_000);
|
|
175
|
+
const categories = new Map();
|
|
176
|
+
for (const contact of contacts) {
|
|
177
|
+
const seen = new Set();
|
|
178
|
+
for (const name of contact.categories ?? []) {
|
|
179
|
+
const key = name.toLocaleLowerCase();
|
|
180
|
+
if (seen.has(key))
|
|
181
|
+
continue;
|
|
182
|
+
seen.add(key);
|
|
183
|
+
const existing = categories.get(key);
|
|
184
|
+
if (existing)
|
|
185
|
+
existing.count++;
|
|
186
|
+
else
|
|
187
|
+
categories.set(key, { name, count: 1 });
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return JSON.stringify([...categories.values()].sort((a, b) => a.name.localeCompare(b.name)), null, 2);
|
|
191
|
+
},
|
|
192
|
+
async contacts_folders_list(args = {}) {
|
|
193
|
+
const top = normalizeTop(args.top, 100);
|
|
194
|
+
const base = args.parentFolderId
|
|
195
|
+
? `/me/contactFolders/${encodeId(args.parentFolderId)}/childFolders`
|
|
196
|
+
: "/me/contactFolders";
|
|
197
|
+
const folders = await client.getAll(`${base}?$top=${Math.min(top, 100)}&$orderby=displayName`, 10, top);
|
|
198
|
+
return JSON.stringify(folders, null, 2);
|
|
199
|
+
},
|
|
200
|
+
async contacts_folder_create(args) {
|
|
201
|
+
const path = `/me/contactFolders/${encodeId(args.parentFolderId)}/childFolders`;
|
|
202
|
+
const folder = await client.post(path, { displayName: args.displayName });
|
|
203
|
+
return JSON.stringify({ ...folder, success: true }, null, 2);
|
|
204
|
+
},
|
|
205
|
+
async contacts_folder_update(args) {
|
|
206
|
+
const patch = {};
|
|
207
|
+
if (args.displayName !== undefined)
|
|
208
|
+
patch.displayName = args.displayName;
|
|
209
|
+
if (args.moveToParentFolderId !== undefined)
|
|
210
|
+
patch.parentFolderId = args.moveToParentFolderId;
|
|
211
|
+
if (Object.keys(patch).length === 0)
|
|
212
|
+
throw new Error("Provide displayName or moveToParentFolderId");
|
|
213
|
+
const folder = await client.patch(folderResourcePath(args.folderId, args.parentFolderId), patch);
|
|
214
|
+
return JSON.stringify({ ...folder, success: true }, null, 2);
|
|
215
|
+
},
|
|
216
|
+
async contacts_folder_delete(args) {
|
|
217
|
+
await client.delete(folderResourcePath(args.folderId, args.parentFolderId));
|
|
218
|
+
return JSON.stringify({ success: true, folderId: args.folderId });
|
|
85
219
|
},
|
|
86
220
|
};
|
|
87
221
|
}
|
|
222
|
+
const locationProperties = {
|
|
223
|
+
folderId: { type: "string", description: "Optional contact folder ID; omit for the default Contacts folder" },
|
|
224
|
+
parentFolderId: { type: "string", description: "Parent folder ID when folderId identifies a direct child folder" },
|
|
225
|
+
};
|
|
226
|
+
const categoryFilterProperties = {
|
|
227
|
+
category: { type: "string", minLength: 1, description: "One exact category name (case-insensitive)" },
|
|
228
|
+
categories: {
|
|
229
|
+
type: "array",
|
|
230
|
+
minItems: 1,
|
|
231
|
+
uniqueItems: true,
|
|
232
|
+
description: "Exact category names (case-insensitive); use categoryMatch for any/all behavior",
|
|
233
|
+
items: { type: "string", minLength: 1 },
|
|
234
|
+
},
|
|
235
|
+
categoryMatch: {
|
|
236
|
+
type: "string",
|
|
237
|
+
enum: ["any", "all"],
|
|
238
|
+
default: "any",
|
|
239
|
+
description: "Match any supplied category or require all supplied categories",
|
|
240
|
+
},
|
|
241
|
+
};
|
|
242
|
+
const addressSchema = {
|
|
243
|
+
type: "object",
|
|
244
|
+
additionalProperties: false,
|
|
245
|
+
properties: {
|
|
246
|
+
street: { type: "string" }, city: { type: "string" }, state: { type: "string" },
|
|
247
|
+
countryOrRegion: { type: "string" }, postalCode: { type: "string" }, postOfficeBox: { type: "string" },
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
const stringArraySchema = (description) => ({ type: "array", description, items: { type: "string" } });
|
|
251
|
+
const contactFieldProperties = {
|
|
252
|
+
givenName: { type: "string", description: "First name" },
|
|
253
|
+
middleName: { type: "string" }, surname: { type: "string", description: "Last name" },
|
|
254
|
+
title: { type: "string", description: "Courtesy title, such as Dr. or Ms." },
|
|
255
|
+
generation: { type: "string", description: "Name suffix, such as Jr." },
|
|
256
|
+
displayName: { type: "string" }, nickName: { type: "string" },
|
|
257
|
+
email: { type: "string", description: "Single-email convenience field" },
|
|
258
|
+
emailAddresses: {
|
|
259
|
+
type: "array", description: "Complete email list; an empty array clears all email addresses",
|
|
260
|
+
items: { type: "object", additionalProperties: false, properties: { name: { type: "string" }, address: { type: "string" } }, required: ["address"] },
|
|
261
|
+
},
|
|
262
|
+
mobilePhone: { type: "string" },
|
|
263
|
+
businessPhone: { type: "string", description: "Single-business-phone convenience field" },
|
|
264
|
+
businessPhones: stringArraySchema("Complete business phone list; empty clears it"),
|
|
265
|
+
homePhones: stringArraySchema("Complete home phone list; empty clears it"),
|
|
266
|
+
company: { type: "string", description: "Company-name convenience field" },
|
|
267
|
+
companyName: { type: "string" }, jobTitle: { type: "string" }, department: { type: "string" },
|
|
268
|
+
officeLocation: { type: "string" }, profession: { type: "string" }, businessHomePage: { type: "string" },
|
|
269
|
+
notes: { type: "string", description: "Personal-notes convenience field" }, personalNotes: { type: "string" },
|
|
270
|
+
birthday: { type: "string", description: "ISO 8601 date-time in UTC" }, spouseName: { type: "string" },
|
|
271
|
+
assistantName: { type: "string" }, manager: { type: "string" },
|
|
272
|
+
children: stringArraySchema("Children names; empty clears the list"),
|
|
273
|
+
categories: stringArraySchema("Outlook category names; empty removes all categories"),
|
|
274
|
+
imAddresses: stringArraySchema("Instant-messaging addresses; empty clears the list"),
|
|
275
|
+
fileAs: { type: "string" }, homeAddress: addressSchema, businessAddress: addressSchema, otherAddress: addressSchema,
|
|
276
|
+
};
|
|
88
277
|
export const contactsToolSchemas = [
|
|
89
278
|
{
|
|
90
279
|
name: "m365_contacts_list",
|
|
91
|
-
description: "List
|
|
92
|
-
inputSchema: {
|
|
93
|
-
type: "object",
|
|
94
|
-
properties: {
|
|
95
|
-
top: { type: "number", description: "Max results", default: 50 },
|
|
96
|
-
folderId: { type: "string", description: "Contact folder ID (optional)" },
|
|
97
|
-
},
|
|
98
|
-
},
|
|
280
|
+
description: "List contacts, optionally within a folder and filtered by one or more exact category names",
|
|
281
|
+
inputSchema: { type: "object", properties: { top: { type: "number", minimum: 1, maximum: 500, default: 50 }, ...categoryFilterProperties, ...locationProperties } },
|
|
99
282
|
},
|
|
100
283
|
{
|
|
101
284
|
name: "m365_contacts_search",
|
|
102
|
-
description: "Search
|
|
103
|
-
inputSchema: {
|
|
104
|
-
type: "object",
|
|
105
|
-
properties: {
|
|
106
|
-
query: { type: "string", description: "Search query" },
|
|
107
|
-
top: { type: "number", description: "Max results", default: 20 },
|
|
108
|
-
},
|
|
109
|
-
required: ["query"],
|
|
110
|
-
},
|
|
285
|
+
description: "Search contacts by name, email, or company, optionally within a folder and filtered by exact categories",
|
|
286
|
+
inputSchema: { type: "object", properties: { query: { type: "string" }, top: { type: "number", minimum: 1, maximum: 500, default: 20 }, ...categoryFilterProperties, ...locationProperties }, required: ["query"] },
|
|
111
287
|
},
|
|
112
288
|
{
|
|
113
|
-
name: "m365_contacts_read",
|
|
114
|
-
|
|
115
|
-
inputSchema: {
|
|
116
|
-
type: "object",
|
|
117
|
-
properties: {
|
|
118
|
-
contactId: { type: "string", description: "Contact ID" },
|
|
119
|
-
},
|
|
120
|
-
required: ["contactId"],
|
|
121
|
-
},
|
|
289
|
+
name: "m365_contacts_read", description: "Read a contact's full details",
|
|
290
|
+
inputSchema: { type: "object", properties: { contactId: { type: "string" }, ...locationProperties }, required: ["contactId"] },
|
|
122
291
|
},
|
|
123
292
|
{
|
|
124
293
|
name: "m365_contacts_create",
|
|
125
|
-
description: "Create a
|
|
126
|
-
inputSchema: {
|
|
127
|
-
type: "object",
|
|
128
|
-
properties: {
|
|
129
|
-
givenName: { type: "string", description: "First name" },
|
|
130
|
-
surname: { type: "string", description: "Last name" },
|
|
131
|
-
email: { type: "string", description: "Email address" },
|
|
132
|
-
company: { type: "string", description: "Company name" },
|
|
133
|
-
jobTitle: { type: "string", description: "Job title" },
|
|
134
|
-
mobilePhone: { type: "string", description: "Mobile phone" },
|
|
135
|
-
businessPhone: { type: "string", description: "Business phone" },
|
|
136
|
-
notes: { type: "string", description: "Personal notes" },
|
|
137
|
-
},
|
|
138
|
-
},
|
|
294
|
+
description: "Create a contact with names, multiple emails and phones, categories, addresses, and work or personal details",
|
|
295
|
+
inputSchema: { type: "object", properties: { ...contactFieldProperties, ...locationProperties } },
|
|
139
296
|
},
|
|
140
297
|
{
|
|
141
298
|
name: "m365_contacts_update",
|
|
142
|
-
description: "Update
|
|
143
|
-
inputSchema: {
|
|
144
|
-
type: "object",
|
|
145
|
-
properties: {
|
|
146
|
-
contactId: { type: "string", description: "Contact ID" },
|
|
147
|
-
givenName: { type: "string" },
|
|
148
|
-
surname: { type: "string" },
|
|
149
|
-
email: { type: "string" },
|
|
150
|
-
company: { type: "string" },
|
|
151
|
-
jobTitle: { type: "string" },
|
|
152
|
-
mobilePhone: { type: "string" },
|
|
153
|
-
},
|
|
154
|
-
required: ["contactId"],
|
|
155
|
-
},
|
|
299
|
+
description: "Update or clear contact fields; use empty strings or arrays to clear supported values",
|
|
300
|
+
inputSchema: { type: "object", properties: { contactId: { type: "string" }, ...contactFieldProperties, ...locationProperties }, required: ["contactId"] },
|
|
156
301
|
},
|
|
157
302
|
{
|
|
158
|
-
name: "m365_contacts_delete",
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
303
|
+
name: "m365_contacts_delete", description: "Move a contact to Deleted Items",
|
|
304
|
+
inputSchema: { type: "object", properties: { contactId: { type: "string" }, ...locationProperties }, required: ["contactId"] },
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
name: "m365_contacts_categories_list",
|
|
308
|
+
description: "List unique category names assigned to contacts in the default or selected folder, with usage counts",
|
|
309
|
+
inputSchema: { type: "object", properties: { ...locationProperties } },
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
name: "m365_contacts_folders_list", description: "List top-level contact folders or the direct children of one folder",
|
|
313
|
+
inputSchema: { type: "object", properties: { parentFolderId: { type: "string" }, top: { type: "number", minimum: 1, maximum: 500, default: 100 } } },
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
name: "m365_contacts_folder_create", description: "Create a child contact folder under an existing contact folder",
|
|
317
|
+
inputSchema: { type: "object", properties: { parentFolderId: { type: "string" }, displayName: { type: "string" } }, required: ["parentFolderId", "displayName"] },
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
name: "m365_contacts_folder_update", description: "Rename or move a top-level or direct-child contact folder",
|
|
321
|
+
inputSchema: { type: "object", properties: { folderId: { type: "string" }, parentFolderId: { type: "string", description: "Current parent when this is a child folder" }, displayName: { type: "string" }, moveToParentFolderId: { type: "string", description: "New parent folder ID" } }, required: ["folderId"] },
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
name: "m365_contacts_folder_delete", description: "Delete a non-default top-level or direct-child contact folder",
|
|
325
|
+
inputSchema: { type: "object", properties: { folderId: { type: "string" }, parentFolderId: { type: "string", description: "Current parent when this is a child folder" } }, required: ["folderId"] },
|
|
167
326
|
},
|
|
168
327
|
];
|
|
169
328
|
//# sourceMappingURL=contacts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED