@softeria/ms-365-mcp-server 0.88.2 → 0.90.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/dist/endpoints.json +42 -0
- package/dist/generated/client.js +268 -25
- package/package.json +1 -1
- package/src/endpoints.json +42 -0
package/dist/endpoints.json
CHANGED
|
@@ -500,6 +500,27 @@
|
|
|
500
500
|
"scopes": ["Files.ReadWrite"],
|
|
501
501
|
"llmTip": "Shares a file or folder with specific users. Body: { recipients: [{ email: 'user@example.com' }], roles: ['read'], sendInvitation: true, message: 'Please review this file.' }. Roles: 'read', 'write', 'owner'. Set requireSignIn to true to require authentication."
|
|
502
502
|
},
|
|
503
|
+
{
|
|
504
|
+
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/createLink",
|
|
505
|
+
"method": "post",
|
|
506
|
+
"toolName": "create-drive-item-share-link",
|
|
507
|
+
"scopes": ["Files.ReadWrite"],
|
|
508
|
+
"llmTip": "Create a shareable link for a file or folder WITHOUT sending an email invitation. Body: { type: 'view' | 'edit' | 'embed', scope: 'anonymous' | 'organization' | 'users', password?: string, expirationDateTime?: ISO-8601, retainInheritedPermissions?: boolean }. Returns a permission with link.webUrl. Pair with share-drive-item when you want to grant explicit access; use this when you only need a URL to paste into a doc/email/chat without triggering OneDrive notifications."
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/copy",
|
|
512
|
+
"method": "post",
|
|
513
|
+
"toolName": "copy-drive-item",
|
|
514
|
+
"scopes": ["Files.ReadWrite"],
|
|
515
|
+
"llmTip": "Asynchronously copy a file or folder to a new location and/or name. Body: { parentReference: { driveId: '...', id: '...' }, name?: 'New Name.xlsx' }. Returns 202 Accepted with a Location header pointing at a monitor URL for the async job. Ideal for duplicating templates (e.g. clone an Armhr Census Template per prospect), bulk file provisioning, or preserving an immutable snapshot of a working file."
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/preview",
|
|
519
|
+
"method": "post",
|
|
520
|
+
"toolName": "create-drive-item-preview",
|
|
521
|
+
"scopes": ["Files.Read"],
|
|
522
|
+
"llmTip": "Generate a short-lived embeddable preview URL for a file (Office docs, PDFs, images). Body: { page?: number | string, zoom?: number, viewer?: 'onedrive' | 'office' }. Returns getUrl (interactive) and postUrl (form-post). Useful for surfacing inline previews in summary emails or chat messages without needing the recipient to open the file."
|
|
523
|
+
},
|
|
503
524
|
{
|
|
504
525
|
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/permissions",
|
|
505
526
|
"method": "get",
|
|
@@ -1715,5 +1736,26 @@
|
|
|
1715
1736
|
"toolName": "reauthorize-subscription",
|
|
1716
1737
|
"scopes": [],
|
|
1717
1738
|
"llmTip": "Reauthorizes a subscription after receiving a 'reauthorizationRequired' lifecycle notification from Microsoft Graph. No body required. Must be called within the reauthorizationRequiredDateTime window (typically 48h) to avoid subscription expiry."
|
|
1739
|
+
},
|
|
1740
|
+
{
|
|
1741
|
+
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/extractSensitivityLabels",
|
|
1742
|
+
"method": "post",
|
|
1743
|
+
"toolName": "extract-drive-item-sensitivity-labels",
|
|
1744
|
+
"workScopes": ["Files.Read.All"],
|
|
1745
|
+
"llmTip": "Returns the Microsoft Information Protection (MIP) sensitivity labels assigned to a file. No request body. Response: { value: { labels: [{ sensitivityLabelId, assignmentMethod, tenantId }] } }. Use list-sensitivity-labels to map sensitivityLabelId to a human-readable name. Not supported for personal Microsoft accounts. May return 423 Locked if the file is double-key-encrypted or decryption is deferred."
|
|
1746
|
+
},
|
|
1747
|
+
{
|
|
1748
|
+
"pathPattern": "/me/dataSecurityAndGovernance/sensitivityLabels",
|
|
1749
|
+
"method": "get",
|
|
1750
|
+
"toolName": "list-sensitivity-labels",
|
|
1751
|
+
"workScopes": ["SensitivityLabel.Read"],
|
|
1752
|
+
"llmTip": "Lists Microsoft Information Protection (MIP) sensitivity labels available to the signed-in user. Use to map label IDs (returned by extract-drive-item-sensitivity-labels) to human-readable names. Not supported for personal Microsoft accounts."
|
|
1753
|
+
},
|
|
1754
|
+
{
|
|
1755
|
+
"pathPattern": "/me/dataSecurityAndGovernance/sensitivityLabels/{sensitivityLabel-id}",
|
|
1756
|
+
"method": "get",
|
|
1757
|
+
"toolName": "get-sensitivity-label",
|
|
1758
|
+
"workScopes": ["SensitivityLabel.Read"],
|
|
1759
|
+
"llmTip": "Gets a single MIP sensitivity label by id. Use list-sensitivity-labels to find ids. Not supported for personal Microsoft accounts."
|
|
1718
1760
|
}
|
|
1719
1761
|
]
|
package/dist/generated/client.js
CHANGED
|
@@ -763,30 +763,24 @@ const microsoft_graph_driveItemCollectionResponse = z.object({
|
|
|
763
763
|
"@odata.nextLink": z.string().nullable(),
|
|
764
764
|
value: z.array(microsoft_graph_driveItem)
|
|
765
765
|
}).partial().passthrough();
|
|
766
|
-
const
|
|
767
|
-
|
|
766
|
+
const copy_drive_item_Body = z.object({
|
|
767
|
+
name: z.string().nullable(),
|
|
768
|
+
parentReference: z.union([microsoft_graph_itemReference, z.object({}).partial().passthrough()]),
|
|
769
|
+
childrenOnly: z.boolean().nullable().default(false),
|
|
770
|
+
includeAllVersionHistory: z.boolean().nullable().default(false)
|
|
771
|
+
}).partial().passthrough();
|
|
772
|
+
const create_drive_item_share_link_Body = z.object({
|
|
773
|
+
type: z.string().nullable(),
|
|
774
|
+
scope: z.string().nullable(),
|
|
768
775
|
expirationDateTime: z.string().regex(
|
|
769
776
|
/^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$/
|
|
770
|
-
).datetime({ offset: true }).
|
|
771
|
-
|
|
772
|
-
).nullish(),
|
|
773
|
-
nextExpectedRanges: z.array(z.string().nullable()).describe(
|
|
774
|
-
"A collection of byte ranges that the server is missing for the file. These ranges are zero indexed and of the format 'start-end' (for example '0-26' to indicate the first 27 bytes of the file). When uploading files as Outlook attachments, instead of a collection of ranges, this property always indicates a single value '{start}', the location in the file where the next upload should begin."
|
|
775
|
-
).optional(),
|
|
776
|
-
uploadUrl: z.string().describe("The URL endpoint that accepts PUT requests for byte ranges of the file.").nullish()
|
|
777
|
-
}).passthrough();
|
|
778
|
-
const BaseDeltaFunctionResponse = z.object({ "@odata.nextLink": z.string().nullable(), "@odata.deltaLink": z.string().nullable() }).partial().passthrough();
|
|
779
|
-
const share_drive_item_Body = z.object({
|
|
780
|
-
requireSignIn: z.boolean().nullable().default(false),
|
|
781
|
-
roles: z.array(z.string().nullable()),
|
|
782
|
-
sendInvitation: z.boolean().nullable().default(false),
|
|
777
|
+
).datetime({ offset: true }).nullable(),
|
|
778
|
+
password: z.string().nullable(),
|
|
783
779
|
message: z.string().nullable(),
|
|
784
780
|
recipients: z.array(z.object({}).partial().passthrough()),
|
|
785
781
|
retainInheritedPermissions: z.boolean().nullable().default(false),
|
|
786
|
-
|
|
787
|
-
password: z.string().nullable()
|
|
782
|
+
sendNotification: z.boolean().nullable().default(false)
|
|
788
783
|
}).partial().passthrough();
|
|
789
|
-
const BaseCollectionPaginationCountResponse = z.object({ "@odata.count": z.number().int().nullable(), "@odata.nextLink": z.string().nullable() }).partial().passthrough();
|
|
790
784
|
const microsoft_graph_sharePointGroupIdentity = z.object({
|
|
791
785
|
displayName: z.string().describe(
|
|
792
786
|
"The display name of the identity.For drive items, the display name might not always be available or up to date. For example, if a user changes their display name the API might show the new value in a future response, but the items associated with the user don't show up as changed when using delta."
|
|
@@ -867,6 +861,56 @@ const microsoft_graph_permission = z.object({
|
|
|
867
861
|
"A unique token that can be used to access this shared item via the shares API. Read-only."
|
|
868
862
|
).nullish()
|
|
869
863
|
}).passthrough();
|
|
864
|
+
const create_upload_session_Body = z.object({ item: z.object({}).partial().passthrough() }).partial().passthrough();
|
|
865
|
+
const microsoft_graph_uploadSession = z.object({
|
|
866
|
+
expirationDateTime: z.string().regex(
|
|
867
|
+
/^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$/
|
|
868
|
+
).datetime({ offset: true }).describe(
|
|
869
|
+
"The date and time in UTC that the upload session expires. The complete file must be uploaded before this expiration time is reached. Each fragment uploaded during the session extends the expiration time."
|
|
870
|
+
).nullish(),
|
|
871
|
+
nextExpectedRanges: z.array(z.string().nullable()).describe(
|
|
872
|
+
"A collection of byte ranges that the server is missing for the file. These ranges are zero indexed and of the format 'start-end' (for example '0-26' to indicate the first 27 bytes of the file). When uploading files as Outlook attachments, instead of a collection of ranges, this property always indicates a single value '{start}', the location in the file where the next upload should begin."
|
|
873
|
+
).optional(),
|
|
874
|
+
uploadUrl: z.string().describe("The URL endpoint that accepts PUT requests for byte ranges of the file.").nullish()
|
|
875
|
+
}).passthrough();
|
|
876
|
+
const BaseDeltaFunctionResponse = z.object({ "@odata.nextLink": z.string().nullable(), "@odata.deltaLink": z.string().nullable() }).partial().passthrough();
|
|
877
|
+
const microsoft_graph_sensitivityLabelAssignmentMethod = z.enum([
|
|
878
|
+
"standard",
|
|
879
|
+
"privileged",
|
|
880
|
+
"auto",
|
|
881
|
+
"unknownFutureValue"
|
|
882
|
+
]);
|
|
883
|
+
const microsoft_graph_sensitivityLabelAssignment = z.object({
|
|
884
|
+
assignmentMethod: microsoft_graph_sensitivityLabelAssignmentMethod.optional(),
|
|
885
|
+
sensitivityLabelId: z.string().describe("The unique identifier for the sensitivity label assigned to the file.").optional(),
|
|
886
|
+
tenantId: z.string().describe(
|
|
887
|
+
"The unique identifier for the tenant that hosts the file when this label is applied."
|
|
888
|
+
).optional()
|
|
889
|
+
}).passthrough();
|
|
890
|
+
const microsoft_graph_extractSensitivityLabelsResult = z.object({
|
|
891
|
+
labels: z.array(microsoft_graph_sensitivityLabelAssignment).describe("List of sensitivity labels assigned to a file.").optional()
|
|
892
|
+
}).passthrough();
|
|
893
|
+
const share_drive_item_Body = z.object({
|
|
894
|
+
requireSignIn: z.boolean().nullable().default(false),
|
|
895
|
+
roles: z.array(z.string().nullable()),
|
|
896
|
+
sendInvitation: z.boolean().nullable().default(false),
|
|
897
|
+
message: z.string().nullable(),
|
|
898
|
+
recipients: z.array(z.object({}).partial().passthrough()),
|
|
899
|
+
retainInheritedPermissions: z.boolean().nullable().default(false),
|
|
900
|
+
expirationDateTime: z.string().nullable(),
|
|
901
|
+
password: z.string().nullable()
|
|
902
|
+
}).partial().passthrough();
|
|
903
|
+
const BaseCollectionPaginationCountResponse = z.object({ "@odata.count": z.number().int().nullable(), "@odata.nextLink": z.string().nullable() }).partial().passthrough();
|
|
904
|
+
const ReferenceNumeric = z.enum(["-INF", "INF", "NaN"]);
|
|
905
|
+
const create_drive_item_preview_Body = z.object({
|
|
906
|
+
page: z.string().nullable(),
|
|
907
|
+
zoom: z.union([z.number(), z.string(), ReferenceNumeric])
|
|
908
|
+
}).partial().passthrough();
|
|
909
|
+
const microsoft_graph_itemPreviewInfo = z.object({
|
|
910
|
+
getUrl: z.string().nullish(),
|
|
911
|
+
postParameters: z.string().nullish(),
|
|
912
|
+
postUrl: z.string().nullish()
|
|
913
|
+
}).passthrough();
|
|
870
914
|
const microsoft_graph_permissionCollectionResponse = z.object({
|
|
871
915
|
"@odata.count": z.number().int().nullable(),
|
|
872
916
|
"@odata.nextLink": z.string().nullable(),
|
|
@@ -1975,6 +2019,67 @@ const microsoft_graph_contactCollectionResponse = z.object({
|
|
|
1975
2019
|
"@odata.nextLink": z.string().nullable(),
|
|
1976
2020
|
value: z.array(microsoft_graph_contact)
|
|
1977
2021
|
}).partial().passthrough();
|
|
2022
|
+
const microsoft_graph_labelActionSource = z.enum([
|
|
2023
|
+
"manual",
|
|
2024
|
+
"automatic",
|
|
2025
|
+
"recommended",
|
|
2026
|
+
"none",
|
|
2027
|
+
"unknownFutureValue"
|
|
2028
|
+
]);
|
|
2029
|
+
const microsoft_graph_usageRights = z.enum([
|
|
2030
|
+
"unknown",
|
|
2031
|
+
"docEdit",
|
|
2032
|
+
"edit",
|
|
2033
|
+
"comment",
|
|
2034
|
+
"export",
|
|
2035
|
+
"forward",
|
|
2036
|
+
"owner",
|
|
2037
|
+
"print",
|
|
2038
|
+
"reply",
|
|
2039
|
+
"replyAll",
|
|
2040
|
+
"view",
|
|
2041
|
+
"extract",
|
|
2042
|
+
"viewRightsData",
|
|
2043
|
+
"editRightsData",
|
|
2044
|
+
"objModel",
|
|
2045
|
+
"accessDenied",
|
|
2046
|
+
"userDefinedProtectionTypeNotSupportedException",
|
|
2047
|
+
"encryptedProtectionTypeNotSupportedException",
|
|
2048
|
+
"purviewClaimsChallengeNotSupportedException",
|
|
2049
|
+
"exception",
|
|
2050
|
+
"labelNotFoundException",
|
|
2051
|
+
"unknownFutureValue"
|
|
2052
|
+
]);
|
|
2053
|
+
const microsoft_graph_usageRightsIncluded = z.object({
|
|
2054
|
+
id: z.string().describe("The unique identifier for an entity. Read-only.").optional(),
|
|
2055
|
+
ownerEmail: z.string().describe("The email of owner label rights.").nullish(),
|
|
2056
|
+
userEmail: z.string().describe("The email of user with label user rights.").nullish(),
|
|
2057
|
+
value: microsoft_graph_usageRights.optional()
|
|
2058
|
+
}).passthrough();
|
|
2059
|
+
const microsoft_graph_sensitivityLabel = z.lazy(
|
|
2060
|
+
() => z.object({
|
|
2061
|
+
id: z.string().describe("The unique identifier for an entity. Read-only.").optional(),
|
|
2062
|
+
actionSource: microsoft_graph_labelActionSource.optional(),
|
|
2063
|
+
autoTooltip: z.string().nullish(),
|
|
2064
|
+
description: z.string().nullish(),
|
|
2065
|
+
displayName: z.string().nullish(),
|
|
2066
|
+
hasProtection: z.boolean().nullish(),
|
|
2067
|
+
isDefault: z.boolean().nullish(),
|
|
2068
|
+
isEndpointProtectionEnabled: z.boolean().nullish(),
|
|
2069
|
+
isScopedToUser: z.boolean().nullish(),
|
|
2070
|
+
locale: z.string().nullish(),
|
|
2071
|
+
name: z.string().nullish(),
|
|
2072
|
+
priority: z.number().gte(-2147483648).lte(2147483647).nullish(),
|
|
2073
|
+
toolTip: z.string().nullish(),
|
|
2074
|
+
rights: microsoft_graph_usageRightsIncluded.optional(),
|
|
2075
|
+
sublabels: z.array(microsoft_graph_sensitivityLabel).optional()
|
|
2076
|
+
}).passthrough()
|
|
2077
|
+
);
|
|
2078
|
+
const microsoft_graph_sensitivityLabelCollectionResponse = z.object({
|
|
2079
|
+
"@odata.count": z.number().int().nullable(),
|
|
2080
|
+
"@odata.nextLink": z.string().nullable(),
|
|
2081
|
+
value: z.array(microsoft_graph_sensitivityLabel)
|
|
2082
|
+
}).partial().passthrough();
|
|
1978
2083
|
const microsoft_graph_storagePlanInformation = z.object({
|
|
1979
2084
|
upgradeAvailable: z.boolean().describe("Indicates whether there are higher storage quota plans available. Read-only.").nullish()
|
|
1980
2085
|
}).passthrough();
|
|
@@ -3004,7 +3109,6 @@ const microsoft_graph_timeConstraint = z.object({
|
|
|
3004
3109
|
activityDomain: microsoft_graph_activityDomain.optional(),
|
|
3005
3110
|
timeSlots: z.array(microsoft_graph_timeSlot).optional()
|
|
3006
3111
|
}).passthrough();
|
|
3007
|
-
const ReferenceNumeric = z.enum(["-INF", "INF", "NaN"]);
|
|
3008
3112
|
const find_meeting_times_Body = z.object({
|
|
3009
3113
|
attendees: z.array(microsoft_graph_attendeeBase),
|
|
3010
3114
|
locationConstraint: z.union([
|
|
@@ -4401,17 +4505,25 @@ const schemas = {
|
|
|
4401
4505
|
microsoft_graph_pendingOperations,
|
|
4402
4506
|
microsoft_graph_driveItem,
|
|
4403
4507
|
microsoft_graph_driveItemCollectionResponse,
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
BaseDeltaFunctionResponse,
|
|
4407
|
-
share_drive_item_Body,
|
|
4408
|
-
BaseCollectionPaginationCountResponse,
|
|
4508
|
+
copy_drive_item_Body,
|
|
4509
|
+
create_drive_item_share_link_Body,
|
|
4409
4510
|
microsoft_graph_sharePointGroupIdentity,
|
|
4410
4511
|
microsoft_graph_sharePointIdentity,
|
|
4411
4512
|
microsoft_graph_sharePointIdentitySet,
|
|
4412
4513
|
microsoft_graph_sharingInvitation,
|
|
4413
4514
|
microsoft_graph_sharingLink,
|
|
4414
4515
|
microsoft_graph_permission,
|
|
4516
|
+
create_upload_session_Body,
|
|
4517
|
+
microsoft_graph_uploadSession,
|
|
4518
|
+
BaseDeltaFunctionResponse,
|
|
4519
|
+
microsoft_graph_sensitivityLabelAssignmentMethod,
|
|
4520
|
+
microsoft_graph_sensitivityLabelAssignment,
|
|
4521
|
+
microsoft_graph_extractSensitivityLabelsResult,
|
|
4522
|
+
share_drive_item_Body,
|
|
4523
|
+
BaseCollectionPaginationCountResponse,
|
|
4524
|
+
ReferenceNumeric,
|
|
4525
|
+
create_drive_item_preview_Body,
|
|
4526
|
+
microsoft_graph_itemPreviewInfo,
|
|
4415
4527
|
microsoft_graph_permissionCollectionResponse,
|
|
4416
4528
|
microsoft_graph_publicationFacet,
|
|
4417
4529
|
microsoft_graph_driveItemVersion,
|
|
@@ -4520,6 +4632,11 @@ const schemas = {
|
|
|
4520
4632
|
microsoft_graph_chatCollectionResponse,
|
|
4521
4633
|
microsoft_graph_contact,
|
|
4522
4634
|
microsoft_graph_contactCollectionResponse,
|
|
4635
|
+
microsoft_graph_labelActionSource,
|
|
4636
|
+
microsoft_graph_usageRights,
|
|
4637
|
+
microsoft_graph_usageRightsIncluded,
|
|
4638
|
+
microsoft_graph_sensitivityLabel,
|
|
4639
|
+
microsoft_graph_sensitivityLabelCollectionResponse,
|
|
4523
4640
|
microsoft_graph_storagePlanInformation,
|
|
4524
4641
|
microsoft_graph_quota,
|
|
4525
4642
|
microsoft_graph_systemFacet,
|
|
@@ -4620,7 +4737,6 @@ const schemas = {
|
|
|
4620
4737
|
microsoft_graph_locationConstraint,
|
|
4621
4738
|
microsoft_graph_activityDomain,
|
|
4622
4739
|
microsoft_graph_timeConstraint,
|
|
4623
|
-
ReferenceNumeric,
|
|
4624
4740
|
find_meeting_times_Body,
|
|
4625
4741
|
send_mail_Body,
|
|
4626
4742
|
microsoft_graph_externalLink,
|
|
@@ -5402,6 +5518,39 @@ const endpoints = makeApi([
|
|
|
5402
5518
|
],
|
|
5403
5519
|
response: z.void()
|
|
5404
5520
|
},
|
|
5521
|
+
{
|
|
5522
|
+
method: "post",
|
|
5523
|
+
path: "/drives/:driveId/items/:driveItemId/copy",
|
|
5524
|
+
alias: "copy-drive-item",
|
|
5525
|
+
description: `Invoke action copy`,
|
|
5526
|
+
requestFormat: "json",
|
|
5527
|
+
parameters: [
|
|
5528
|
+
{
|
|
5529
|
+
name: "body",
|
|
5530
|
+
description: `Action parameters`,
|
|
5531
|
+
type: "Body",
|
|
5532
|
+
schema: copy_drive_item_Body
|
|
5533
|
+
}
|
|
5534
|
+
],
|
|
5535
|
+
response: z.void()
|
|
5536
|
+
},
|
|
5537
|
+
{
|
|
5538
|
+
method: "post",
|
|
5539
|
+
path: "/drives/:driveId/items/:driveItemId/createLink",
|
|
5540
|
+
alias: "create-drive-item-share-link",
|
|
5541
|
+
description: `Create a link to share a driveItem driveItem. The createLink action creates a new sharing link if the specified link type doesn't already exist for the calling application.
|
|
5542
|
+
If a sharing link of the specified type already exists for the app, the existing sharing link is returned. DriveItem resources inherit sharing permissions from their ancestors.`,
|
|
5543
|
+
requestFormat: "json",
|
|
5544
|
+
parameters: [
|
|
5545
|
+
{
|
|
5546
|
+
name: "body",
|
|
5547
|
+
description: `Action parameters`,
|
|
5548
|
+
type: "Body",
|
|
5549
|
+
schema: create_drive_item_share_link_Body
|
|
5550
|
+
}
|
|
5551
|
+
],
|
|
5552
|
+
response: z.void()
|
|
5553
|
+
},
|
|
5405
5554
|
{
|
|
5406
5555
|
method: "post",
|
|
5407
5556
|
path: "/drives/:driveId/items/:driveItemId/createUploadSession",
|
|
@@ -5472,6 +5621,14 @@ Items with this property set should be removed from your local state.`,
|
|
|
5472
5621
|
],
|
|
5473
5622
|
response: z.void()
|
|
5474
5623
|
},
|
|
5624
|
+
{
|
|
5625
|
+
method: "post",
|
|
5626
|
+
path: "/drives/:driveId/items/:driveItemId/extractSensitivityLabels",
|
|
5627
|
+
alias: "extract-drive-item-sensitivity-labels",
|
|
5628
|
+
description: `Invoke action extractSensitivityLabels`,
|
|
5629
|
+
requestFormat: "json",
|
|
5630
|
+
response: z.void()
|
|
5631
|
+
},
|
|
5475
5632
|
{
|
|
5476
5633
|
method: "post",
|
|
5477
5634
|
path: "/drives/:driveId/items/:driveItemId/invite",
|
|
@@ -5553,6 +5710,22 @@ Items with this property set should be removed from your local state.`,
|
|
|
5553
5710
|
],
|
|
5554
5711
|
response: z.void()
|
|
5555
5712
|
},
|
|
5713
|
+
{
|
|
5714
|
+
method: "post",
|
|
5715
|
+
path: "/drives/:driveId/items/:driveItemId/preview",
|
|
5716
|
+
alias: "create-drive-item-preview",
|
|
5717
|
+
description: `Invoke action preview`,
|
|
5718
|
+
requestFormat: "json",
|
|
5719
|
+
parameters: [
|
|
5720
|
+
{
|
|
5721
|
+
name: "body",
|
|
5722
|
+
description: `Action parameters`,
|
|
5723
|
+
type: "Body",
|
|
5724
|
+
schema: create_drive_item_preview_Body
|
|
5725
|
+
}
|
|
5726
|
+
],
|
|
5727
|
+
response: z.void()
|
|
5728
|
+
},
|
|
5556
5729
|
{
|
|
5557
5730
|
method: "get",
|
|
5558
5731
|
path: "/drives/:driveId/items/:driveItemId/versions",
|
|
@@ -7571,6 +7744,76 @@ or from some other calendar of the user.`,
|
|
|
7571
7744
|
],
|
|
7572
7745
|
response: z.void()
|
|
7573
7746
|
},
|
|
7747
|
+
{
|
|
7748
|
+
method: "get",
|
|
7749
|
+
path: "/me/dataSecurityAndGovernance/sensitivityLabels",
|
|
7750
|
+
alias: "list-sensitivity-labels",
|
|
7751
|
+
description: `Get sensitivityLabels from me`,
|
|
7752
|
+
requestFormat: "json",
|
|
7753
|
+
parameters: [
|
|
7754
|
+
{
|
|
7755
|
+
name: "$top",
|
|
7756
|
+
type: "Query",
|
|
7757
|
+
schema: z.number().int().gte(0).describe("Show only the first n items").optional()
|
|
7758
|
+
},
|
|
7759
|
+
{
|
|
7760
|
+
name: "$skip",
|
|
7761
|
+
type: "Query",
|
|
7762
|
+
schema: z.number().int().gte(0).describe("Skip the first n items").optional()
|
|
7763
|
+
},
|
|
7764
|
+
{
|
|
7765
|
+
name: "$search",
|
|
7766
|
+
type: "Query",
|
|
7767
|
+
schema: z.string().describe("Search items by search phrases").optional()
|
|
7768
|
+
},
|
|
7769
|
+
{
|
|
7770
|
+
name: "$filter",
|
|
7771
|
+
type: "Query",
|
|
7772
|
+
schema: z.string().describe("Filter items by property values").optional()
|
|
7773
|
+
},
|
|
7774
|
+
{
|
|
7775
|
+
name: "$count",
|
|
7776
|
+
type: "Query",
|
|
7777
|
+
schema: z.boolean().describe("Include count of items").optional()
|
|
7778
|
+
},
|
|
7779
|
+
{
|
|
7780
|
+
name: "$orderby",
|
|
7781
|
+
type: "Query",
|
|
7782
|
+
schema: z.array(z.string()).describe("Order items by property values").optional()
|
|
7783
|
+
},
|
|
7784
|
+
{
|
|
7785
|
+
name: "$select",
|
|
7786
|
+
type: "Query",
|
|
7787
|
+
schema: z.array(z.string()).describe("Select properties to be returned").optional()
|
|
7788
|
+
},
|
|
7789
|
+
{
|
|
7790
|
+
name: "$expand",
|
|
7791
|
+
type: "Query",
|
|
7792
|
+
schema: z.array(z.string()).describe("Expand related entities").optional()
|
|
7793
|
+
}
|
|
7794
|
+
],
|
|
7795
|
+
response: z.void()
|
|
7796
|
+
},
|
|
7797
|
+
{
|
|
7798
|
+
method: "get",
|
|
7799
|
+
path: "/me/dataSecurityAndGovernance/sensitivityLabels/:sensitivityLabelId",
|
|
7800
|
+
alias: "get-sensitivity-label",
|
|
7801
|
+
description: `Get sensitivityLabels from me`,
|
|
7802
|
+
requestFormat: "json",
|
|
7803
|
+
parameters: [
|
|
7804
|
+
{
|
|
7805
|
+
name: "$select",
|
|
7806
|
+
type: "Query",
|
|
7807
|
+
schema: z.array(z.string()).describe("Select properties to be returned").optional()
|
|
7808
|
+
},
|
|
7809
|
+
{
|
|
7810
|
+
name: "$expand",
|
|
7811
|
+
type: "Query",
|
|
7812
|
+
schema: z.array(z.string()).describe("Expand related entities").optional()
|
|
7813
|
+
}
|
|
7814
|
+
],
|
|
7815
|
+
response: z.void()
|
|
7816
|
+
},
|
|
7574
7817
|
{
|
|
7575
7818
|
method: "get",
|
|
7576
7819
|
path: "/me/directReports",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softeria/ms-365-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.90.0",
|
|
4
4
|
"description": " A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
package/src/endpoints.json
CHANGED
|
@@ -500,6 +500,27 @@
|
|
|
500
500
|
"scopes": ["Files.ReadWrite"],
|
|
501
501
|
"llmTip": "Shares a file or folder with specific users. Body: { recipients: [{ email: 'user@example.com' }], roles: ['read'], sendInvitation: true, message: 'Please review this file.' }. Roles: 'read', 'write', 'owner'. Set requireSignIn to true to require authentication."
|
|
502
502
|
},
|
|
503
|
+
{
|
|
504
|
+
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/createLink",
|
|
505
|
+
"method": "post",
|
|
506
|
+
"toolName": "create-drive-item-share-link",
|
|
507
|
+
"scopes": ["Files.ReadWrite"],
|
|
508
|
+
"llmTip": "Create a shareable link for a file or folder WITHOUT sending an email invitation. Body: { type: 'view' | 'edit' | 'embed', scope: 'anonymous' | 'organization' | 'users', password?: string, expirationDateTime?: ISO-8601, retainInheritedPermissions?: boolean }. Returns a permission with link.webUrl. Pair with share-drive-item when you want to grant explicit access; use this when you only need a URL to paste into a doc/email/chat without triggering OneDrive notifications."
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/copy",
|
|
512
|
+
"method": "post",
|
|
513
|
+
"toolName": "copy-drive-item",
|
|
514
|
+
"scopes": ["Files.ReadWrite"],
|
|
515
|
+
"llmTip": "Asynchronously copy a file or folder to a new location and/or name. Body: { parentReference: { driveId: '...', id: '...' }, name?: 'New Name.xlsx' }. Returns 202 Accepted with a Location header pointing at a monitor URL for the async job. Ideal for duplicating templates (e.g. clone an Armhr Census Template per prospect), bulk file provisioning, or preserving an immutable snapshot of a working file."
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/preview",
|
|
519
|
+
"method": "post",
|
|
520
|
+
"toolName": "create-drive-item-preview",
|
|
521
|
+
"scopes": ["Files.Read"],
|
|
522
|
+
"llmTip": "Generate a short-lived embeddable preview URL for a file (Office docs, PDFs, images). Body: { page?: number | string, zoom?: number, viewer?: 'onedrive' | 'office' }. Returns getUrl (interactive) and postUrl (form-post). Useful for surfacing inline previews in summary emails or chat messages without needing the recipient to open the file."
|
|
523
|
+
},
|
|
503
524
|
{
|
|
504
525
|
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/permissions",
|
|
505
526
|
"method": "get",
|
|
@@ -1715,5 +1736,26 @@
|
|
|
1715
1736
|
"toolName": "reauthorize-subscription",
|
|
1716
1737
|
"scopes": [],
|
|
1717
1738
|
"llmTip": "Reauthorizes a subscription after receiving a 'reauthorizationRequired' lifecycle notification from Microsoft Graph. No body required. Must be called within the reauthorizationRequiredDateTime window (typically 48h) to avoid subscription expiry."
|
|
1739
|
+
},
|
|
1740
|
+
{
|
|
1741
|
+
"pathPattern": "/drives/{drive-id}/items/{driveItem-id}/extractSensitivityLabels",
|
|
1742
|
+
"method": "post",
|
|
1743
|
+
"toolName": "extract-drive-item-sensitivity-labels",
|
|
1744
|
+
"workScopes": ["Files.Read.All"],
|
|
1745
|
+
"llmTip": "Returns the Microsoft Information Protection (MIP) sensitivity labels assigned to a file. No request body. Response: { value: { labels: [{ sensitivityLabelId, assignmentMethod, tenantId }] } }. Use list-sensitivity-labels to map sensitivityLabelId to a human-readable name. Not supported for personal Microsoft accounts. May return 423 Locked if the file is double-key-encrypted or decryption is deferred."
|
|
1746
|
+
},
|
|
1747
|
+
{
|
|
1748
|
+
"pathPattern": "/me/dataSecurityAndGovernance/sensitivityLabels",
|
|
1749
|
+
"method": "get",
|
|
1750
|
+
"toolName": "list-sensitivity-labels",
|
|
1751
|
+
"workScopes": ["SensitivityLabel.Read"],
|
|
1752
|
+
"llmTip": "Lists Microsoft Information Protection (MIP) sensitivity labels available to the signed-in user. Use to map label IDs (returned by extract-drive-item-sensitivity-labels) to human-readable names. Not supported for personal Microsoft accounts."
|
|
1753
|
+
},
|
|
1754
|
+
{
|
|
1755
|
+
"pathPattern": "/me/dataSecurityAndGovernance/sensitivityLabels/{sensitivityLabel-id}",
|
|
1756
|
+
"method": "get",
|
|
1757
|
+
"toolName": "get-sensitivity-label",
|
|
1758
|
+
"workScopes": ["SensitivityLabel.Read"],
|
|
1759
|
+
"llmTip": "Gets a single MIP sensitivity label by id. Use list-sensitivity-labels to find ids. Not supported for personal Microsoft accounts."
|
|
1718
1760
|
}
|
|
1719
1761
|
]
|