Skip to content

adrighem/eds-mcp

Repository files navigation

Evolution Data Server (EDS) MCP Server

An MCP server that integrates with the GNOME Evolution Data Server (EDS). This allows Gemini to directly read your local calendar and contacts configured in GNOME Evolution (e.g., via Office365).

Features

Resources

  • eds://calendars: Read all available and enabled calendars.
  • eds://mail/accounts: Read all configured and enabled email accounts.
  • eds://mail/{account_uid}/folders: Read the list of folders for a specific email account.

Tools

  • get_calendar_events: Retrieve calendar events for the coming days.
  • create_calendar_event: Create a new event in a specific calendar.
  • update_calendar_event: Update the summary or description of an existing calendar event.
  • delete_calendar_event: Delete an event or a specific recurrence from a calendar.
  • search_contacts: Search for contacts in your Evolution address book.
  • get_emails: Retrieve recent emails from a specific folder.

Prompts

  • schedule_today: A prompt to generate a schedule for today based on the user's agenda.
  • contact_dossier: Gather information about a specific contact.

Accessing Microsoft Outlook Calendars

This MCP server relies on the GNOME Evolution Data Server (EDS). This means that to access Microsoft Outlook (Exchange or Office 365) calendars and contacts from your Linux system, you need to configure them in GNOME Evolution first:

  1. Install GNOME Evolution and evolution-ews (the Exchange Web Services plugin).
  2. Open Evolution and add a new account.
  3. Choose "Exchange Web Services" (EWS) or "Outlook" as the server type and log in.
  4. Ensure the calendars and contacts you want to access are enabled in Evolution's sidebar.
  5. Once synced, eds-mcp will automatically discover and be able to read these calendars through EDS.

Installation & Usage via uv

This project uses uv for package management. Because EDS bindings (PyGObject) often depend on system libraries, we recommend using uv in combination with system packages if necessary.

1. Preparing the project

cd /path/to/src/eds-mcp
uv venv --system-site-packages
source .venv/bin/activate
uv pip install -e .

Automation Bridge (Required for modifying emails)

This server relies on a custom Evolution plugin to perform destructive actions like moving or deleting emails.

To install the bridge, run:

make install-bridge

Note: This will install build dependencies, compile the C plugin, and install it into Evolution's plugin directory. It may prompt for your sudo password.

2. Add as an MCP Server to Gemini

Add the following configuration to your Gemini/Claude config file (usually ~/.config/Gemini/config.json or via the CLI):

{
  "mcpServers": {
    "eds": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/src/eds-mcp",
        "run",
        "eds-mcp"
      ]
    }
  }
}

Manual Testing

You can also run the server directly to see if it starts:

uv run eds-mcp

Requirements

  • Linux with GNOME
  • evolution-data-server and the corresponding -dev packages.
  • python3-gi (PyGObject bindings)

About

Evolution Data Server (EDS) MCP Server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors