ms365-mcp
ms365-mcp
小型ローカルモデル向けにサイズ調整されたMicrosoft 365 MCPサーバー。
ほとんどのMCPサーバーは、大きなコンテキストウィンドウを持つフロンティアモデル向けに構築されており、ベンダーAPIが提供するすべてを公開して、モデルに整理させる方式を取っています。Microsoft 365のリファレンスサーバーは、MicrosoftのGraph OpenAPI仕様から生成された326個のツールを公開しています。
しかし、これは8kコンテキストの8Bモデルには機能しません。ツールリスト全体がシステムプロンプトに収まり、モデルは25個を超えたあたりからランダムに選択し始めます。このサーバーは逆のアプローチを取ります:
手書きの14個のツール。上限は20個に固定されています。ツールリストは予算であり、機能リストではありません。
小型モデル向けに書かれた説明。APIメタデータから流用したものではありません。
下書き優先。 他の人に送信できるツールは正確に1つだけであり、受信者ではなく下書きIDを受け取り、破壊的と注釈付けされています。
すべてのツールが自身の効果を宣言します。MCPの
readOnlyHintおよびdestructiveHint注釈を通じて、ホストがツール名から推測することなく分類できるようにします。
Edge Harness向けに構築されており、任意のMCPクライアントで利用できます。
ステータス
初期段階。まだ使用できません。 計画は10コミットです。完全な順序と各決定の根拠についてはdocs/PLAN.mdを参照してください。
スキャフォールド、ライセンス、CI | 完了 |
stdio上のMCPプロトコル | 完了 |
14ツールのサーフェス | 宣言済み、ハンドラーはスタブ |
サインイン | 未開始 |
Microsoft Graph | 未開始 |
Related MCP server: google-nice-mcp
ツールサーフェスの確認
--list-toolsは何も起動せず、アカウントも不要なので、「ホストには何が提供されるのか?」という問いに、何も配線される前に答えます:
.venv/bin/python -m ms365_mcp --list-tools機械可読なバージョンには--jsonを追加します。
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 (!)今日のハンドラーはスタブです。呼び出しは、ツールが宣言されているが実装されていないと述べる文を返します。サーフェスは、構築される前に意図的に固定されています。ツール名、説明、効果クラスは、ホストが分類し、モデルがプロンプトで参照するものであり、後で変更するのはコストがかかるからです。
Edge Harnessからの使用
ハーネスはこのサーバーをstdio上のサブプロセスとして起動するため、独自のインタープリターで実行され、ホストと依存関係を共有しません。これは偶然ではありません。ハーネスにはmcp/というローカルパッケージがあり、PyPI上の公式SDKもmcpと呼ばれているため、このサーバーをハーネスのvirtualenvにインストールすると、ハーネス自身のパッケージをシャドウしてしまいます。
そこでのレジストリエントリはms365-ownであり、Agent Labの実行オプションでCheckを押すと、すべてのツールがその効果クラスとともにリストされます。14個すべてがdeclaredとして分類されます。つまり、ハーネスはツール名から推測するのではなく、このサーバーの注釈からそれらを取得しており、エントリにオーバーライドは不要です。
ハーネスのデフォルトの下書きモードでは、send_draftは保留され、他の13個が利用可能であるため、実行が人に到達することはありません。
セキュリティ
このリポジトリは公開されており、いかなる種類の資格情報も保持していません。
認証にはMicrosoftデバイスコードフローを使用します。結果のトークンキャッシュは、オペレーティングシステムの設定ディレクトリに所有者のみの権限で書き込まれ、このリポジトリやその作業ツリーには決して書き込まれません。.gitignoreはとにかくトークンとキャッシュのファイル名をカバーし、pre-commitフックはステージングされた変更を資格情報の形をした文字列についてスキャンするため、コミットするにはうっかりではなく意図的な努力が必要です。
# pragma: allowlist secretで終わる行はフックによってスキップされます。これは、このリポジトリ自身のテストが偽の資格情報を含むことができるように存在しており、--no-verifyではできない、レビューアーが差分で見ることができるマーカーを残します。証明可能に偽のデータにのみ使用してください。
開発
python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/pytest -qクローンごとに一度、シークレットスキャンフックを有効にします:
git config core.hooksPath .githooksライセンス
MIT。LICENSEを参照してください。
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityAmaintenanceA 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
- AlicenseAqualityCmaintenanceA read-only MCP server for Gmail and Drive with only 5 tools, designed to be friendly to small local LLMs by minimizing context usage and simplifying inputs.5MIT
- AlicenseNot gradedqualityDmaintenanceLightweight MCP server that enables AI agents to manage Microsoft Outlook email, calendar, and files using PKCE authentication with only a Client ID.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that exposes a Microsoft 365 mailbox via the Model Context Protocol, enabling AI assistants to search, read, and download emails and attachments, and optionally send mail.9MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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