From a0ed72e5d4b0f6355261d9c7bc061d989c9eba1f Mon Sep 17 00:00:00 2001 From: Bruno Ribaric Date: Wed, 6 Aug 2025 08:31:22 +0200 Subject: [PATCH] feat: add MCP for gptel --- modules/tools/llm/config.el | 10 +++++++++- modules/tools/llm/doctor.el | 5 +++++ modules/tools/llm/packages.el | 4 ++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 modules/tools/llm/doctor.el diff --git a/modules/tools/llm/config.el b/modules/tools/llm/config.el index f9fcaf775a1..32a36bfaa36 100644 --- a/modules/tools/llm/config.el +++ b/modules/tools/llm/config.el @@ -11,7 +11,9 @@ :select t :size 0.3 :quit nil - :ttl nil)) + :ttl nil) + (when (modulep! +mcp) + (require 'gptel-integrations))) (use-package! gptel-quick @@ -27,5 +29,11 @@ :when (modulep! :tools magit) :hook (magit-mode . gptel-magit-install)) +(use-package! mcp + :when (and (modulep! +mcp) + (>= emacs-major-version 30)) + :config + (require 'mcp-hub)) + ;; TODO: Aidermacs? diff --git a/modules/tools/llm/doctor.el b/modules/tools/llm/doctor.el new file mode 100644 index 00000000000..7bb3d63b6d9 --- /dev/null +++ b/modules/tools/llm/doctor.el @@ -0,0 +1,5 @@ +;;; tools/llm/doctor.el -*- lexical-binding: t; -*- + +(when (and (modulep! +mcp) + (< emacs-major-version 30)) + (error! "MCP requires Emacs version >= 30. MCP will not work.")) diff --git a/modules/tools/llm/packages.el b/modules/tools/llm/packages.el index 470e1ad3c4f..e82a957cc23 100644 --- a/modules/tools/llm/packages.el +++ b/modules/tools/llm/packages.el @@ -9,3 +9,7 @@ (when (modulep! :tools magit) (package! gptel-magit :pin "f27c01821b67ed99ddf705c2b995f78b71394d8b")) + +(when (and (modulep! +mcp) + (>= emacs-major-version 30)) + (package! mcp :pin "4708c5849ce4ddb632016eca662a7405bfa642d4"))