Personal Assistant
STDIOPersonal assistant AI agent managing calendar, tasks, emails, web searches and smart home devices.
Personal assistant AI agent managing calendar, tasks, emails, web searches and smart home devices.
A versatile personal assistant AI agent built with the Model Context Protocol (MCP) that helps with calendar, tasks, emails, and more.
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:
⚠️ IMPORTANT: Python 3.10 or higher is required for the MCP SDK. The server will not work with earlier Python versions.
git clone https://github.com/yourusername/mcp-pa-ai-agent.git cd mcp-pa-ai-agent
python --version
# 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
pip install -r requirements.txt
cp .env.example .env
.env file with your API credentials and settings.Start the MCP server with:
python mcp_server.py
The server will start and listen for MCP client connections.
Install Claude for Desktop
Configure Claude for Desktop to use this MCP server by editing the configuration file at:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAdd 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.
get_events: Retrieve upcoming calendar eventscreate_event: Schedule a new calendar eventlist_tasks: View all tasks or filter by statusadd_task: Create a new taskupdate_task_status: Mark tasks as pending, in-progress, or completedget_emails: List recent emails from your inboxread_email: View the full content of a specific emailsend_email: Compose and send a new emailweb_search: Search the web for informationget_weather: Get current weather informationget_news: Retrieve latest news articleslist_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 stateThe server requires various API keys and credentials to access different services:
Refer to the .env.example file for all configurable options.
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+.
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
To add new functionality to the server, you can:
modules/ directory@mcp.tool() decoratormcp_server.pyMIT
Contributions are welcome! Please feel free to submit a Pull Request.