@softeria/ms-365-mcp-server 0.103.0 → 0.105.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 +51 -0
- package/dist/generated/client.js +207 -0
- package/package.json +1 -1
- package/src/endpoints.json +51 -0
package/dist/endpoints.json
CHANGED
|
@@ -1981,5 +1981,56 @@
|
|
|
1981
1981
|
"toolName": "create-contact-in-folder",
|
|
1982
1982
|
"scopes": ["Contacts.ReadWrite"],
|
|
1983
1983
|
"llmTip": "Creates a contact inside a specific folder (instead of the default Contacts folder). Body is a contact resource: { givenName, surname, displayName, emailAddresses: [{ address, name }], businessPhones: [], mobilePhone, jobTitle, companyName, ... }. The existing create-outlook-contact (POST /me/contacts) writes to the default folder only; use this when organizing contacts into named folders. Get the folder id via list-contact-folders."
|
|
1984
|
+
},
|
|
1985
|
+
{
|
|
1986
|
+
"pathPattern": "/me/photo/$value",
|
|
1987
|
+
"method": "put",
|
|
1988
|
+
"toolName": "upload-my-profile-photo",
|
|
1989
|
+
"scopes": ["User.ReadWrite"],
|
|
1990
|
+
"contentType": "image/jpeg",
|
|
1991
|
+
"llmTip": "Uploads a new profile photo for the signed-in user. Body is a base64-encoded string of the image bytes (the server decodes before PUT). Photo must be JPEG, max 4 MB. Microsoft 365 generates HD downsized variants automatically (48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504, 648x648). For work or school accounts, ProfilePhoto.ReadWrite.All is the more granular alternative permission. Use download-bytes with target=/me/photo/$value to retrieve the current photo."
|
|
1992
|
+
},
|
|
1993
|
+
{
|
|
1994
|
+
"pathPattern": "/me/todo/lists",
|
|
1995
|
+
"method": "post",
|
|
1996
|
+
"toolName": "create-todo-task-list",
|
|
1997
|
+
"scopes": ["Tasks.ReadWrite"],
|
|
1998
|
+
"llmTip": "Creates a new Microsoft To Do task list (the named buckets shown in the To Do app sidebar). Body: { displayName: 'My new list' }. Returns the created todoTaskList with its id, displayName, isOwner, isShared, and wellknownListName ('none' for user-created lists). The built-in lists ('Tasks', 'Flagged emails') already exist and cannot be re-created. Pair with create-todo-task to populate it."
|
|
1999
|
+
},
|
|
2000
|
+
{
|
|
2001
|
+
"pathPattern": "/me/todo/lists/{todoTaskList-id}",
|
|
2002
|
+
"method": "patch",
|
|
2003
|
+
"toolName": "update-todo-task-list",
|
|
2004
|
+
"scopes": ["Tasks.ReadWrite"],
|
|
2005
|
+
"llmTip": "Renames a Microsoft To Do task list. Body: { displayName: 'New name' }. Only displayName is writable. Built-in lists (Flagged emails, the default Tasks list) cannot be renamed — the API returns an error. Get list ids via list-todo-task-lists."
|
|
2006
|
+
},
|
|
2007
|
+
{
|
|
2008
|
+
"pathPattern": "/me/todo/lists/{todoTaskList-id}",
|
|
2009
|
+
"method": "delete",
|
|
2010
|
+
"toolName": "delete-todo-task-list",
|
|
2011
|
+
"scopes": ["Tasks.ReadWrite"],
|
|
2012
|
+
"llmTip": "Deletes a Microsoft To Do task list and ALL of its tasks (cascades). Built-in lists cannot be deleted — the API returns an error for those. Get list ids via list-todo-task-lists. Operation is irreversible."
|
|
2013
|
+
},
|
|
2014
|
+
{
|
|
2015
|
+
"pathPattern": "/me/onenote/pages",
|
|
2016
|
+
"method": "get",
|
|
2017
|
+
"toolName": "list-onenote-pages",
|
|
2018
|
+
"scopes": ["Notes.Read"],
|
|
2019
|
+
"llmTip": "Lists all OneNote pages across every notebook and section the user has access to — transverse alternative to walking notebooks → sections → pages. Default returns top 20 ordered by lastModifiedTime desc. Supports $search='query' for full-text search across page titles and bodies, $filter (e.g. lastModifiedTime gt 2026-01-01), $top (max 100), $select, and $expand=parentNotebook,parentSection. Use $search before bouncing through list-onenote-notebooks / list-all-onenote-sections / list-onenote-section-pages when you only have a topic in mind."
|
|
2020
|
+
},
|
|
2021
|
+
{
|
|
2022
|
+
"pathPattern": "/me/onenote/sectionGroups",
|
|
2023
|
+
"method": "get",
|
|
2024
|
+
"toolName": "list-onenote-section-groups",
|
|
2025
|
+
"scopes": ["Notes.Read"],
|
|
2026
|
+
"llmTip": "Lists all OneNote section groups (subfolders inside notebooks that contain their own sections and nested section groups) for the user. A section group is a folder-like container — many notebooks use them to organize sections by theme. Default sort is name asc. Supports $expand=sections,sectionGroups,parentNotebook,parentSectionGroup to traverse the full hierarchy. Pair with list-onenote-notebooks for a complete picture of the user's notebook structure."
|
|
2027
|
+
},
|
|
2028
|
+
{
|
|
2029
|
+
"pathPattern": "/me/onenote/notebooks/getNotebookFromWebUrl",
|
|
2030
|
+
"method": "post",
|
|
2031
|
+
"toolName": "get-onenote-notebook-from-web-url",
|
|
2032
|
+
"workScopes": ["Notes.Read"],
|
|
2033
|
+
"contentType": "application/json",
|
|
2034
|
+
"llmTip": "Resolves a OneNote notebook from its web URL (the link a user copies from OneNote / SharePoint / Teams). Body: { webUrl: 'https://...' }. Returns a CopyNotebookModel with the notebook's id, displayName, sectionsUrl, sectionGroupsUrl, and isShared — you can then list its sections via list-onenote-notebook-sections. Accepts user notebooks, group notebooks, and SharePoint-hosted team notebooks. Personal Microsoft accounts are not supported."
|
|
1984
2035
|
}
|
|
1985
2036
|
]
|
package/dist/generated/client.js
CHANGED
|
@@ -3341,11 +3341,37 @@ const microsoft_graph_onenoteSectionCollectionResponse = z.object({
|
|
|
3341
3341
|
"@odata.nextLink": z.string().nullable(),
|
|
3342
3342
|
value: z.array(microsoft_graph_onenoteSection)
|
|
3343
3343
|
}).partial().passthrough();
|
|
3344
|
+
const microsoft_graph_CopyNotebookModel = z.object({
|
|
3345
|
+
createdBy: z.string().nullish(),
|
|
3346
|
+
createdByIdentity: microsoft_graph_identitySet.optional(),
|
|
3347
|
+
createdTime: z.string().regex(
|
|
3348
|
+
/^[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])$/
|
|
3349
|
+
).datetime({ offset: true }).nullish(),
|
|
3350
|
+
id: z.string().nullish(),
|
|
3351
|
+
isDefault: z.boolean().nullish(),
|
|
3352
|
+
isShared: z.boolean().nullish(),
|
|
3353
|
+
lastModifiedBy: z.string().nullish(),
|
|
3354
|
+
lastModifiedByIdentity: microsoft_graph_identitySet.optional(),
|
|
3355
|
+
lastModifiedTime: z.string().regex(
|
|
3356
|
+
/^[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])$/
|
|
3357
|
+
).datetime({ offset: true }).nullish(),
|
|
3358
|
+
links: microsoft_graph_notebookLinks.optional(),
|
|
3359
|
+
name: z.string().nullish(),
|
|
3360
|
+
sectionGroupsUrl: z.string().nullish(),
|
|
3361
|
+
sectionsUrl: z.string().nullish(),
|
|
3362
|
+
self: z.string().nullish(),
|
|
3363
|
+
userRole: microsoft_graph_onenoteUserRole.optional()
|
|
3364
|
+
}).passthrough();
|
|
3344
3365
|
const microsoft_graph_onenotePageCollectionResponse = z.object({
|
|
3345
3366
|
"@odata.count": z.number().int().nullable(),
|
|
3346
3367
|
"@odata.nextLink": z.string().nullable(),
|
|
3347
3368
|
value: z.array(microsoft_graph_onenotePage)
|
|
3348
3369
|
}).partial().passthrough();
|
|
3370
|
+
const microsoft_graph_sectionGroupCollectionResponse = z.object({
|
|
3371
|
+
"@odata.count": z.number().int().nullable(),
|
|
3372
|
+
"@odata.nextLink": z.string().nullable(),
|
|
3373
|
+
value: z.array(microsoft_graph_sectionGroup)
|
|
3374
|
+
}).partial().passthrough();
|
|
3349
3375
|
const microsoft_graph_allowedLobbyAdmitterRoles = z.enum([
|
|
3350
3376
|
"organizerAndCoOrganizersAndPresenters",
|
|
3351
3377
|
"organizerAndCoOrganizers",
|
|
@@ -4883,7 +4909,9 @@ const schemas = {
|
|
|
4883
4909
|
microsoft_graph_notebook,
|
|
4884
4910
|
microsoft_graph_notebookCollectionResponse,
|
|
4885
4911
|
microsoft_graph_onenoteSectionCollectionResponse,
|
|
4912
|
+
microsoft_graph_CopyNotebookModel,
|
|
4886
4913
|
microsoft_graph_onenotePageCollectionResponse,
|
|
4914
|
+
microsoft_graph_sectionGroupCollectionResponse,
|
|
4887
4915
|
microsoft_graph_allowedLobbyAdmitterRoles,
|
|
4888
4916
|
microsoft_graph_onlineMeetingPresenters,
|
|
4889
4917
|
microsoft_graph_meetingLiveShareOptions,
|
|
@@ -10333,6 +10361,72 @@ resource.`,
|
|
|
10333
10361
|
],
|
|
10334
10362
|
response: z.void()
|
|
10335
10363
|
},
|
|
10364
|
+
{
|
|
10365
|
+
method: "post",
|
|
10366
|
+
path: "/me/onenote/notebooks/getNotebookFromWebUrl",
|
|
10367
|
+
alias: "get-onenote-notebook-from-web-url",
|
|
10368
|
+
description: `Retrieve the properties and relationships of a notebook object by using its URL path. The location can be user notebooks on Microsoft 365, group notebooks, or SharePoint site-hosted team notebooks on Microsoft 365.`,
|
|
10369
|
+
requestFormat: "json",
|
|
10370
|
+
parameters: [
|
|
10371
|
+
{
|
|
10372
|
+
name: "body",
|
|
10373
|
+
description: `Action parameters`,
|
|
10374
|
+
type: "Body",
|
|
10375
|
+
schema: z.object({ webUrl: z.string().nullable() }).partial().passthrough()
|
|
10376
|
+
}
|
|
10377
|
+
],
|
|
10378
|
+
response: z.void()
|
|
10379
|
+
},
|
|
10380
|
+
{
|
|
10381
|
+
method: "get",
|
|
10382
|
+
path: "/me/onenote/pages",
|
|
10383
|
+
alias: "list-onenote-pages",
|
|
10384
|
+
description: `Retrieve a list of page objects.`,
|
|
10385
|
+
requestFormat: "json",
|
|
10386
|
+
parameters: [
|
|
10387
|
+
{
|
|
10388
|
+
name: "$top",
|
|
10389
|
+
type: "Query",
|
|
10390
|
+
schema: z.number().int().gte(0).describe("Show only the first n items").optional()
|
|
10391
|
+
},
|
|
10392
|
+
{
|
|
10393
|
+
name: "$skip",
|
|
10394
|
+
type: "Query",
|
|
10395
|
+
schema: z.number().int().gte(0).describe("Skip the first n items").optional()
|
|
10396
|
+
},
|
|
10397
|
+
{
|
|
10398
|
+
name: "$search",
|
|
10399
|
+
type: "Query",
|
|
10400
|
+
schema: z.string().describe("Search items by search phrases").optional()
|
|
10401
|
+
},
|
|
10402
|
+
{
|
|
10403
|
+
name: "$filter",
|
|
10404
|
+
type: "Query",
|
|
10405
|
+
schema: z.string().describe("Filter items by property values").optional()
|
|
10406
|
+
},
|
|
10407
|
+
{
|
|
10408
|
+
name: "$count",
|
|
10409
|
+
type: "Query",
|
|
10410
|
+
schema: z.boolean().describe("Include count of items").optional()
|
|
10411
|
+
},
|
|
10412
|
+
{
|
|
10413
|
+
name: "$orderby",
|
|
10414
|
+
type: "Query",
|
|
10415
|
+
schema: z.array(z.string()).describe("Order items by property values").optional()
|
|
10416
|
+
},
|
|
10417
|
+
{
|
|
10418
|
+
name: "$select",
|
|
10419
|
+
type: "Query",
|
|
10420
|
+
schema: z.array(z.string()).describe("Select properties to be returned").optional()
|
|
10421
|
+
},
|
|
10422
|
+
{
|
|
10423
|
+
name: "$expand",
|
|
10424
|
+
type: "Query",
|
|
10425
|
+
schema: z.array(z.string()).describe("Expand related entities").optional()
|
|
10426
|
+
}
|
|
10427
|
+
],
|
|
10428
|
+
response: z.void()
|
|
10429
|
+
},
|
|
10336
10430
|
{
|
|
10337
10431
|
method: "post",
|
|
10338
10432
|
path: "/me/onenote/pages",
|
|
@@ -10372,6 +10466,56 @@ resource.`,
|
|
|
10372
10466
|
requestFormat: "json",
|
|
10373
10467
|
response: z.void()
|
|
10374
10468
|
},
|
|
10469
|
+
{
|
|
10470
|
+
method: "get",
|
|
10471
|
+
path: "/me/onenote/sectionGroups",
|
|
10472
|
+
alias: "list-onenote-section-groups",
|
|
10473
|
+
description: `Retrieve a list of sectionGroup objects.`,
|
|
10474
|
+
requestFormat: "json",
|
|
10475
|
+
parameters: [
|
|
10476
|
+
{
|
|
10477
|
+
name: "$top",
|
|
10478
|
+
type: "Query",
|
|
10479
|
+
schema: z.number().int().gte(0).describe("Show only the first n items").optional()
|
|
10480
|
+
},
|
|
10481
|
+
{
|
|
10482
|
+
name: "$skip",
|
|
10483
|
+
type: "Query",
|
|
10484
|
+
schema: z.number().int().gte(0).describe("Skip the first n items").optional()
|
|
10485
|
+
},
|
|
10486
|
+
{
|
|
10487
|
+
name: "$search",
|
|
10488
|
+
type: "Query",
|
|
10489
|
+
schema: z.string().describe("Search items by search phrases").optional()
|
|
10490
|
+
},
|
|
10491
|
+
{
|
|
10492
|
+
name: "$filter",
|
|
10493
|
+
type: "Query",
|
|
10494
|
+
schema: z.string().describe("Filter items by property values").optional()
|
|
10495
|
+
},
|
|
10496
|
+
{
|
|
10497
|
+
name: "$count",
|
|
10498
|
+
type: "Query",
|
|
10499
|
+
schema: z.boolean().describe("Include count of items").optional()
|
|
10500
|
+
},
|
|
10501
|
+
{
|
|
10502
|
+
name: "$orderby",
|
|
10503
|
+
type: "Query",
|
|
10504
|
+
schema: z.array(z.string()).describe("Order items by property values").optional()
|
|
10505
|
+
},
|
|
10506
|
+
{
|
|
10507
|
+
name: "$select",
|
|
10508
|
+
type: "Query",
|
|
10509
|
+
schema: z.array(z.string()).describe("Select properties to be returned").optional()
|
|
10510
|
+
},
|
|
10511
|
+
{
|
|
10512
|
+
name: "$expand",
|
|
10513
|
+
type: "Query",
|
|
10514
|
+
schema: z.array(z.string()).describe("Expand related entities").optional()
|
|
10515
|
+
}
|
|
10516
|
+
],
|
|
10517
|
+
response: z.void()
|
|
10518
|
+
},
|
|
10375
10519
|
{
|
|
10376
10520
|
method: "get",
|
|
10377
10521
|
path: "/me/onenote/sections",
|
|
@@ -11141,6 +11285,22 @@ getting the user's mailbox settings.`,
|
|
|
11141
11285
|
],
|
|
11142
11286
|
response: z.void()
|
|
11143
11287
|
},
|
|
11288
|
+
{
|
|
11289
|
+
method: "put",
|
|
11290
|
+
path: "/me/photo/$value",
|
|
11291
|
+
alias: "upload-my-profile-photo",
|
|
11292
|
+
description: `Update the photo for the specified contact, group, team, or user in a tenant. The size of the photo you can update to is limited to 4 MB. You can use either PATCH or PUT for this operation.`,
|
|
11293
|
+
requestFormat: "binary",
|
|
11294
|
+
parameters: [
|
|
11295
|
+
{
|
|
11296
|
+
name: "body",
|
|
11297
|
+
description: `New media content.`,
|
|
11298
|
+
type: "Body",
|
|
11299
|
+
schema: z.string().describe("Base64-encoded file content. The server decodes it and PUTs the raw bytes to Microsoft Graph.")
|
|
11300
|
+
}
|
|
11301
|
+
],
|
|
11302
|
+
response: z.void()
|
|
11303
|
+
},
|
|
11144
11304
|
{
|
|
11145
11305
|
method: "get",
|
|
11146
11306
|
path: "/me/planner/tasks",
|
|
@@ -11277,6 +11437,53 @@ getting the user's mailbox settings.`,
|
|
|
11277
11437
|
],
|
|
11278
11438
|
response: z.void()
|
|
11279
11439
|
},
|
|
11440
|
+
{
|
|
11441
|
+
method: "post",
|
|
11442
|
+
path: "/me/todo/lists",
|
|
11443
|
+
alias: "create-todo-task-list",
|
|
11444
|
+
description: `Create a new lists object.`,
|
|
11445
|
+
requestFormat: "json",
|
|
11446
|
+
parameters: [
|
|
11447
|
+
{
|
|
11448
|
+
name: "body",
|
|
11449
|
+
description: `New navigation property`,
|
|
11450
|
+
type: "Body",
|
|
11451
|
+
schema: microsoft_graph_todoTaskList
|
|
11452
|
+
}
|
|
11453
|
+
],
|
|
11454
|
+
response: z.void()
|
|
11455
|
+
},
|
|
11456
|
+
{
|
|
11457
|
+
method: "patch",
|
|
11458
|
+
path: "/me/todo/lists/:todoTaskListId",
|
|
11459
|
+
alias: "update-todo-task-list",
|
|
11460
|
+
description: `Update the properties of a todoTaskList object.`,
|
|
11461
|
+
requestFormat: "json",
|
|
11462
|
+
parameters: [
|
|
11463
|
+
{
|
|
11464
|
+
name: "body",
|
|
11465
|
+
description: `New navigation property values`,
|
|
11466
|
+
type: "Body",
|
|
11467
|
+
schema: microsoft_graph_todoTaskList
|
|
11468
|
+
}
|
|
11469
|
+
],
|
|
11470
|
+
response: z.void()
|
|
11471
|
+
},
|
|
11472
|
+
{
|
|
11473
|
+
method: "delete",
|
|
11474
|
+
path: "/me/todo/lists/:todoTaskListId",
|
|
11475
|
+
alias: "delete-todo-task-list",
|
|
11476
|
+
description: `Deletes a todoTaskList object.`,
|
|
11477
|
+
requestFormat: "json",
|
|
11478
|
+
parameters: [
|
|
11479
|
+
{
|
|
11480
|
+
name: "If-Match",
|
|
11481
|
+
type: "Header",
|
|
11482
|
+
schema: z.string().describe("ETag").optional()
|
|
11483
|
+
}
|
|
11484
|
+
],
|
|
11485
|
+
response: z.void()
|
|
11486
|
+
},
|
|
11280
11487
|
{
|
|
11281
11488
|
method: "get",
|
|
11282
11489
|
path: "/me/todo/lists/:todoTaskListId/tasks",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softeria/ms-365-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.105.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
|
@@ -1981,5 +1981,56 @@
|
|
|
1981
1981
|
"toolName": "create-contact-in-folder",
|
|
1982
1982
|
"scopes": ["Contacts.ReadWrite"],
|
|
1983
1983
|
"llmTip": "Creates a contact inside a specific folder (instead of the default Contacts folder). Body is a contact resource: { givenName, surname, displayName, emailAddresses: [{ address, name }], businessPhones: [], mobilePhone, jobTitle, companyName, ... }. The existing create-outlook-contact (POST /me/contacts) writes to the default folder only; use this when organizing contacts into named folders. Get the folder id via list-contact-folders."
|
|
1984
|
+
},
|
|
1985
|
+
{
|
|
1986
|
+
"pathPattern": "/me/photo/$value",
|
|
1987
|
+
"method": "put",
|
|
1988
|
+
"toolName": "upload-my-profile-photo",
|
|
1989
|
+
"scopes": ["User.ReadWrite"],
|
|
1990
|
+
"contentType": "image/jpeg",
|
|
1991
|
+
"llmTip": "Uploads a new profile photo for the signed-in user. Body is a base64-encoded string of the image bytes (the server decodes before PUT). Photo must be JPEG, max 4 MB. Microsoft 365 generates HD downsized variants automatically (48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504, 648x648). For work or school accounts, ProfilePhoto.ReadWrite.All is the more granular alternative permission. Use download-bytes with target=/me/photo/$value to retrieve the current photo."
|
|
1992
|
+
},
|
|
1993
|
+
{
|
|
1994
|
+
"pathPattern": "/me/todo/lists",
|
|
1995
|
+
"method": "post",
|
|
1996
|
+
"toolName": "create-todo-task-list",
|
|
1997
|
+
"scopes": ["Tasks.ReadWrite"],
|
|
1998
|
+
"llmTip": "Creates a new Microsoft To Do task list (the named buckets shown in the To Do app sidebar). Body: { displayName: 'My new list' }. Returns the created todoTaskList with its id, displayName, isOwner, isShared, and wellknownListName ('none' for user-created lists). The built-in lists ('Tasks', 'Flagged emails') already exist and cannot be re-created. Pair with create-todo-task to populate it."
|
|
1999
|
+
},
|
|
2000
|
+
{
|
|
2001
|
+
"pathPattern": "/me/todo/lists/{todoTaskList-id}",
|
|
2002
|
+
"method": "patch",
|
|
2003
|
+
"toolName": "update-todo-task-list",
|
|
2004
|
+
"scopes": ["Tasks.ReadWrite"],
|
|
2005
|
+
"llmTip": "Renames a Microsoft To Do task list. Body: { displayName: 'New name' }. Only displayName is writable. Built-in lists (Flagged emails, the default Tasks list) cannot be renamed — the API returns an error. Get list ids via list-todo-task-lists."
|
|
2006
|
+
},
|
|
2007
|
+
{
|
|
2008
|
+
"pathPattern": "/me/todo/lists/{todoTaskList-id}",
|
|
2009
|
+
"method": "delete",
|
|
2010
|
+
"toolName": "delete-todo-task-list",
|
|
2011
|
+
"scopes": ["Tasks.ReadWrite"],
|
|
2012
|
+
"llmTip": "Deletes a Microsoft To Do task list and ALL of its tasks (cascades). Built-in lists cannot be deleted — the API returns an error for those. Get list ids via list-todo-task-lists. Operation is irreversible."
|
|
2013
|
+
},
|
|
2014
|
+
{
|
|
2015
|
+
"pathPattern": "/me/onenote/pages",
|
|
2016
|
+
"method": "get",
|
|
2017
|
+
"toolName": "list-onenote-pages",
|
|
2018
|
+
"scopes": ["Notes.Read"],
|
|
2019
|
+
"llmTip": "Lists all OneNote pages across every notebook and section the user has access to — transverse alternative to walking notebooks → sections → pages. Default returns top 20 ordered by lastModifiedTime desc. Supports $search='query' for full-text search across page titles and bodies, $filter (e.g. lastModifiedTime gt 2026-01-01), $top (max 100), $select, and $expand=parentNotebook,parentSection. Use $search before bouncing through list-onenote-notebooks / list-all-onenote-sections / list-onenote-section-pages when you only have a topic in mind."
|
|
2020
|
+
},
|
|
2021
|
+
{
|
|
2022
|
+
"pathPattern": "/me/onenote/sectionGroups",
|
|
2023
|
+
"method": "get",
|
|
2024
|
+
"toolName": "list-onenote-section-groups",
|
|
2025
|
+
"scopes": ["Notes.Read"],
|
|
2026
|
+
"llmTip": "Lists all OneNote section groups (subfolders inside notebooks that contain their own sections and nested section groups) for the user. A section group is a folder-like container — many notebooks use them to organize sections by theme. Default sort is name asc. Supports $expand=sections,sectionGroups,parentNotebook,parentSectionGroup to traverse the full hierarchy. Pair with list-onenote-notebooks for a complete picture of the user's notebook structure."
|
|
2027
|
+
},
|
|
2028
|
+
{
|
|
2029
|
+
"pathPattern": "/me/onenote/notebooks/getNotebookFromWebUrl",
|
|
2030
|
+
"method": "post",
|
|
2031
|
+
"toolName": "get-onenote-notebook-from-web-url",
|
|
2032
|
+
"workScopes": ["Notes.Read"],
|
|
2033
|
+
"contentType": "application/json",
|
|
2034
|
+
"llmTip": "Resolves a OneNote notebook from its web URL (the link a user copies from OneNote / SharePoint / Teams). Body: { webUrl: 'https://...' }. Returns a CopyNotebookModel with the notebook's id, displayName, sectionsUrl, sectionGroupsUrl, and isShared — you can then list its sections via list-onenote-notebook-sections. Accepts user notebooks, group notebooks, and SharePoint-hosted team notebooks. Personal Microsoft accounts are not supported."
|
|
1984
2035
|
}
|
|
1985
2036
|
]
|