Skip to main content
Glama
README.md
# AISecretary

AISecretary is a collection of MCP servers designed to automate the tasks of a virtual secretary insede the Outlook suite. Each server handles a specific tool, such as:
- Outlook Mail
- Outlook Calendar
- Outlook Contacts
- Outlook To Do
- Outlook Mailbox Settings
- Categories

## Features

- **Modular:** Each tool runs as an independent server, so you can start only the ones you need.
- **Easy integration:** Compatible with OpenWebUI and other platforms supporting MCP.
- **Extensible:** Easily add new servers for additional tools or services.
- **Automation:** Handles repetitive tasks like checking emails, managing calendars, and more.

## Prerequisites

- [uv](https://github.com/astral-sh/uv) installed (Python environment and dependency manager).
- Python 3.11 or higher.

## Getting Started

Follow the instructions below to configure and run the server:

### Service Setup

To configure the necessary Microsoft Graph API settings, follow this setup guide:

- [Outlook](setups/Microsoft.md)

---

### Running the Server

Run the following command to start the server (replace `server.py` with your actual server file):

#### Recommended: Using Claude Desktop

If you have Claude Desktop installed:

```bash
uv run mcp install server.py
```

Other option to install your server in Claude Desktop is to edit the configuration file at:
`C:\Users\YOUR_USER\AppData\Roaming\Claude\claude_desktop_config.json`

```config
{
  "mcpServers": {
    "Server_name": {
      "command": "/Your/path/to/uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "--with",
        "msal",
        "mcp",
        "run",
        "/your/path/to/server.py"
      ]
    },
  }
}
```

If you want all the MCP servers you can just also run the script `claude_setup.py` wity `uv`.
```
uv run python claude_setup.py
```
#### Alternative: Running with OpenWebUI

If you're using platforms like OpenWebUI:

```bash
uvx mcpo --port 9000 -- uv run mcp run server.py
```

Then open **OpenWebUI**, go to:

```
Settings > Tools > [+]
```

Add the following URL:

```
http://127.0.0.1:9000
```

You can now interact with **AISecretary** through the OpenWebUI interface.

## Functionalities

These are the available functionalities for each of the MCP servers:

### 📧 Email

#### Email Management
- Advanced email search  
- Retrieve conversations  
- Mark as read/unread  
- Retrieve full emails with attachments  
- Delete emails  
- Move or copy emails  
- Manage flags  

#### Email Creation and Sending
- Create or edit drafts  
- Handle attachments  
- Send drafts  
- Reply to emails  
- Forward emails  

#### Folder Organization
- View folder structure  
- Create or edit folders  
- Delete folders  
- Navigate folder hierarchy  

#### Mail Rules
- View existing rules  
- Create or edit rules  
- Delete rules  

---

### 🏷️ Categories
- View existing categories  
- Create or edit categories  
- Delete categories  
- Assign categories to emails  
- Assign categories to events  
- Use predefined colors  

---

### 📅 Calendar

#### Event Management
- Retrieve events  
- Create events  
- Update events  
- Delete events  
- Retrieve detailed event information  

#### Invitation Handling
- Accept invitations  
- Decline invitations  
- Respond tentatively  
- Cancel events  

#### Attachment Management
- Add attachments  
- Remove attachments  

#### Calendar Management
- List calendars  
- Retrieve specific calendars  
- Create calendars  
- Update calendars  
- Delete calendars  

#### Calendar Group Management
- List groups  
- Create groups  
- Update groups  
- Delete groups  

#### Availability Lookup
- Retrieve free/busy schedule  

---

### ✅ Task Management

#### Task List Management
- Retrieve lists
- Create lists
- Delete lists

#### Task Management
- Retrieve tasks
- Retrieve specific task
- Create tasks
- Update tasks
- Delete tasks 

---

### 👥 Contacts

#### Contact Folder Management
- Create folders  
- Delete folders  
- Search folders  

#### Contact Management
- Search contacts  
- Retrieve detailed contact information  
- Create contacts  
- Update contacts  
- Delete contacts  

---

### ⚙️ Mailbox Settings

#### General Settings Management
- Retrieve settings  
- Update settings  

#### Supported Settings
- Automatic replies  
- Time zone  
- Working hours  

## Adding New Servers

To add support for new tools, create a new Python file following the structure of the existing servers and register the functions you want to expose as MCP tools.

## More Information

- [Python original sdk](https://github.com/modelcontextprotocol/python-sdk): Explains how to use MCP with different models and tools.
- [OpenWebUI](https://docs.openwebui.com/openapi-servers/mcp/): Detailed guide on integrating MCP servers with OpenWebUI.
- [Anthropic](https://modelcontextprotocol.io/quickstart/user): Detailed guide on integrating MCP servers with Claude Desktop.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.