Emacs
Pure ELISP MCP server for Emacs
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
Maintainer
Works with
Installation
Manual Installation
npx emacsConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
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
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")))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-statusConfigure 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))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-pathConfigure 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.
Emacs Alternatives — Similar Developer Tools Servers
Looking for alternatives to Emacs? Here are other popular developer tools servers you can use with Claude, Cursor, and VS Code.
Ecc
★ 188.2kThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Javaguide
★ 155.8kJava 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Gemini CLI
★ 104.5kA secure MCP server that wraps the Google Gemini CLI, allowing clients to query Gemini models using local OAuth sessions without requiring an API key. It provides tools for model interaction and diagnostics with built-in protection against command in
Awesome MCP Servers
★ 87.3k⭐ Curated list of Model Context Protocol (MCP) servers - tools that extend Claude Desktop, Cursor, Windsurf, and other MCP clients with custom capabilities.
MCP Servers
★ 86.0kModel Context Protocol Servers
CC Switch
★ 77.5kA cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
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.
Set Up Emacs in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
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.