MCP Setup

Evergreen · Model Context Protocol Server

Evergreen is a relationship-first CRM with a bundled MCP server that lets AI agents search contacts, log interactions, track follow-ups, and reason about your network — all from your coding agent's chat.

Setting up with an AI coding agent?

Copy this page's URL and paste it into your agent. It will fetch the page and follow the machine-readable instructions below.

Then tell your agent: "Set up the Evergreen MCP server using the instructions at this URL."

Instructions for AI Coding Agents

You are an AI coding agent. The user wants to install the Evergreen MCP server. Follow these steps exactly:

  1. Verify Evergreen is installed. Run ls /Applications/Evergreen.app. If missing, tell the user to install Evergreen from the Mac App Store before continuing.
  2. Confirm the bundled MCP binary exists. Run ls "/Applications/Evergreen.app/Contents/MacOS/evergreen-mcp". Do not proceed until this file exists.
  3. Ask which MCP client the user runs (Claude Desktop, Claude Code, Cursor, Windsurf, Zed). Default to Claude Desktop.
  4. Install the server config using the client-specific steps below. Use this exact server definition under the key evergreen-crm:
    {
      "command": "/Applications/Evergreen.app/Contents/MacOS/evergreen-mcp",
      "args": []
    }
  5. Restart the MCP client.
  6. Verify. Evergreen exposes a large tool surface across contacts, interactions, actions, relationships, and reminders — including search_contacts, get_contact, log_interaction, list_actions, get_overdue_actions, get_stale_contacts, and get_relationship_strength. Call search_contacts with an empty query to list contacts and confirm the connection.
  7. If a step fails, read the Troubleshooting section.

What is Evergreen MCP?

Evergreen is a relationship-first CRM designed around staying in touch — not closing deals. The MCP server lets an AI agent query your contacts, log conversations as they happen, surface overdue follow-ups, and reason about which relationships have gone stale. Everything lives locally in a CloudKit-backed store.

Client Instructions

Claude Desktop

  1. Claude Desktop menu bar → SettingsDeveloperEdit Config.
  2. Merge into claude_desktop_config.json:
{
  "mcpServers": {
    "evergreen-crm": {
      "command": "/Applications/Evergreen.app/Contents/MacOS/evergreen-mcp",
      "args": []
    }
  }
}
  1. Save, quit Claude Desktop (⌘Q), reopen.
  2. Confirm evergreen-crm shows as connected.

Claude Code

claude mcp add evergreen-crm /Applications/Evergreen.app/Contents/MacOS/evergreen-mcp

Restart and run /mcp to verify.

Cursor

  1. Cursor SettingsMCPAdd new MCP server.
  2. Or edit ~/.cursor/mcp.json directly with the JSON above.

Windsurf / Zed / Other MCP Clients

Any stdio-transport MCP client works. Point it at the binary with empty args.

Tool Surface

Evergreen exposes roughly 35 tools across five domains:

Contacts

search_contacts, get_contact, create_contact, update_contact

Interactions

log_interaction, get_contact_interactions, update_interaction, delete_interaction, get_activity_log

Actions (Follow-ups)

list_actions, create_action, update_action, mark_action_completed, get_overdue_actions, get_actions_due_soon

Relationships

list_relationships, create_relationship, get_contact_network, get_relationship_strength, get_stale_contacts

Introductions

record_introduction, get_introducer, get_introduction_chain, get_top_introducers

Reminders

get_reminder_settings, set_reminder_threshold, snooze_reminder, clear_snooze

Troubleshooting

Binary not found

Run ls /Applications/Evergreen.app/Contents/MacOS/ to confirm the path. Update the command field if Evergreen is installed elsewhere.

Empty results from search_contacts

Launch Evergreen once so the CloudKit-backed store initializes in the App Group container. The MCP server reads from the same database.

Gatekeeper blocks first launch

Run open /Applications/Evergreen.app/Contents/MacOS/evergreen-mcp once and approve the dialog.

Relationship strength values look stale

Call recompute_relationship_strengths to rebuild the scores from interaction history.