io.github.rlrghb/outlook
Outlook & OneDrive MCP: personal & enterprise tools for mail, calendar, contacts, tasks, files
Open source Open in the app JSON README (API)
About
Outlook & OneDrive MCP: personal & enterprise tools for mail, calendar, contacts, tasks, files
Details
- Kind
- MCP servers
- Topic
- Files & documents
- Publisher
- rlrghb
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 1.13.0
- Stars
- 17
- Forks
- 6
- Last push
- 2026-08-29T18:35:16Z
- Repository state
- ativo
- Language
- Go
- License
- MIT
- Added
- 2026-08-29 04:01:18
- Updated
- 2026-08-29 20:00:32
- Origin id
io.github.rlrghb/outlook
README
# olk — Microsoft Outlook in Your Terminal `olk` is a scriptable CLI and MCP server for Outlook mail, calendars, contacts, tasks, and OneDrive through Microsoft Graph. It works with personal Outlook.com accounts and enterprise Microsoft 365 accounts. ## Install ```bash brew install rlrghb/tap/olk # or go install github.com/rlrghb/olkcli/cmd/olk@latest ``` The npm package is `olkcli`; the installed command is `olk`: ```bash npm install -g olkcli ``` See [macOS notes](docs/authentication.md#macos-keychain) if macOS asks for Keychain access after an upgrade. ## Quick start ```bash olk auth login olk auth status olk mail list --json --results-only --select id,subject,from olk mail search 'from:person@example.com subject:urgent' olk calendar view --days 7 olk contacts search "Alex" olk todo lists list olk drive ls ``` For work/school accounts and enterprise-only features: ```bash olk auth login --enterprise ``` ## Common commands | Need | Command | | --- | --- | | Check the signed-in account | `olk auth status` or `olk whoami` | | Find message IDs and subjects | `olk mail list --json --results-only --select id,subject,from` | | Search mail | `olk mail search "from:person@example.com subject:urgent"` | | View the next week | `olk calendar view --days 7` | | Search contacts | `olk contacts search "Alex"` | | List task lists | `olk todo lists list` | | Browse OneDrive | `olk drive ls` | | Send mail | `olk mail send --to person@example.com --subject "Hi" --body "Hello"` | | Draft HTML with an inline image | `olk mail drafts create --to person@example.com --subject "Steps" --html --body '<img src="cid:steps">' --inline steps=steps.png` | | Synchronize changes | `olk changes --json` | | Use JSON for scripts | `olk mail list --json --results-only` | | Use as an MCP server | `olk mcp` | See the [command reference](docs/commands.md) for all commands and flags. ### Inline images in HTML drafts Use a `cid:` URL in the HTML and supply the matching image with repeatable `--inline CID=PATH` flags. This works for new drafts and true threaded reply or reply-all drafts: ```bash olk mail reply <ID> --draft --html \ --body '<p>See both images:</p><img src="cid:logo"><img src="cid:steps">' \ --inline logo=logo.png --inline steps=steps.png olk mail drafts create --to person@example.com --subject "Instructions" --html \ --body '<p>Follow these steps:</p><img src="cid:steps">' \ --inline steps=steps.png ``` Each CID must be unique and referenced by the HTML. Files must be images and each must be under 3 MB, the Microsoft Graph simple-attachment limit. Draft commands do not send mail; immediate sends and forwards do not accept `--inline`. ## Output and scripting Results are written to stdout; diagnostics and prompts go to stderr. ```bash olk mail list --json --results-only | jq '.[].subject' olk contacts list --plain ``` Output modes are JSON (`--json`), TSV (`--plain`), and aligned tables by default. Use `--concise` to omit large bodies/previews and `--select` to limit fields where supported. See [scripting and sync](docs/scripting.md). ## Safety defaults - Use `--no-write --no-send --no-input` for unattended read-only runs. - MCP exposes curated tools and requires explicit opt-in for mutations. - External mail, calendar, contact, and file text can be wrapped with `--wrap-untrusted` for agent-safe consumption. - Refresh tokens are stored in the OS keychain; access tokens are kept in memory only. Read the [security and privacy guide](docs/security.md) before connecting an agent or sharing logs. ## Documentation - [Command reference](docs/commands.md) - [Authentication and accounts](docs/authentication.md) - [Scripting and synchronization](docs/scripting.md) - [MCP and AI agents](docs/mcp.md) - [Security and privacy](docs/security.md) - [Enterprise app setup](docs/enterprise-setup.md) - [Development and releases](docs/development.md) - [Agent instructions](SKILL.md) ## Contributing ```bash make build make test make lint ``` See [development and releases](docs/development.md) for repository structure, validation, CI, and publishing details. ## License See [LICENSE](LICENSE).