SAI in-house build

A patched Microsoft 365 MCP server, published on npm

We can connect AI to your own systems, and you can read the code.

Terminal

$ npm install

@strategicaiinnovations/ms-365-mcp-server

Public, MIT licence, three fixes

Tool definitionsPublished

Three fixes

FieldUpstreamOur fork
  • Upload bodyExpects a File objectAccepts string content
  • Upload parameterName models do not sendRenamed in the schema
  • DownloadA temporary signed linkThe file's bytes
  1. The problem

    AI assistants could not upload or download files through the Microsoft 365 server.

  2. What we built

    Three fixes to its tool definitions, released as a release candidate, then stable.

  3. Where it stands

    Public on npm under the MIT licence. File reads and writes now work from a model.

The full write-up

The problem

Softeria's open-source MCP server connects AI assistants to Microsoft 365 through Microsoft Graph. In testing against a live Microsoft 365 tenant, file transfers failed whenever a model made the call: the upload schema expected a File object that a model cannot produce, the upload parameter name did not match what models naturally send, and the download tool returned a temporary signed link instead of the file itself, which assistants are not allowed to fetch.

What we built

We forked the server and patched its generated tool definitions so binary bodies accept string content, renamed the upload parameter in the schema only (the request routing is unchanged), and made the download tool return the file's bytes from the content endpoint. The release went out as a release candidate first, was smoke tested against a live tenant, then promoted to a stable version, and deployments pin that exact version.

Where it stands

Published as @strategicaiinnovations/ms-365-mcp-server under the MIT licence. It is public and installable, and anyone can inspect the changes. File reads and writes that failed before now work when an AI model makes the call.

How it fits together

Parts: AI assistant (Makes the tool call); MCP server (Patched fork, three fixes); Microsoft Graph (The API); Microsoft 365 (Files in your tenant); Upstream (Softeria, open source); npm (Public, MIT licence); Your deployment (Pinned to one version). Connections: AI assistant to MCP server (tool calls); MCP server to Microsoft Graph; Microsoft Graph to Microsoft 365; Upstream to MCP server (forked); MCP server to npm (published); npm to Your deployment (pinned).

Want a build like this for your business?

Tell us the process you would hand over. We will say plainly whether it fits.

Book a call (opens in a new tab)

or email contact@strategicaiinnovations.com