MCP Personal Assistant Agent
A versatile personal assistant AI agent built with the Model Context Protocol (MCP) that helps with calendar, tasks, emails, and more.
Overview
This project is a Model Context Protocol (MCP) server that provides a set of tools for a personal assistant agent. It can be integrated with MCP clients like Claude for Desktop to give AI assistants the ability to:
- Manage calendar events
- Track tasks and to-dos
- Read and send emails
- Search the web and retrieve information
- Control smart home devices
Requirements
⚠️ IMPORTANT: Python 3.10 or higher is required for the MCP SDK. The server will not work with earlier Python versions.
- Python 3.10+
- MCP SDK 1.2.0+
- Required Python packages (see requirements.txt)
Installation
- Clone the repository:
git clone https://github.com/yourusername/mcp-pa-ai-agent.git
cd mcp-pa-ai-agent
- Ensure you have Python 3.10+:
python --version
- If your system Python is older than 3.10, set up a compatible environment:
# Using conda
conda create -n mcp-env python=3.10
conda activate mcp-env
# OR using venv (if Python 3.10+ is installed elsewhere)
python3.10 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Configure environment variables by copying the example file:
cp .env.example .env
- Edit the
.envfile with your API credentials and settings.
Running the Server
Start the MCP server with:
python mcp_server.py
The server will start and listen for MCP client connections.
Connecting to Claude for Desktop
-
Install Claude for Desktop
-
Configure Claude for Desktop to use this MCP server by editing the configuration file at:
- MacOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- MacOS/Linux:
-
Add the following configuration:
{
"mcpServers": {
"personal-assistant": {
"command": "/path/to/python",
"args": [
"/absolute/path/to/mcp-pa-ai-agent/mcp_server.py"
]
}
}
}
If you're using a virtual environment, make sure to point to the Python executable in that environment.
- Restart Claude for Desktop
Available Tools
Calendar
get_events: Retrieve upcoming calendar eventscreate_event: Schedule a new calendar event
Tasks
list_tasks: View all tasks or filter by statusadd_task: Create a new taskupdate_task_status: Mark tasks as pending, in-progress, or completed
get_emails: List recent emails from your inboxread_email: View the full content of a specific emailsend_email: Compose and send a new email
Knowledge
web_search: Search the web for informationget_weather: Get current weather informationget_news: Retrieve latest news articles
Smart Home
list_devices: View all smart home devicescontrol_device: Control smart home devices (lights, thermostats, etc.)get_device_state: Get detailed information about a device's current state
Configuration
The server requires various API keys and credentials to access different services:
- Google API: For calendar and email functionality (OAuth2 credentials)
- Weather API: For weather information
- News API: For news retrieval
- Home Assistant: For smart home control
Refer to the .env.example file for all configurable options.
Troubleshooting
Python Version Issues
If you see an error like:
Error: Python 3.10 or higher is required for the MCP server.
You need to upgrade your Python version or use a virtual environment with Python 3.10+.
MCP SDK Installation Issues
If you encounter problems installing the MCP SDK:
ERROR: Could not find a version that satisfies the requirement mcp>=1.2.0
Make sure you're using Python 3.10+ and pip is updated:
pip install --upgrade pip
Development
To add new functionality to the server, you can:
- Create a new module in the
modules/directory - Implement functions with the
@mcp.tool()decorator - Import your module in
mcp_server.py
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Metadata
Release files for iflow-mcp_mcp-pa-ai-agent 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_mcp_pa_ai_agent-0.1.0.tar.gz | 86.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_mcp_pa_ai_agent-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 107.1 kB
Release files / iflow_mcp_mcp_pa_ai_agent-0.1.0.tar.gz
| Download URL | iflow_mcp_mcp_pa_ai_agent-0.1.0.tar.gz |
|---|---|
| Size | 86.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a8161860b1e160c4607d72a41397b9820ef0ee23e230a51510fba824f5efc01
|
|
BLAKE2b-256 checksum How to use checksums |
adfb029e506c843c5798976cc5d4e1e01df4266e89c1fb9e1a7461313005b8be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.9
|
Release files / iflow_mcp_mcp_pa_ai_agent-0.1.0-py3-none-any.whl
| Download URL | iflow_mcp_mcp_pa_ai_agent-0.1.0-py3-none-any.whl |
|---|---|
| Size | 20.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5484c43c99c5189f75708ca9f2b4d054acb086cc0572fcabac8216d47a4fc07
|
|
BLAKE2b-256 checksum How to use checksums |
49395bcf5ed615f34572dfac720f8f46cf7b6ea0b2e2ab85ffd8b774537af81d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.9
|