Ross MCP
Allows management of Apple Reminders, including creating, listing, and completing reminders.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ross MCPAdd a reminder to call John at 3pm"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ross MCP
Personal life admin MCP server — manage Apple Reminders (and later calendars, email) from any Claude session.
Architecture: Claude -> Cloud Relay (Fly.io) -> Local Mac Agent -> Apple APIs
Current Features
Apple Reminders: Create, list, and complete reminders
Multi-agent: Multiple Macs can connect to the relay simultaneously
Web dashboards: Relay dashboard (cloud) and agent UI (local)
MCP server: Any Claude Code or Claude Chat session can use reminder tools
Auto-start: Agent runs as a launchd service, survives reboots
Related MCP server: Apple Reminders MCP Server
Quick Start
1. Clone and set up Python
cd ross-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -r agent/requirements.txt
pip install mcp httpx2. Configure environment
cp .env.example .env
# Edit .env with your API key and relay URL3. Run the agent manually (for testing)
source .venv/bin/activate
python -m agent.agentThe agent will:
Connect to the cloud relay via WebSocket
Start a local web UI at http://127.0.0.1:8001
Listen for commands from any Claude session
4. Install as auto-start service
./agent/install.shThis installs a launchd service that starts the agent on boot and keeps it running. See Agent Installation for details.
5. Configure Claude Code MCP
Add to your ~/.claude/settings.json:
{
"mcpServers": {
"ross-life-admin": {
"command": "VENV_PYTHON_PATH",
"args": ["/path/to/ross-mcp/mcp_server.py"],
"env": {
"RELAY_API_KEY": "your-api-key-here",
"MCP_RELAY_URL": "https://ross-mcp-relay.fly.dev"
}
}
}
}Replace VENV_PYTHON_PATH with the full path to .venv/bin/python and update the project path.
Agent Installation
Manual run
source .venv/bin/activate
python -m agent.agentAuto-start on boot (launchd)
Run the install script:
./agent/install.shThis creates a launchd service at ~/Library/LaunchAgents/com.ross.mcp-agent.plist.
Service commands:
Action | Command |
Stop |
|
Start |
|
Restart | Unload then load |
View logs |
|
View errors |
|
Installing on a second Mac
Clone the repo on the second Mac
Set up the venv and install dependencies
Copy your
.envfile (changeAGENT_NAMEto identify the machine)Run
./agent/install.sh
Both agents will connect to the same relay — commands route to whichever is available.
Remote Endpoints
The cloud relay is deployed on Fly.io at:
Endpoint | URL | Auth |
Dashboard |
| API key (entered in UI) |
Send command |
| Bearer token |
Status |
| Bearer token |
Agent WebSocket |
| Bearer token |
Example: Create a reminder via curl
curl -X POST https://ross-mcp-relay.fly.dev/api/command \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "create_reminder", "payload": {"title": "Buy milk"}}'Where Secrets Are Stored
Secret | Location | Notes |
|
| Used by both agent and MCP server |
| Fly.io secrets | Set via |
|
| Same value as RELAY_API_KEY |
MCP server env |
| Claude Code reads this at startup |
To view/update Fly.io secrets:
fly secrets list --app ross-mcp-relay
fly secrets set RELAY_API_KEY=new-key-here --app ross-mcp-relayTo regenerate all keys:
python3 -c "import secrets; print(secrets.token_urlsafe(32))"
# Update: .env, fly secrets, and ~/.claude/settings.jsonProject Structure
ross-mcp/
├── agent/ # Local Mac agent
│ ├── agent.py # Main agent (WebSocket client + web UI)
│ ├── web.py # Local web UI (port 8001)
│ ├── services/
│ │ └── reminders.py # Apple Reminders via EventKit
│ ├── install.sh # Launchd auto-start installer
│ └── com.ross.mcp-agent.plist # Launchd template
├── relay/ # Cloud relay (Fly.io)
│ ├── relay.py # FastAPI app (WebSocket hub + HTTP API + dashboard)
│ ├── Dockerfile
│ └── requirements.txt
├── shared/ # Shared schemas
│ └── messages.py # Command/Response message types
├── mcp_server.py # MCP server for Claude integration
├── fly.toml # Fly.io deployment config
├── .env.example # Environment template
├── SPRINT.md # Current sprint tasks
├── ROADMAP.md # Future planned features
└── README.md # This fileLinks
Roadmap — Future planned features
Sprint Log — Current sprint tasks
Fly.io Dashboard — Deployment management
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ross-C/ross-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server