Direct MCP tools that allow Claude Code to communicate with and control a running Emacs instance using the Model Context Protocol.
- Open specified files in Emacs buffers
- Open git changes in Magit
- Check Emacs server status
- List available tools
- Modern MCP SDK integration using direct tools approach
- Complementary to git-mcp for repository access
You can install this package via npm:
# Global installation (recommended)
npm install -g emacs-mcp-server
# Local installation
npm install emacs-mcp-server
Once installed, you can add the MCP tools to Claude Code:
# Register tools with Claude Code
claude mcp add emacs-mcp-open emacs-mcp-open
claude mcp add emacs-mcp-magit emacs-mcp-magit
claude mcp add emacs-mcp-check emacs-mcp-check
claude mcp add emacs-mcp-list emacs-mcp-list
For development or manual setup:
# Clone the repository
git clone https://github.com/toastynerd/emacs-mcp-server.git
cd emacs-mcp-server
# Install dependencies
npm install
# Add direct tools to Claude Code
claude mcp add emacs-mcp-open ./src/direct-tool.js
claude mcp add emacs-mcp-magit ./src/direct-tool.js
claude mcp add emacs-mcp-check ./src/direct-tool.js
claude mcp add emacs-mcp-list ./src/direct-tool.js
For better repository exploration and documentation access, add git-mcp:
# Add git-mcp to Claude Code
claude mcp add --transport sse git-mcp https://gitmcp.io/idosal/git-mcp
This allows Claude to access repository documentation and code context through the Model Context Protocol.
After installation, you can use the MCP tools with Claude Code:
/mcp emacs-mcp-open file_path="/path/to/your/file.txt"
/mcp emacs-mcp-magit repo_path="/path/to/your/repo"
/mcp emacs-mcp-check
/mcp emacs-mcp-list
For more details, see CLAUDE.md.
# Run unit tests
npm test
- Node.js (v16+)
- npm (v6+)
- Emacs with server mode enabled (
M-x server-start
) - Magit (for Git functionality)
- Claude Code CLI
MIT
Contributions are welcome! Please feel free to submit a Pull Request.