branch: externals/ellama
commit 07e37d36bf4cf9d3f1704e622b3fdcc2ad244525
Author: Sergey Kostyaev <[email protected]>
Commit: Sergey Kostyaev <[email protected]>

    Add MCP Integration documentation
    
    Added a new **MCP Integration** section to the README.org file documenting 
how
    to use MCP tools with ellama, including required Emacs version, 
installation of
    mcp.el, and example configuration for a DuckDuckGo MCP server. Updated the
    ellama.info file to reflect the new node hierarchy, adding a dedicated “MCP
    Integration” node and adjusting navigation links, while moving the
    “Acknowledgments” and “Contributions” nodes accordingly. This introduces MCP
    support details and updates documentation navigation.
---
 README.org  |  28 +++++++++++++++++
 ellama.info | 100 +++++++++++++++++++++++++++++++++++++++---------------------
 2 files changed, 94 insertions(+), 34 deletions(-)

diff --git a/README.org b/README.org
index 31e5d4137a..c51399e195 100644
--- a/README.org
+++ b/README.org
@@ -672,6 +672,34 @@ blueprint. It pre-fills variables based on the provided 
arguments.
   (global-set-key (kbd "C-c e M") #'my-chat-with-morpheus)
 #+END_SRC
 
+* MCP Integration
+
+You can also use MCP (Model Context Protocol) tools with ~ellama~. You need
+Emacs 30 or higher version. Install ~mcp.el~ -
+https://github.com/lizqwerscott/mcp.el. For example to add web search 
capability
+to ~ellama~ you can add duckduckgo mcp server
+(https://github.com/nickclyde/duckduckgo-mcp-server):
+
+#+begin_src emacs-lisp
+(use-package mcp
+  :ensure t
+  :demand t
+  :custom
+  (mcp-hub-servers
+   `(("ddg" . (:command "uvx"
+                       :args
+                       ("duckduckgo-mcp-server")))))
+  :config
+  (require 'mcp-hub)
+  (mcp-hub-start-all-server
+   (lambda ()
+     (let ((tools (mcp-hub-get-all-tool :asyncp t :categoryp t)))
+       (mapcar #'(lambda (tool)
+                  (apply #'ellama-tools-define-tool
+                         (list tool)))
+              tools)))))
+#+end_src
+
 * Acknowledgments
 
 Thanks [[https://github.com/jmorganca][Jeffrey Morgan]] for excellent project 
[[https://github.com/jmorganca/ollama][ollama]]. This project
diff --git a/ellama.info b/ellama.info
index 85e0dbe649..31d09b1732 100644
--- a/ellama.info
+++ b/ellama.info
@@ -65,6 +65,7 @@ Assistant".  Previous sentence was written by Ellama itself.
 * Context Management::
 * Minor modes::
 * Using Blueprints::
+* MCP Integration::
 * Acknowledgments::
 * Contributions::
 * GNU Free Documentation License::
@@ -797,7 +798,7 @@ The session ID is displayed with a customizable face called
 ‘ellama-face’.  You can customize this face to change its appearance.
 
 
-File: ellama.info,  Node: Using Blueprints,  Next: Acknowledgments,  Prev: 
Minor modes,  Up: Top
+File: ellama.info,  Node: Using Blueprints,  Next: MCP Integration,  Prev: 
Minor modes,  Up: Top
 
 7 Using Blueprints
 ******************
@@ -924,9 +925,39 @@ arguments.
      (global-set-key (kbd "C-c e M") #'my-chat-with-morpheus)
 
 
-File: ellama.info,  Node: Acknowledgments,  Next: Contributions,  Prev: Using 
Blueprints,  Up: Top
+File: ellama.info,  Node: MCP Integration,  Next: Acknowledgments,  Prev: 
Using Blueprints,  Up: Top
 
-8 Acknowledgments
+8 MCP Integration
+*****************
+
+You can also use MCP (Model Context Protocol) tools with ‘ellama’.  You
+need Emacs 30 or higher version.  Install ‘mcp.el’ -
+<https://github.com/lizqwerscott/mcp.el>.  For example to add web search
+capability to ‘ellama’ you can add duckduckgo mcp server
+(<https://github.com/nickclyde/duckduckgo-mcp-server>):
+
+     (use-package mcp
+       :ensure t
+       :demand t
+       :custom
+       (mcp-hub-servers
+        `(("ddg" . (:command "uvx"
+                             :args
+                             ("duckduckgo-mcp-server")))))
+       :config
+       (require 'mcp-hub)
+       (mcp-hub-start-all-server
+        (lambda ()
+          (let ((tools (mcp-hub-get-all-tool :asyncp t :categoryp t)))
+            (mapcar #'(lambda (tool)
+                        (apply #'ellama-tools-define-tool
+                               (list tool)))
+                    tools)))))
+
+
+File: ellama.info,  Node: Acknowledgments,  Next: Contributions,  Prev: MCP 
Integration,  Up: Top
+
+9 Acknowledgments
 *****************
 
 Thanks Jeffrey Morgan (https://github.com/jmorganca) for excellent
@@ -946,8 +977,8 @@ Without it only ‘ollama’ would be supported.
 
 File: ellama.info,  Node: Contributions,  Next: GNU Free Documentation 
License,  Prev: Acknowledgments,  Up: Top
 
-9 Contributions
-***************
+10 Contributions
+****************
 
 To contribute, submit a pull request or report a bug.  This library is
 part of GNU ELPA; major contributions must be from someone with FSF
@@ -1440,35 +1471,36 @@ their use in free software.
 
 Tag Table:
 Node: Top1379
-Node: Installation3613
-Node: Commands8621
-Node: Keymap16060
-Node: Configuration18893
-Node: Context Management24901
-Node: Transient Menus for Context Management25809
-Node: Managing the Context27423
-Node: Considerations28198
-Node: Minor modes28791
-Node: ellama-context-header-line-mode30779
-Node: ellama-context-header-line-global-mode31604
-Node: ellama-context-mode-line-mode32324
-Node: ellama-context-mode-line-global-mode33172
-Node: Ellama Session Header Line Mode33876
-Node: Enabling and Disabling34445
-Node: Customization34892
-Node: Ellama Session Mode Line Mode35180
-Node: Enabling and Disabling (1)35765
-Node: Customization (1)36212
-Node: Using Blueprints36506
-Node: Key Components of Ellama Blueprints37125
-Node: Creating and Managing Blueprints37732
-Node: Variable Management38713
-Node: Keymap and Mode39182
-Node: Transient Menus40118
-Node: Running Blueprints programmatically40664
-Node: Acknowledgments41251
-Node: Contributions41964
-Node: GNU Free Documentation License42348
+Node: Installation3633
+Node: Commands8641
+Node: Keymap16080
+Node: Configuration18913
+Node: Context Management24921
+Node: Transient Menus for Context Management25829
+Node: Managing the Context27443
+Node: Considerations28218
+Node: Minor modes28811
+Node: ellama-context-header-line-mode30799
+Node: ellama-context-header-line-global-mode31624
+Node: ellama-context-mode-line-mode32344
+Node: ellama-context-mode-line-global-mode33192
+Node: Ellama Session Header Line Mode33896
+Node: Enabling and Disabling34465
+Node: Customization34912
+Node: Ellama Session Mode Line Mode35200
+Node: Enabling and Disabling (1)35785
+Node: Customization (1)36232
+Node: Using Blueprints36526
+Node: Key Components of Ellama Blueprints37145
+Node: Creating and Managing Blueprints37752
+Node: Variable Management38733
+Node: Keymap and Mode39202
+Node: Transient Menus40138
+Node: Running Blueprints programmatically40684
+Node: MCP Integration41271
+Node: Acknowledgments42296
+Node: Contributions43008
+Node: GNU Free Documentation License43394
 
 End Tag Table
 

Reply via email to