git clone <repository-url>
cd personal # or your repo directory nameImportant: The MCP server requires Python 3.10 or higher.
# Check your Python version
python3 --version
# If you have Python 3.9 or lower, install a newer version:
# macOS (via Homebrew):
brew install python@3.11 # or python@3.12
# Verify newer Python is available
python3.11 --version # or python3.12# Create virtual environment with Python 3.10+ (recommended)
# If you installed python3.11 via Homebrew:
python3.11 -m venv venv
# Or use system Python if it's 3.10+:
python3 -m venv venv
# Activate virtual environment
source venv/bin/activate # On macOS/Linux
# or: venv\Scripts\activate # On Windows
# Upgrade pip
pip install --upgrade pip
# Install dependencies
pip install -r execution/scripts/requirements.txtMCP servers are located in mcp/ and pre-configured in .cursor/mcp.json for Cursor IDE. To use them:
# Install Parquet MCP server dependencies (requires Python 3.10+)
cd mcp/parquet
pip install -r requirements.txt
cd ../..
# Install Minted MCP server dependencies
cd mcp/minted
pip install -r requirements.txt
cd ../..
# Install Gmail MCP server dependencies (requires Node.js)
cd mcp/gmail
npm install
npm run build
cd ../..Important: The .cursor/mcp.json file uses ${REPO_ROOT} for path resolution. If you see ModuleNotFoundError for pyarrow or mcp, verify:
-
The venv Python has the dependencies:
source venv/bin/activate python -c "import pyarrow, pandas, mcp; print('✓ All dependencies available')"
-
The MCP config uses the venv Python (not system Python):
# Check .cursor/mcp.json - should use ${REPO_ROOT} or absolute paths cat .cursor/mcp.json
- MCP servers are automatically configured via
.cursor/mcp.json - Five servers available:
parquet,gmail,minted,instagram,google-calendar - Restart Cursor after installing dependencies
- See
mcp/README.mdfor complete configuration
If you see ModuleNotFoundError: No module named 'pyarrow':
- The MCP config is using system Python instead of venv Python
- Update
.cursor/mcp.jsonto use:"${REPO_ROOT}/venv/bin/python3"
If you see ModuleNotFoundError: No module named 'mcp':
- Python version is too old (need 3.10+)
- Upgrade Python and recreate venv (see step 2)
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"parquet": {
"command": "python3",
"args": ["/absolute/path/to/mcp/parquet/parquet_mcp_server.py"]
},
"gmail": {
"command": "node",
"args": ["/absolute/path/to/mcp/gmail/dist/index.js"]
},
"minted": {
"command": "python3",
"args": ["/absolute/path/to/mcp/minted/minted_mcp_server.py"]
}
}
}Required for credential management and environment variable sync.
# Run setup script (installs if needed, verifies authentication)
./execution/scripts/setup-1password-cli.sh
# If not signed in, sign in:
eval $(op signin)Note: The setup script will:
- Check if 1Password CLI is installed
- Install it via Homebrew on macOS if missing
- Verify authentication status
- Provide instructions if manual setup is needed
See /docs/credential_management.md for detailed 1Password CLI setup instructions.
# Ensure 1Password CLI is signed in (if not already)
eval $(op signin)
# Sync credentials to .env
python execution/scripts/op_sync_env_from_1password.pyCreate .env in the repo root:
COINBASE_API_KEY="your_key_here"
COINBASE_API_SECRET="your_secret_here"
COINBASE_API_PASSPHRASE="your_passphrase_here"
HIRO_PLATFORM_API_KEY="your_hiro_key_here"Note: .env is already in .gitignore - never commit it.
# Activate virtual environment first
source venv/bin/activate
# Test MCP server (should wait for stdio input - this is normal)
python mcp/parquet/parquet_mcp_server.py
# Press Ctrl+C to exit
# Test data query
python execution/scripts/query_transactions.py --summary
# Verify MCP dependencies
python -c "import mcp, pyarrow, pandas; print('✓ MCP server dependencies ready')"
# List available data types via MCP (in Cursor, ask: "List all available data types")./execution/scripts/setup-asana-sync.sh./execution/scripts/setup-audio-transcription-watcher.sh./execution/scripts/setup-twilio-sms-services.sh./execution/scripts/setup-asana-webhook-services.shSee individual setup scripts for detailed configuration instructions.