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