emacs-mcp-server
Generate and execute elisp code within a running Emacs environment using the Model Context Protocol. Facilitate automation tasks and script execution directly from the server interface.
Author

vivekhaldar
Quick Info
Actions
Tags
Emacs MCP Server
Model Context Protocol (MCP) server for Emacs. Enables generating and running elisp code in a running Emacs process.
Tools
The server exposes two tools:
- generate_emacs_lisp_code: generates elisp for a given task
- execute_emacs_lisp_code: passes elisp to a running Emacs (via emacsclient) to eval and execute it.
Invocation
The project is managed with uv. First, run uv sync to install all dependencies. Then source .venv/bin/activate to activate the resulting venv.
To run the MCP server in the inspector:
mcp dev emacs_mcp_server.py
To install the MCP server so that Claude Desktop can use it:
mcp install emacs_mcp_server.py
But you will have to edit the resulting JSON config in claude_desktop_config.json to include API keys and the full path to emacsclient. It should look something like this:
"Emacs-MCP-Server": {
"command": "/Users/haldar/.local/bin/uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"smartfunc",
"mcp",
"run",
"/Users/haldar/repos/gh/emacs-mcp-server/emacs_mcp_server.py"
],
"env": {
"OPENAI_API_KEY": "sk-xxxx",
"EMACSCLIENT": "/your/path/to/emacsclient"
}
}
