Emacs
БесплатноНе проверенAn MCP server that bridges Claude Code with Emacs via emacsclient, enabling buffer, file, org-mode, git, and diff operations.
Описание
An MCP server that bridges Claude Code with Emacs via emacsclient, enabling buffer, file, org-mode, git, and diff operations.
README
An MCP (Model Context Protocol) server that bridges Claude Code with Emacs via emacsclient.
Features
Phase 1: Core (Buffer & Eval)
| Tool | Description |
|---|---|
emacs_eval |
Execute arbitrary Elisp code |
emacs_buffer_read |
Read contents of a buffer |
emacs_buffer_write |
Write/replace content in a buffer |
emacs_buffer_edit |
Apply targeted edits (find and replace) |
emacs_buffer_list |
List all open buffers |
emacs_buffer_switch |
Switch to a buffer |
emacs_buffer_create |
Create a new buffer |
emacs_buffer_kill |
Close/kill a buffer |
Phase 2: File & Project Operations
| Tool | Description |
|---|---|
emacs_file_open |
Open a file (with optional line/column) |
emacs_file_save |
Save buffer to file |
emacs_file_save_as |
Save buffer to new path |
emacs_file_info |
Get file metadata |
emacs_project_list |
List known projects |
emacs_project_current |
Get current project info |
emacs_project_switch |
Switch to a project |
emacs_project_files |
List files in project |
emacs_project_search |
Search files by pattern |
emacs_workspace_list |
List workspaces/tabs |
emacs_workspace_current |
Get current workspace |
emacs_workspace_switch |
Switch workspace |
emacs_workspace_create |
Create new workspace |
emacs_workspace_delete |
Delete workspace |
emacs_workspace_save |
Save workspace state |
Phase 3: Org-mode Integration
| Tool | Description |
|---|---|
emacs_org_read |
Read org document (raw or parsed structure) |
emacs_org_write |
Write content to org buffer |
emacs_org_heading_add |
Add a new heading |
emacs_org_heading_update |
Update heading title/content |
emacs_org_heading_delete |
Delete a heading and subtree |
emacs_org_heading_move |
Move heading (up/down/promote/demote) |
emacs_org_todo_set |
Set TODO state for a heading |
emacs_org_todo_list |
List all TODO items |
emacs_org_tag_set |
Set tags for a heading |
emacs_org_property_set |
Set a property for a heading |
emacs_org_export |
Export to html/pdf/markdown/latex/ascii/odt |
emacs_org_agenda |
Query agenda (day/week/month) |
emacs_org_capture |
Create entry via capture template |
emacs_org_search |
Search org files (text/heading/tag/property) |
Phase 4: Git/Magit Integration
| Tool | Description |
|---|---|
emacs_git_status |
Get git status (staged, unstaged, untracked) |
emacs_git_diff |
Get diff (staged/unstaged/committed) |
emacs_git_log |
Get commit log |
emacs_git_stage |
Stage files for commit |
emacs_git_unstage |
Unstage files |
emacs_git_commit |
Create a commit |
emacs_git_branch_list |
List branches |
emacs_git_branch_current |
Get current branch |
emacs_git_branch_checkout |
Checkout a branch |
emacs_git_stash_list |
List stashes |
emacs_git_stash_push |
Create a stash |
emacs_git_stash_pop |
Pop a stash |
emacs_git_blame |
Show git blame for a file |
Phase 5: Ediff & Comparison
| Tool | Description |
|---|---|
emacs_ediff_files |
Compare two files (unified/context/side-by-side) |
emacs_ediff_buffers |
Compare two buffers |
emacs_ediff_regions |
Compare two text strings |
emacs_ediff_3way |
Three-way file comparison (for merges) |
emacs_diff_summary |
Get summary of differences |
Resources
| URI | Description |
|---|---|
emacs://buffers |
List of all open buffers |
emacs://buffer/{name} |
Contents of a buffer |
emacs://projects |
List of known projects |
emacs://project/current |
Current project info |
emacs://project/{path}/files |
Files in a project |
emacs://workspaces |
List of workspaces |
emacs://workspace/current |
Current workspace |
emacs://org/agenda |
Today's agenda items |
emacs://org/todos |
All TODO items |
emacs://org/files |
Org-agenda files |
emacs://org/capture-templates |
Available capture templates |
emacs://git/status |
Current git status |
emacs://git/branch |
Current branch info |
Compatibility
- Vanilla Emacs: Uses
project.elandtab-bar-mode - Doom Emacs: Uses
projectileand+workspace(auto-detected)
Prerequisites
- Emacs 28+ with daemon support
- Node.js 18+
- Running Emacs daemon:
emacs --daemon
Installation
npm install
npm run build
Configuration
Add to your Claude Code .mcp.json:
{
"mcpServers": {
"emacs": {
"command": "node",
"args": ["/path/to/emacs-mcp/dist/index.js"],
"env": {
"EMACS_SOCKET": "/run/user/1000/emacs/server",
"EMACSCLIENT_PATH": "/usr/bin/emacsclient"
}
}
}
}
Environment Variables
| Variable | Description | Default |
|---|---|---|
EMACS_SOCKET |
Path to Emacs daemon socket | Auto-detect |
EMACSCLIENT_PATH |
Path to emacsclient binary | emacsclient |
EMACS_TIMEOUT |
Default timeout for operations (ms) | 5000 |
EMACS_ORG_DIRECTORY |
Org files directory | ~/org |
Usage Examples
Claude: Read the contents of the *scratch* buffer
> Uses emacs_buffer_read tool
Claude: List all open buffers
> Uses emacs_buffer_list tool
Claude: Evaluate (+ 1 2 3) in Emacs
> Uses emacs_eval tool
Claude: What projects do I have open?
> Uses emacs_project_list tool
Claude: Switch to workspace "main"
> Uses emacs_workspace_switch tool
Claude: Open /path/to/file.ts at line 42
> Uses emacs_file_open tool
Claude: Show me my TODO items
> Uses emacs_org_todo_list tool
Claude: Add a TODO heading "Review PRD" to notes.org
> Uses emacs_org_heading_add tool
Claude: What's on my agenda this week?
> Uses emacs_org_agenda tool
Claude: Export my notes.org to PDF
> Uses emacs_org_export tool
Claude: What's my git status?
> Uses emacs_git_status tool
Claude: Show me the recent commits
> Uses emacs_git_log tool
Claude: Stage all changes and commit
> Uses emacs_git_stage and emacs_git_commit tools
Claude: What branch am I on?
> Uses emacs_git_branch_current tool
Claude: Compare file.ts with file.ts.bak
> Uses emacs_ediff_files tool
Claude: Show me the differences between these two buffers
> Uses emacs_ediff_buffers tool
Claude: Do a three-way merge comparison
> Uses emacs_ediff_3way tool
Development
# Watch mode
npm run dev
# Run tests
npm test
# Lint
npm run lint
Roadmap
See PRD.md for full roadmap:
- Phase 1: Core Infrastructure (MVP)
- Phase 2: File & Project Operations
- Phase 3: Org-mode Integration
- Phase 4: Git/Magit Integration
- Phase 5: Ediff & Advanced Features
License
MIT
Установка Emacs
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/mandoo180/emacs-mcpFAQ
Emacs MCP бесплатный?
Да, Emacs MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Emacs?
Нет, Emacs работает без API-ключей и переменных окружения.
Emacs — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Emacs в Claude Desktop, Claude Code или Cursor?
Открой Emacs на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Emacs with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
