Emacs MCP Server について
Emacs MCP Server は、elisp コードを生成し、実行中の Emacs プロセスで実行する MCP サーバーです。Emacs 環境で AI の支援を利用したいユーザーに向いています。
主な機能
- 01タスクに応じた elisp コードの生成
- 02emacsclient 経由での elisp 実行
- 03実行中の Emacs プロセス内での評価
活用シーン
- 01自然言語の指示から elisp コードを生成する
- 02開いている Emacs セッションでコードスニペットを実行する
MCP 対応
MCP クライアントに対して、generate_emacs_lisp_code と execute_emacs_lisp_code の 2 つのツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Emacs MCP サーバー
Emacs 用の Model Context Protocol(MCP)サーバーです。実行中の Emacs プロセスで elisp コードを生成して実行できます。
ツール
サーバーは 2 つのツールを公開します。
generate_emacs_lisp_code:指定されたタスクの elisp コードを生成しますexecute_emacs_lisp_code:実行中の Emacs に(emacsclient経由で)elisp を渡し、評価して実行します。
起動方法
このプロジェクトは uv で管理されています。まず、uv sync を実行してすべての依存関係をインストールします。次に、source .venv/bin/activate を実行して作成された venv を有効にします。
Inspector で MCP サーバーを実行するには:
mcp dev emacs_mcp_server.py
Claude Desktop で使用できるように MCP サーバーをインストールするには:
mcp install emacs_mcp_server.py
ただし、生成された JSON 設定ファイル claude_desktop_config.json を編集して、API キーと emacsclient のフルパスを記載する必要があります。次のような形式になります。
"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"
}
}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。