@softeria/ms-365-mcp-server 0.156.0 → 0.156.1

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 CHANGED
@@ -112,8 +112,10 @@ beta API and request the delegated permissions `TeamworkCustomEmoji.Read` and
112
112
  Existing deployments may need consent for these new scopes and reauthentication;
113
113
  adding tool support does not upgrade an already-issued token.
114
114
 
115
- Listing returns base64 image content, so use a small `top` and `filter` to keep
116
- responses manageable. To create an emoji, pass `body: { displayName, contentBytes }`
115
+ Listing can return `contentBytes: null` by default. To request base64 PNG/GIF images,
116
+ pass `select: "displayName,contentBytes"` or `select: ["displayName", "contentBytes"]`.
117
+ Use a small `top` to keep image responses manageable.
118
+ To create an emoji, pass `body: { displayName, contentBytes }`
117
119
  with the exact approved name and base64 PNG/GIF file bytes. See Microsoft's
118
120
  [list](https://learn.microsoft.com/en-us/graph/api/teamworkmessaging-list-customemojis?view=graph-rest-beta)
119
121
  and [create](https://learn.microsoft.com/en-us/graph/api/teamworkmessaging-post-customemojis?view=graph-rest-beta)
@@ -1666,7 +1666,7 @@
1666
1666
  "apiVersion": "beta",
1667
1667
  "presets": ["teams", "work"],
1668
1668
  "workScopes": ["TeamworkCustomEmoji.Read"],
1669
- "llmTip": "Lists the organization's custom Teams emojis, including displayName, contentBytes (base64 PNG/GIF), createdBy and createdDateTime. The documented query options are $top and $filter. Image bytes can make responses large: start with a small $top and narrow with $filter; use fetchAllPages only for an explicitly requested export. displayName is the unique key, not an id. Work/school accounts only. Microsoft Graph beta API: subject to change."
1669
+ "llmTip": "Lists the organization's custom Teams emojis, including displayName, createdBy and createdDateTime. Graph can return contentBytes: null by default; request select='displayName,contentBytes' (or a string array) to retrieve base64 PNG/GIF images. Supports $top, $filter and $select. Image bytes can make responses large: use a small $top when selecting contentBytes; use fetchAllPages only for an explicitly requested export. displayName is the unique key, not an id. Work/school accounts only. Microsoft Graph beta API: subject to change."
1670
1670
  },
1671
1671
  {
1672
1672
  "pathPattern": "/teamwork/messaging/customEmojis",
@@ -2,13 +2,14 @@ import { z } from "zod";
2
2
  import { getODataParamDescription, shouldOmitTopParam } from "./param-descriptions.js";
3
3
  const TEAM_LIST_TOOLS = /* @__PURE__ */ new Set(["list-joined-teams", "list-my-associated-teams"]);
4
4
  const CUSTOM_EMOJI_QUERY_DESCRIPTIONS = {
5
- top: "Number of custom emojis to return in one page. Each emoji includes base64 image content; use a small page size to keep the response manageable.",
6
- filter: "OData filter expression for custom emojis, forwarded to Microsoft Graph. Filter support is determined by the beta API."
5
+ top: "Number of custom emojis to return in one page. Base64 image content is opt-in with select; use a small page size when selecting contentBytes.",
6
+ filter: "OData filter expression for custom emojis, forwarded to Microsoft Graph. Filter support is determined by the beta API.",
7
+ select: "Properties to return as a comma-separated string or string array. Explicitly select contentBytes to retrieve base64 PNG/GIF images, for example displayName,contentBytes. Graph can return contentBytes: null when it is not explicitly selected."
7
8
  };
8
9
  function queryParameterSchema(toolName, name, providerSchema) {
9
10
  const bareName = name.replace(/^\$/, "").toLowerCase();
10
11
  if (TEAM_LIST_TOOLS.has(toolName)) return void 0;
11
- if (toolName === "list-custom-emojis" && !["top", "filter", "skiptoken"].includes(bareName)) {
12
+ if (toolName === "list-custom-emojis" && !["top", "filter", "select", "skiptoken"].includes(bareName)) {
12
13
  return void 0;
13
14
  }
14
15
  if (bareName === "top" && shouldOmitTopParam(toolName)) return void 0;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@softeria/ms-365-mcp-server",
3
3
  "mcpName": "io.github.Softeria/ms-365-mcp-server",
4
- "version": "0.156.0",
4
+ "version": "0.156.1",
5
5
  "description": " A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
@@ -1666,7 +1666,7 @@
1666
1666
  "apiVersion": "beta",
1667
1667
  "presets": ["teams", "work"],
1668
1668
  "workScopes": ["TeamworkCustomEmoji.Read"],
1669
- "llmTip": "Lists the organization's custom Teams emojis, including displayName, contentBytes (base64 PNG/GIF), createdBy and createdDateTime. The documented query options are $top and $filter. Image bytes can make responses large: start with a small $top and narrow with $filter; use fetchAllPages only for an explicitly requested export. displayName is the unique key, not an id. Work/school accounts only. Microsoft Graph beta API: subject to change."
1669
+ "llmTip": "Lists the organization's custom Teams emojis, including displayName, createdBy and createdDateTime. Graph can return contentBytes: null by default; request select='displayName,contentBytes' (or a string array) to retrieve base64 PNG/GIF images. Supports $top, $filter and $select. Image bytes can make responses large: use a small $top when selecting contentBytes; use fetchAllPages only for an explicitly requested export. displayName is the unique key, not an id. Work/school accounts only. Microsoft Graph beta API: subject to change."
1670
1670
  },
1671
1671
  {
1672
1672
  "pathPattern": "/teamwork/messaging/customEmojis",