npx skills add smithery/neversight --skill m365-mail
probichaux/clawdskills · Archived
m365-mail
Read, search, send, and manage Microsoft 365 email via Graph API. Use when the user asks about email, inbox, messages, or wants to send/read/search mail in their M365 account.
Installation
npx skills add probichaux/clawdskills --skill m365-mail
Stronger alternatives
This repository is archived — consider an actively maintained alternative.
Fetch aviation weather data (METAR, TAF, PIREPs, SIGMETs) from NOAA. Use when user asks about a…
24 installsRead, create, and manage Microsoft 365 calendar events via Graph API. Supports meeting invitati…
10 installsEstimate flight time between airports accounting for winds aloft. Use when calculating flight d…
2 installsPlan multi-leg flights with wind-optimized timing and calendar integration. Use when asked to p…
2 installsSimilar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsDebug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe …
568.9K installsExecute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deploymen…
568.2K installsPre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure…
567.7K installsGuides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE…
566.9K installsGuidance for instrumenting webapps with Azure Application Insights. Provides telemetry patterns…
566.6K installsAlso in this package
Other skills from probichaux/clawdskills.
npx skills add probichaux/clawdskills
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md3,795 B -
docs
SUMMARY.md192 B
History
- First seen on skills.sh
- First recorded snapshot · 106 installs
SKILL.md
Microsoft 365 Mail
CLI tool for Microsoft 365 email via Microsoft Graph API.
Setup (One-time)
1. Register Entra ID App
- Go to Entra ID Portal → App registrations → New registration
- Name:
m365mail-cli(or whatever) - Supported account types: "Accounts in this organizational directory only"
- Redirect URI: Leave blank (using device code flow)
- Click Register
2. Configure API Permissions
- In your app → API permissions → Add a permission
- Microsoft Graph → Delegated permissions
- Add:
Mail.ReadWrite,Mail.Send - Click "Grant admin consent" (or have admin do it)
3. Enable Public Client Flow
- In your app → Authentication
- Under "Advanced settings", set "Allow public client flows" to Yes
- Save
4. Note Your IDs
- Application (client) ID: Found on app Overview page
- Directory (tenant) ID: Found on app Overview page
5. Install & Configure
# Install dependencies
pip install msal requests
# Make executable
chmod +x skills/m365-mail/scripts/m365mail.py
# Optional: symlink to PATH
ln -s $(pwd)/skills/m365-mail/scripts/m365mail.py /usr/local/bin/m365mail
# Configure
m365mail setup --client-id <YOUR_CLIENT_ID> --tenant-id <YOUR_TENANT_ID>
# Authenticate (opens browser for device code)
m365mail auth
Commands
List Inbox
m365mail inbox # Last 20 messages
m365mail inbox -n 50 # Last 50 messages
m365mail inbox -u # Unread only
m365mail inbox -v # With preview
m365mail inbox --json # JSON output
Read Message
m365mail read <message_id> # Full message
m365mail read <id> --max-length 500 # Truncate body
m365mail read <id> --json # JSON output
Search
m365mail search "quarterly report" # Full-text search
m365mail search -f [email protected] # From specific sender
m365mail search -u # Unread only
m365mail search -a # Has attachments
m365mail search "budget" -f [email protected] -u # Combine filters
Send Email
m365mail send --to [email protected] --subject "Hello" --body "Message body"
m365mail send --to [email protected] [email protected] --cc [email protected] --subject "Hi" --body "Text"
m365mail send --to [email protected] --subject "Report" --body-file report.txt
m365mail send --to [email protected] --subject "HTML" --body "<h1>Hi</h1>" --html
Manage Messages
m365mail folders # List all folders
m365mail move <message_id> Archive # Move to folder
m365mail move <message_id> "Deleted Items"
m365mail delete <message_id> # Permanently delete
m365mail mark <message_id> --read # Mark read
m365mail mark <message_id> --unread # Mark unread
Output Formats
- Default: Human-readable table/text
--json: Machine-readable JSON (use for programmatic access)-v/--verbose: Include message preview
Message IDs
Messages are identified by long IDs like AAMkAGI2.... Commands accept:
- Full ID
- ID prefix (first 8+ chars usually unique)
The inbox/search output shows [AAMkAGI2] prefixes for easy reference.
Token Storage
Tokens cached at ~/.m365mail/:
config.json- Client/tenant IDstoken_cache.json- OAuth tokens (auto-refreshes)
Troubleshooting
"No cached token": Run m365mail auth
Permission denied: Ensure Mail.ReadWrite and Mail.Send permissions are granted (may need admin consent)
Token expired: Tool auto-refreshes; if issues persist, run m365mail auth again