Creativity · MCP — client

MCP Emacs gptel Client

The Emacs gptel package has grown MCP client support, turning any gptel buffer into an MCP-aware assistant. Emacs users configure servers in `gptel-mcp-servers`, and gptel handles tool-call dispatch, approval prompts in the minibuffer, and resource linking into org-mode buffers. It's a first-class way to use MCP from inside a deeply programmable editor.

MCP facts

Kind
client
Ecosystem
anthropic-mcp
Language
Emacs Lisp
Transports
stdio, http

Capabilities

  • Connects gptel buffers to configured MCP servers
  • Tool approval in minibuffer; diff previews for write tools in ediff
  • Resource URIs render as org-mode links that can be visited to reload

Install

M-x package-install RET gptel RET

Configuration

(setq gptel-mcp-servers
      '(("filesystem"
         :command "npx"
         :args ("-y" "@modelcontextprotocol/server-filesystem" "~/org"))
        ("github"
         :command "npx"
         :args ("-y" "@modelcontextprotocol/server-github")
         :env (("GITHUB_TOKEN" . (getenv "GITHUB_TOKEN"))))))

Frequently asked questions

Does gptel require Anthropic's Claude?

No — gptel is multi-backend (Claude, OpenAI, Gemini, Ollama, etc.). MCP tool calls are translated for each backend's tool-use format.

Can I call MCP tools from org-babel?

Yes via gptel's org integration. An #+begin_src gptel block can invoke tools and capture structured results back into the buffer.

Is there an Emacs package for MCP servers?

Writing an MCP server in Emacs Lisp is possible but uncommon. Most users treat Emacs as a client; the servers stay in TypeScript/Python.

Sources

  1. gptel — GNU Emacs LLM client — accessed 2026-04-20
  2. Model Context Protocol — accessed 2026-04-20
  3. MCP spec — accessed 2026-04-20