emacs-mcp-server

thornjad/emacs-mcp-server

3.1

If you are the rightful owner of emacs-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A small MCP server that facilitates communication between Claude Code, Cursor, and Emacs using emacsclient.

Emacs MCP Server

A small MCP server that lets Claude Code and Cursor talk to your running Emacs via emacsclient.

Requirements

  • Emacs with the server enabled (e.g., add (server-start) to your init, or run emacs --daemon).
  • Python 3.12.

Quick install (recommended)

Install and run with uvx (requires uv):

uvx git+https://github.com/thornjad/emacs-mcp-server.git --smoke

Run the server (for MCP clients that launch it for you, see config below; you can also run it manually to test). It will fail fast if Emacs isn't reachable:

uvx git+https://github.com/thornjad/emacs-mcp-server.git

Alternative install (development)

For development or if you need to modify the code:

brew install uv
uv venv -p 3.12
uv sync
uv run emacs-mcp-server --smoke

Configuration: Claude Code CLI

Use the claude mcp add command to register this server with the CLI.

  • uvx (recommended):
claude mcp add --scope user --transport stdio \
  emacs uvx git+https://github.com/thornjad/emacs-mcp-server.git
  • Development (uv):
claude mcp add --scope user --transport stdio \
  emacs uv run emacs-mcp-server

Confirm and manage:

claude mcp list
claude mcp get emacs

Configuration: Cursor

Cursor also supports MCP servers.

  1. Open Cursor Settings and find the MCP Servers section.
  2. Add a new custom server:
    • Name: emacs
    • Command and Args: same options as described above for Claude Code
    • Environment (optional): same as above
    • Stdio: enabled

After saving, ask Cursor to read the visible text in your current Emacs window or to evaluate a small form to confirm everything works.