Skills & Integrations

Edward's modular skill system — enable what you need, disable what you don't.

Overview

Skills are managed from the Settings page in the web UI. Each skill can be toggled on or off independently. When a skill is enabled, its tools become available to Edward in conversation. When disabled, those tools are completely hidden from the LLM.

All Skills

SkillCategoryDescriptionEnv Vars Required
iMessage AppleScriptMessagingSend and read iMessages via AppleScript (macOS only)None
Twilio SMSMessagingSend and receive SMS via TwilioTWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_PHONE_NUMBER
Twilio WhatsAppMessagingSend and receive WhatsApp messages via TwilioSame as Twilio SMS
WhatsApp MCPMessagingRead/send WhatsApp as user via whatsapp-mcp Go bridgeMCP_WHATSAPP_ENABLED, MCP_WHATSAPP_SERVER_DIR
Brave SearchSearchWeb search and page content extraction via Brave Search APIBRAVE_SEARCH_API_KEY
Code InterpreterExecutionExecute Python code in a sandboxed subprocessNone
JavaScript InterpreterExecutionExecute JavaScript via Node.js subprocessNone
SQL DatabaseExecutionPer-conversation SQLite database for queriesNone
Shell / BashExecutionExecute shell commands with blocklist safetyNone
Apple ServicesAppleCalendar, Reminders, Notes, Mail, Contacts, Maps (macOS only)MCP_APPLE_ENABLED=true
HTML HostingSystemCreate, update, and delete hosted HTML pagesHTML_HOSTING_API_KEY

Always-Available Tools

Some tools are always available regardless of skill state. These are core to Edward's functionality:

  • Memory tools — remember, update, forget, search
  • Document tools — save, read, edit, search, list, delete
  • Scheduled event tools — schedule, list, cancel
  • File storage tools — save, list, read, download, tag, delete
  • Persistent database tools — create, query, list, delete
  • Widget tools — update widget state and code
  • Push notification tools — send web push to subscribed devices
  • Contact tools — lookup by name or phone number
  • Custom MCP tools — search, add, list, remove MCP servers

Custom MCP Servers

Beyond the built-in skills, Edward can discover, install, and use MCP servers at runtime. This is fully self-service — Edward can search GitHub for MCP server packages, install them via npx or uvx, and start using their tools immediately.

Key details:

  • Servers run as subprocesses — no git clone needed
  • Each server's tools are prefixed with the server name to avoid collisions
  • New tools are available immediately via hot-reload
  • Manage custom servers from the "Edward's Servers" panel in Settings

Set the GITHUB_TOKEN environment variable to enable GitHub search for MCP server discovery.

Enabling a Skill

  1. Navigate to Settings in the web UI
  2. Find the skill in the skills list
  3. Toggle it on
  4. If the skill requires environment variables, make sure they're set in backend/.env and restart the backend

Skills that require MCP clients (WhatsApp MCP, Apple Services) will initialize their subprocess when enabled. The skill status indicator shows whether the connection is healthy.


Curious about how it all fits together? See the Architecture overview.