Overview
What is Emacs MCP Server?
A Model Context Protocol (MCP) server that integrates LLMs with Emacs by generating and executing Emacs Lisp code. It uses emacsclient to communicate with a running Emacs process. Designed for users who want to combine AI-based code generation with Emacs workflows.
How to use Emacs MCP Server?
The project is managed with uv. Run uv sync to install dependencies and source .venv/bin/activate to activate the virtual environment. To run the server in the MCP inspector, use mcp dev emacs_mcp_server.py. For integration with Claude Desktop, run mcp install emacs_mcp_server.py and then edit claude_desktop_config.json to include your OPENAI_API_KEY and the full path to emacsclient.
Key features of Emacs MCP Server
- Generates Emacs Lisp code for a given task.
- Executes generated elisp in a running Emacs via emacsclient.
- Exposes two tools:
generate_emacs_lisp_codeandexecute_emacs_lisp_code. - Requires an OpenAI API key and a configured emacsclient path.
- Can be integrated with Claude Desktop or other MCP-compatible clients.
Use cases of Emacs MCP Server
- Generate elisp code to automate repetitive Emacs actions (e.g., buffer operations).
- Execute AI-generated elisp directly in an active Emacs session.
- Quickly prototype and test Emacs Lisp functions with LLM assistance.
FAQ from Emacs MCP Server
What dependencies are required?
You need Python with uv, the mcp and smartfunc packages, a running Emacs, and emacsclient installed and accessible.
How do I install the server for Claude Desktop?
Run mcp install emacs_mcp_server.py, then edit the generated `claude_desktop_config.json