SamuraiBuddha/my-girl-friday
If you are the rightful owner of my-girl-friday and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
My Girl Friday is an MCP server designed for seamless Microsoft Outlook integration, providing AI-assisted email, calendar, and task management.
Memory MCP
Tracks email interactions.
Orchestrator
Routes email-related requests.
Blockchain MCP
Creates audit trails of important emails.
My Girl Friday š©āš¼
An MCP (Model Context Protocol) server for Microsoft Outlook integration - Your AI assistant for email, calendar, and tasks.
Named after the classic personal assistant, My Girl Friday brings your Outlook directly into Claude, eliminating constant context switching and making email management a breeze.
š Features
Phase 1: Email Operations (Current Focus)
list_emails
- View inbox and folders without leaving Clauderead_email
- Get full email content including attachmentssearch_emails
- Find specific messages quicklyget_folders
- Navigate your folder structure
Phase 2: Email Actions (Coming Soon)
compose_email
- Draft emails directly in Claudesend_email
- Send without switching appsreply_to_email
- Quick repliesforward_email
- Forward with contextmove_email
- Organize your inboxdelete_email
- Clean up
Phase 3: Calendar Integration (Planned)
list_events
- See your schedulecreate_event
- Schedule meetingsupdate_event
- Modify appointmentscheck_availability
- Find free time
Phase 4: Tasks & Contacts (Future)
list_tasks
- View Outlook taskscreate_task
- Turn emails into todossearch_contacts
- Quick contact lookup
š Quick Start
Prerequisites
- Python 3.11+
- Microsoft 365 account (personal or work/school)
- Azure App Registration (see setup below)
Installation
- Clone the repository:
git clone https://github.com/SamuraiBuddha/my-girl-friday.git
cd my-girl-friday
- Install dependencies:
pip install -e .
- Set up environment variables:
cp .env.example .env
# Edit .env with your Azure app credentials
Azure App Registration
-
Go to Azure Portal
-
Navigate to "App registrations" ā "New registration"
-
Configure your app:
- Name: "My Girl Friday MCP"
- Supported account types: Choose based on your needs
- Redirect URI:
http://localhost:8080
(for local development)
-
After creation, note down:
- Application (client) ID
- Directory (tenant) ID
-
Create a client secret:
- Go to "Certificates & secrets"
- New client secret
- Copy the secret value immediately
-
Set API permissions:
- Add permissions ā Microsoft Graph
- Delegated permissions:
Mail.Read
Mail.ReadWrite
Mail.Send
Calendar.Read
Calendar.ReadWrite
Tasks.Read
Tasks.ReadWrite
User.Read
Configuration
Add to your Claude Desktop config:
{
"my-girl-friday": {
"command": "python",
"args": ["-m", "my_girl_friday"],
"env": {
"OUTLOOK_CLIENT_ID": "your-client-id",
"OUTLOOK_CLIENT_SECRET": "your-client-secret",
"OUTLOOK_TENANT_ID": "your-tenant-id"
}
}
}
š Usage Examples
Check Recent Emails
"Friday, check my emails from today"
"Show me unread messages"
"Any emails from Jordan about the Chicago project?"
Search and Filter
"Find all emails about blockchain"
"Show me emails with attachments from this week"
"Check for meeting invites"
Email Management
"Read the latest email from Marie"
"Show me emails in the Projects folder"
"Draft a reply to the last email"
šļø Architecture
My Girl Friday uses:
- Microsoft Graph API for Outlook access
- MSAL (Microsoft Authentication Library) for OAuth2
- MCP SDK for Claude integration
- Token caching for seamless authentication
š¤ Integration with Other MCPs
My Girl Friday works beautifully with:
- Memory MCP: Tracks email interactions
- Orchestrator: Routes email-related requests
- Blockchain MCP: Creates audit trails of important emails
š Development
Project Structure
my-girl-friday/
āāā my_girl_friday/
ā āāā __init__.py
ā āāā __main__.py
ā āāā server.py # Main MCP server
ā āāā auth.py # Authentication handling
ā āāā email_handler.py # Email operations
ā āāā calendar_handler.py # Calendar operations (future)
ā āāā models.py # Data models
āāā pyproject.toml
āāā README.md
āāā .env.example
Running in Development
# With environment variables set
python -m my_girl_friday
# Or with inline env vars
OUTLOOK_CLIENT_ID=xxx python -m my_girl_friday
š Security
- Credentials are never stored in code
- OAuth2 tokens are cached securely
- All API calls use Microsoft's secure Graph API
- Supports both personal and organizational accounts
š Troubleshooting
Authentication Issues
- Ensure your Azure app has the correct permissions
- Check that redirect URI matches your setup
- Verify client ID and secret are correct
Token Errors
- Delete the token cache and re-authenticate
- Check if your app registration is active
Permission Denied
- Ensure you've granted admin consent for organizational apps
- Verify the user has access to the requested resources
š§ Roadmap
- Basic email reading
- Email search functionality
- Email composition and sending
- Calendar integration
- Task management
- Contact lookup
- Attachment handling
- Email templates
- Smart filtering and categorization
š License
MIT License - see LICENSE file
š Acknowledgments
- Named after the 1940 film "His Girl Friday" - the perfect assistant
- Built for Jordan Ehrig, father of 7, who desperately needed email in Claude
- Part of the MAGI ecosystem of AI tools
"Who needs to switch to Outlook when you have Friday?" š¬