
personal-assistant-mcp
A powerful personal assistant server that integrates with various services including Google Calendar, Obsidian Vault, Trello, and web page parsing capabilities.
3 years
Works with Finder
2
Github Watches
0
Github Forks
2
Github Stars
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
-
Clone the repository:
git clone https://github.com/yourusername/personal-assistant-mcp.git cd personal-assistant-mcp
-
Install dependencies using Poetry:
poetry install
-
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
-
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
- 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
-
Start the server:
poetry run python main.py
-
The server will start and be ready to accept MCP-compatible client connections.
-
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",
"SEMANTIC_SEARCH_ENABLED": "True/False",
"EMBEDDINGS_PATH": "/path/to/embeddings.json"
}
}
}
}
Replace the paths and credentials with your actual values:
-
command
: Path to your Python virtual environment's Python executable -
args
: Path to your project'smain.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 -
SEMANTIC_SEARCH_ENABLED
: Enable semantic search for Obsidian Vault -
EMBEDDINGS_PATH
: Path to embeddings json
To enable semantic search capabilities, you'll need to install the Vector Search plugin for Obsidian.
After the reindexing process is complete, the plugin will generate a JSON file containing vector embeddings at the following location:
.obsidian/plugins/vector-search/data.json
This file will be used as the embedding source for semantic search queries.
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
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Join:
相关推荐
🧑🚀 全世界最好的LLM资料总结(Agent框架、辅助编程、数据处理、模型训练、模型推理、o1 模型、MCP、小语言模型、视觉语言模型) | Summary of the world's best LLM resources.
🔥 1Panel provides an intuitive web interface and MCP Server to manage websites, files, containers, databases, and LLMs on a Linux server.
⛓️RuleGo is a lightweight, high-performance, embedded, next-generation component orchestration rule engine framework for Go.
PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero
A plugin-based gateway that orchestrates other MCPs and allows developers to build upon it enterprise-grade agents.
Easily create LLM tools and agents using plain Bash/JavaScript/Python functions.
😎简单易用、🧩丰富生态 - 大模型原生即时通信机器人平台 | 适配 QQ / 微信(企业微信、个人微信)/ 飞书 / 钉钉 / Discord / Telegram / Slack 等平台 | 支持 ChatGPT、DeepSeek、Dify、Claude、Gemini、xAI、PPIO、Ollama、LM Studio、阿里云百炼、火山方舟、SiliconFlow、Qwen、Moonshot、ChatGLM、SillyTraven、MCP 等 LLM 的机器人 / Agent | LLM-based instant messaging bots platform, supports Discord, Telegram, WeChat, Lark, DingTalk, QQ, Slack