Skip to main content
Glama

ms365-mcp

Ein Microsoft 365 MCP-Server, zugeschnitten auf kleine lokale Modelle.

Die meisten MCP-Server sind für Spitzenmodelle mit großen Kontextfenstern gebaut, daher exponieren sie alles, was die Anbieter-API bietet, und überlassen dem Modell die Auswahl. Der Referenz-Microsoft-365-Server stellt 326 Tools bereit, die aus Microsofts Graph-OpenAPI-Spezifikation generiert wurden.

Das funktioniert nicht für ein 8B-Modell bei 8k Kontext, wo die gesamte Tool-Liste im System-Prompt sitzt und das Modell irgendwo nach fünfundzwanzig Tools zufällig zu wählen beginnt. Dieser Server verfolgt den gegenteiligen Ansatz:

  • Vierzehn handgeschriebene Tools, mit einer harten Obergrenze von zwanzig. Die Tool-Liste ist ein Budget, keine Feature-Liste.

  • Beschreibungen, die für ein kleines Modell geschrieben sind, nicht aus API-Metadaten übernommen.

  • Draft-first. Genau ein Tool kann an eine andere Person übertragen, es nimmt eine Draft-ID statt eines Empfängers und ist als destruktiv annotiert.

  • Jedes Tool deklariert seine eigene Wirkung über MCP-readOnlyHint- und destructiveHint-Annotationen, sodass ein Host es klassifizieren kann, ohne aus dem Tool-Namen zu raten.

Gebaut für den Edge Harness und nützlich für jeden MCP-Client.

Status

Früh. Noch nicht nutzbar. Der Plan umfasst zehn Commits; siehe docs/PLAN.md für die vollständige Abfolge und die Begründung hinter jeder Entscheidung.

Gerüst, Lizenz, CI

erledigt

MCP-Protokoll über stdio

erledigt

Die Vierzehn-Tool-Oberfläche

deklariert, Handler sind Stubs

Anmeldung

nicht begonnen

Microsoft Graph

nicht begonnen

Related MCP server: google-nice-mcp

Seeing the tool surface

--list-tools startet nichts und benötigt kein Konto, also beantwortet es die Frage „Was würde einem Host angeboten?“, bevor irgendetwas davon verdrahtet ist:

.venv/bin/python -m ms365_mcp --list-tools

Fügen Sie --json für eine maschinenlesbare Version hinzu.

   read  whoami          Return the display name, email address and timezone…
   read  resolve_person  Look up a person by name or partial name and return…
   read  list_messages   List messages in a mail folder, newest first, as se…
  write  create_draft    Create a draft message. This does NOT send anything…
! write  send_draft      Send a draft that already exists, by its id. This r…
   ...
14 tools, 6 that change something, 4 marked destructive (!)

Handler sind heute Stubs: Ein Aufruf gibt einen Satz zurück, der besagt, dass das Tool deklariert, aber nicht implementiert ist. Die Oberfläche wird bewusst festgelegt, bevor irgendetwas davon gebaut wird, denn die Tool-Namen, Beschreibungen und Effektklassen sind das, was ein Host klassifiziert und wogegen ein Modell gepromptet wird, und diese später zu ändern ist teuer.

Using it from the Edge Harness

Der Harness startet diesen Server als Subprozess über stdio, sodass er unter seiner eigenen Interpreter läuft und keine Abhängigkeiten mit dem Host teilt. Das ist nicht zufällig: Der Harness hat ein lokales Paket namens mcp/ und das offizielle SDK auf PyPI heißt ebenfalls mcp, sodass die Installation dieses Servers in die Virtualenv des Harness das eigene Paket des Harness überschattet.

Sein Registrierungseintrag dort ist ms365-own, und das Drücken von Check in den Agent-Lab-Laufoptionen listet jedes Tool mit seiner Effektklasse auf. Alle vierzehn klassifizieren als declared, was bedeutet, dass der Harness sie aus den Annotationen dieses Servers übernommen hat, anstatt aus Tool-Namen zu raten, und der Eintrag benötigt keine Überschreibungen.

Im Standard-Entwurfsmodus des Harness wird send_draft zurückgehalten und die anderen dreizehn sind verfügbar, sodass ein Lauf keine Person erreichen kann.

Security

Dieses Repository ist öffentlich und enthält keinerlei Anmeldeinformationen.

Die Authentifizierung verwendet den Microsoft-Gerätecode-Flow. Der resultierende Token-Cache wird in das Konfigurationsverzeichnis des Betriebssystems mit Berechtigungen nur für den Besitzer geschrieben, niemals in dieses Repository oder seinen Arbeitsbaum. .gitignore deckt Token- und Cache-Dateinamen ohnehin ab, und ein Pre-Commit-Hook scannt zum Commit vorgemerkte Änderungen auf Zeichenfolgen, die wie Anmeldeinformationen aussehen, sodass das Committen einer solchen bewusste Anstrengung erfordert und kein Ausrutscher ist.

Eine Zeile, die mit # pragma: allowlist secret endet, wird vom Hook übersprungen. Das existiert, damit die eigenen Tests dieses Repositorys gefälschte Anmeldeinformationen enthalten können, und es hinterlässt eine Markierung, die ein Prüfer im Diff sehen kann, was --no-verify nicht tut. Verwenden Sie es nur für Daten, die nachweislich gefälscht sind.

Development

python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/pytest -q

Aktivieren Sie den Secret-Scan-Hook einmal pro Klon:

git config core.hooksPath .githooks

Licence

MIT. Siehe LICENSE.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    A production-ready MCP server that provides secure, delegated access to Microsoft 365 services including Email, SharePoint, OneDrive, and Calendar. It enables AI models to search messages, browse files, manage calendar events, and parse document contents using OAuth 2.1 authentication.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Lightweight MCP server that enables AI agents to manage Microsoft Outlook email, calendar, and files using PKCE authentication with only a Client ID.
    MIT

View all related MCP servers

Related MCP Connectors

  • Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sunnycho100/ms365-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server