Emacs

v1.0.0Developer Toolsstable

Pure ELISP MCP server for Emacs

emacsmcpai-integration
Share:
75
Stars
0
Downloads
0
Weekly
0/5

What is Emacs?

Emacs is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to pure elisp mcp server for emacs

Pure ELISP MCP server for Emacs

This server falls under the Developer Tools category on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • Pure ELISP MCP server for Emacs

Use Cases

Control Emacs through AI assistants via pure ELISP.
rhblind

Maintainer

LicenseGPL-3.0
Languageemacs lisp
Versionv1.0.0
UpdatedMay 18, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx emacs

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use Emacs

The Emacs MCP Server is a pure Emacs Lisp implementation that runs an MCP server inside a live Emacs process, exposing Emacs capabilities directly to AI assistants via a Unix domain socket. It provides over 15 tools spanning Elisp evaluation, Org-mode management (agenda, capture, search, refile, archive, clock), Org-roam knowledge graph access, and diagnostic information from Flycheck or Flymake. Users connect AI assistants like Claude to their running Emacs instance to automate tasks, query the Org agenda, capture notes, or execute Elisp code interactively.

Prerequisites

  • Emacs 28 or later installed with a working configuration
  • The mcp-server Emacs package installed via straight.el, Doom Emacs, or manual load-path
  • An MCP-compatible client such as Claude Desktop or Claude Code (CLI)
  • socat or Python 3 available for the Unix socket bridge wrapper
  • Optional: org-roam installed if you want org-roam-search, org-roam-get-node, and org-roam-capture tools
1

Install the mcp-server Emacs package

Add the package to your Emacs configuration using straight.el, Doom Emacs, or manual load-path. The use-package example below uses straight.el.

;; Using straight.el / use-package
(use-package mcp-server
  :straight (:type git :host github :repo "rhblind/emacs-mcp-server"
             :files ("*.el" "tools/*.el" "mcp-wrapper.py" "mcp-wrapper.sh"))
  :config
  (add-hook 'emacs-startup-hook #'mcp-server-start-unix))

;; Doom Emacs (packages.el)
(package! mcp-server
  :recipe (:type git :host github :repo "rhblind/emacs-mcp-server"
           :files ("*.el" "tools/*.el" "mcp-wrapper.py" "mcp-wrapper.sh")))
2

Start the MCP server inside Emacs

Either let the startup hook start it automatically, or start it manually. The server binds to a Unix socket at ~/.config/emacs/.local/cache/emacs-mcp-server.sock.

;; Start manually inside Emacs
M-x mcp-server-start-unix

;; Check status
M-x mcp-server-status
3

Configure tool selection

Optionally restrict which tools are enabled. The default enables all tools; you can limit to specific ones for security.

;; Enable all tools (default)
(setq mcp-server-emacs-tools-enabled 'all)

;; Enable only specific tools
(setq mcp-server-emacs-tools-enabled '(get-diagnostics org-agenda org-capture))
4

Locate the socket path

Confirm the socket path so you can reference it in your client config. Run this inside Emacs.

M-x mcp-server-get-socket-path
5

Configure your MCP client with the shell wrapper

Add the server to claude_desktop_config.json using the mcp-wrapper.sh script that bridges stdio to the Unix socket.

Emacs Examples

Client configuration

Add the Emacs MCP Server to Claude Desktop using the shell wrapper script. Replace the paths with your actual installation paths.

{
  "mcpServers": {
    "emacs": {
      "command": "/path/to/emacs-mcp-server/mcp-wrapper.sh",
      "args": ["/Users/you/.config/emacs/.local/cache/emacs-mcp-server.sock"],
      "transport": "stdio"
    }
  }
}

Prompts to try

Use these prompts once connected to your running Emacs instance.

- "Show me my Org agenda for today"
- "Capture a new TODO item: Review pull requests by Friday"
- "Search my Org files for notes about 'project planning'"
- "Evaluate this Elisp and tell me the result: (+ 1 2 3)"
- "Get the current Flycheck diagnostics for this buffer"
- "Search my org-roam notes for 'machine learning'"

Troubleshooting Emacs

MCP client cannot connect: 'No such file or directory' for the socket

Run 'M-x mcp-server-status' inside Emacs to confirm the server is running, and 'M-x mcp-server-get-socket-path' to get the exact socket path. Update mcp-wrapper.sh args to match. Emacs must be running with the server active before your client connects.

org-roam tools are missing from the tool list

The org-roam tools (org-roam-search, org-roam-get-node, org-roam-capture) are only loaded if org-roam is installed and configured. Install org-roam and ensure it is initialized before mcp-server starts.

Connection times out or drops intermittently

Increase the connection timeout by setting the EMACS_MCP_TIMEOUT environment variable (default is 10 seconds) in the wrapper script. Enable debug logging with 'M-x mcp-server-toggle-debug' to see detailed connection logs.

Frequently Asked Questions about Emacs

What is Emacs?

Emacs is a Model Context Protocol (MCP) server that pure elisp mcp server for emacs It connects AI assistants to external tools and data sources through a standardized interface.

How do I install Emacs?

Follow the installation instructions on the Emacs GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with Emacs?

Emacs works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is Emacs free to use?

Yes, Emacs is open source and available under the GPL-3.0 license. You can use it freely in both personal and commercial projects.

Browse More Developer Tools MCP Servers

Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "emacs": { "command": "npx", "args": ["-y", "emacs"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use Emacs?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides