✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

Personal Assistant MCP Server

A powerful personal assistant server that integrates with various services including Google Calendar, Obsidian Vault, Trello, and web page parsing capabilities. Built using FastMCP, this server provides a unified interface for managing your digital life.

Features

  • Google Calendar Integration

    • Create, read, update, and delete calendar events
    • List upcoming events
  • Obsidian Vault Management

    • Create, read, update, and delete notes
    • Full-text search in notes
    • Folder management (create, delete, search, list)
  • Trello Integration

    • Board, list, and card management
    • Create, update, and delete cards
    • Search cards by text query
  • Web Page Parsing

    • Extract and clean HTML content from any URL

Prerequisites

  • Python 3.10 or higher
  • Poetry (Python package manager)
  • Google Calendar API credentials
  • Trello API credentials (if using Trello features)
  • Obsidian Vault (if using Obsidian features)

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/personal-assistant-mcp.git
    cd personal-assistant-mcp
    
  2. Install dependencies using Poetry:

    poetry install
    
  3. Set up Google Calendar API:

    • Go to the Google Cloud Console
    • Create a new project or select an existing one
    • Enable the Google Calendar API
    • Create OAuth 2.0 credentials
    • Download the credentials and save them as credentials.json in the project root
  4. Set up Trello API (optional):

    • Go to Trello Developer Portal
    • Get your API key and token
    • Add them to your environment variables or config file

Configuration

  1. Run the initial setup to authenticate with Google Calendar:
    poetry run python main.py
    
    • This will open a browser window for Google authentication
    • Follow the prompts to authorize the application

Usage

  1. Start the server:

    poetry run python main.py
    
  2. The server will start and be ready to accept MCP-compatible client connections.

  3. Use any MCP-compatible client to interact with the server. The server provides the following tools:

    • Calendar management
    • Obsidian vault operations
    • Trello board management
    • Web page parsing

Anthropic Claude Desktop Configuration

To use this server with Anthropic Claude Desktop, add the following configuration to your Claude Desktop settings:

{
   "mcpServers": {
      "personal-assistant": {
         "command": "/path/to/your/venv/bin/python",
         "args": ["/path/to/your/project/main.py"],
         "env": {
                 "GOOGLE_CREDENTIALS_PATH": "/path/to/your/credentials.json",
                 "GOOGLE_TOKEN_PATH": "/path/to/your/token.json",
                 "OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault",
                 "OBSIDIAN_DEFAULT_FOLDER": "your_default_folder",
                 "LOG_PATH": "/path/to/log.txt",
                 "TRELLO_TOKEN": "your_trello_token",
                 "TRELLO_API_KEY": "your_trello_api_key"
         }
      }
   }
}

Replace the paths and credentials with your actual values:

  • command: Path to your Python virtual environment’s Python executable
  • args: Path to your project’s main.py file
  • GOOGLE_CREDENTIALS_PATH: Path to your Google Calendar credentials file
  • GOOGLE_TOKEN_PATH: Path to your Google Calendar token file
  • OBSIDIAN_VAULT_PATH: Path to your Obsidian vault
  • OBSIDIAN_DEFAULT_FOLDER: Path to default folder in your vault where new notes will be created
  • TRELLO_TOKEN: Your Trello API token
  • TRELLO_API_KEY: Your Trello API key

Development

  • The project uses Poetry for dependency management
  • All tools are registered in main.py
  • Service-specific implementations are in the services/ directory
  • Follow PEP 8 style guidelines for Python code

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Join:

Telegram Blog

Featured Templates

View More
AI Characters
Sarcastic AI Chat Bot
129 1713
Data Analysis
Pharmacy Admin Panel
252 1957
Customer service
Multi-language AI Translator
136 921
AI Assistants
Talk with Claude 3
159 1523

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.