BUILT-IN MCP SERVER

Draft in your voice from any agent

Perennial Echo ships with a Model Context Protocol server bundled and ready. Connect Claude, Cursor, and any MCP-compatible agent to the same drafting engine and channel rules as the app. No separate integration to request.

Download Echo

Click the screenshot to view full size

Quick start

  1. 1.Copy the MCP config into your agent app and restart it.
  2. 2.Call echo_status to see if Echo is ready.
  3. 3.If needed: echo_save_personality, then echo_configure_provider (or use the GUI once).
  4. 4.Manage named personas with echo_list_personas, echo_set_active_persona, echo_save_personality with name, echo_rename_persona, and echo_delete_persona.
  5. 5.Call echo_generate with targetId, userInput, and optional toneId.

MCP config

Add this block to your agent's MCP settings, swapping in the binary path for your platform below.

{
  "mcpServers": {
    "perennial-echo": {
      "command": "/path/to/perennial-echo-mcp"
    }
  }
}

macOS

/Applications/Perennial Echo.app/Contents/MacOS/perennial-echo-mcp

Windows

C:\Program Files\Perennial Echo\perennial-echo-mcp.exe

Linux

/usr/local/bin/perennial-echo-mcp

The exact path is shown in Echo under Settings → Agent access after install.

Tool reference

Nine tools. Generation always applies the active fingerprint and channel target: the same engine as the desktop app.

echo_status

Check readiness (fingerprint + active provider). Call this first when debugging.

No parameters

Returns: personalityReady, providerReady, activePersonaId, activePersonaName, activeProvider, activeModel, detail

echo_list_providers

List supported AI providers and models (no API keys).

No parameters

Returns: Array of id, name, defaultModel, models

echo_list_targets

List output types for drafting.

No parameters

Returns: Array of id, label, description (email, social-post, thread-reply, message-reply)

echo_list_tones

List tone options available via MCP (active tones only; coming soon excluded).

No parameters

Returns: Array of id, label

echo_save_personality

Save or replace a communication fingerprint (markdown).

  • content: full markdown fingerprint
  • name: optional persona display name (creates or targets a named persona)

Returns: saved, personaId, persona, path

echo_list_personas

List named personas with active and readiness flags.

No parameters

Returns: personas[] with id, name, active, ready

echo_set_active_persona

Switch the active named persona.

  • personaId: from echo_list_personas

Returns: activePersonaId, activePersonaName, personalityReady

echo_delete_persona

Delete a named persona (refuses the last persona).

  • personaId

Returns: deleted, activePersonaId, activePersonaName

echo_rename_persona

Rename a persona display name (id unchanged).

  • personaId
  • name

Returns: renamed, personaId, persona

echo_configure_provider

Store API key and model for a provider. Sets active provider by default.

  • providerId: e.g. openai, anthropic
  • apiKey: stored locally, never returned
  • model: optional; provider default if omitted
  • setActive: optional; default true

Returns: activeProvider, activeModel, message

echo_set_active_provider

Switch active provider when that provider already has a saved API key.

  • providerId

Returns: activeProvider, activeModel, message

echo_generate

Draft text using the active persona, target format, tone, and configured AI provider.

  • targetId: from echo_list_targets
  • userInput: context or notes to draft from
  • toneId: optional; fingerprint only (default)

Returns: Plain-text draft

Notes

  • Echo uses the provider and API key in Settings (or set via MCP), not your agent’s built-in model.
  • API keys are never returned by MCP tools.
  • The GUI does not need to stay open while agents use Echo.

Get the MCP server

The MCP server ships inside the free Echo desktop app. Download, open Settings → Agent access, and copy the config.

Download Echo free