@injaan.dev/ms365-email-cli-mcp
v1.0.7
Published
MCP server wrapper around ms365-email-cli for mailbox operations.
Maintainers
Readme
@injaan.dev/ms365-email-cli-mcp
Model Context Protocol (MCP) server wrapper for ms365-email-cli.
This package exposes mailbox operations as MCP tools and executes the local ms365-email-cli command under the hood.
Prerequisites
- Node.js 18+
ms365-email-cliinstalled and available in your shellPATH- MS365 CLI config already initialized (
ms365-email-cli init)
Install
Local project install:
npm installGlobal CLI install from npm:
npm install -g @injaan.dev/ms365-email-cli-mcpRun
From source:
npm startFrom global install:
ms365-email-cli-mcpThe server uses stdio transport and is intended to be launched by an MCP-compatible client.
Configure in AI agents (Claude Code, OpenAI Codex, GitHub Copilot)
This package is an MCP stdio server. Most clients only need a command that starts it.
You can use either:
- Global binary (recommended):
ms365-email-cli-mcp - Source command:
node /absolute/path/to/ms365-email-cli-mcp/index.js
Before configuring any client, verify these are available in the same environment where your AI client runs:
ms365-email-cli-mcpms365-email-cli
1) Claude Code
Add the server (stdio):
# If installed globally
claude mcp add --transport stdio ms365-email-cli -- ms365-email-cli-mcp
# Or run from source
claude mcp add --transport stdio ms365-email-cli -- node /absolute/path/to/ms365-email-cli-mcp/index.jsUseful management commands:
claude mcp list
claude mcp get ms365-email-cliIf you prefer shared project config, Claude Code can also use a project .mcp.json:
{
"mcpServers": {
"ms365-email-cli": {
"type": "stdio",
"command": "ms365-email-cli-mcp"
}
}
}2) OpenAI Codex (CLI / extension)
Option A - add via CLI:
# If installed globally
codex mcp add ms365-email-cli -- ms365-email-cli-mcp
# Or run from source
codex mcp add ms365-email-cli -- node /absolute/path/to/ms365-email-cli-mcp/index.jsOption B - add in ~/.codex/config.toml (or project .codex/config.toml):
[mcp_servers."ms365-email-cli"]
command = "ms365-email-cli-mcp"
# Alternative source-based form:
# [mcp_servers."ms365-email-cli"]
# command = "node"
# args = ["/absolute/path/to/ms365-email-cli-mcp/index.js"]Check active servers:
codex mcp --help3) GitHub Copilot in VS Code
Create .vscode/mcp.json in your workspace (or use MCP: Open User Configuration):
{
"servers": {
"ms365-email-cli": {
"type": "stdio",
"command": "ms365-email-cli-mcp"
}
}
}Source-based alternative:
{
"servers": {
"ms365-email-cli": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/ms365-email-cli-mcp/index.js"]
}
}
}Then in VS Code:
- Run MCP: List Servers from Command Palette.
- Start/trust
ms365-email-cli. - Open Chat and use the tools.
Quick verification prompt (any client)
Try asking your agent:
- "List my last 5 emails"
- "Show unread emails"
If tools do not appear, confirm your client process can resolve both ms365-email-cli-mcp and ms365-email-cli in PATH.
Available MCP tools
list_emailslist_unread_emailsread_emailthreadmark_readsearch_emailssend_email(supportsto,cc,subject,body,html,attachments)replyreply_allattachment
Notes
send_email.ccsupports either:- a single string (
"[email protected]") - comma-separated string (
"[email protected],[email protected]") - array of strings (
["[email protected]", "[email protected]"])
- a single string (
- Each CC value is forwarded to the CLI as repeatable
-cflags. - Errors from the CLI are returned to MCP as tool errors.
Example MCP tool call shape (send_email)
{
"name": "send_email",
"arguments": {
"to": "[email protected]",
"cc": ["[email protected]", "[email protected]"],
"subject": "Hello",
"body": "Email body",
"html": false,
"attachments": ["./report.pdf"]
}
}Publish Checklist
Authenticate with npm:
npm loginVerify the package contents:
npm pack --dry-runPublish:
npm publishFor updates, bump version first:
npm version patch npm publish
