Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

MCPClient

Guides

  • Thin MCP Client

Tech Notes

  • Client for a Python-made MCP server
  • Client for Docker MCP Toolkit

Symbols

  • MCPInitialize
  • MCPKill
  • MCPListTools
  • MCPStart
  • MCPToLLMTool
Client for Docker MCP Toolkit
Introduction
LLM invocations
MCP Setup and initialization
Stopping the MCP server process
Tools discovery and creation
​
Introduction
This notebook has a complete usage example of a thin Model Context Protocol (MCP) client of the Raku paclet "MCPClient".
The MCP server run in Docker -- see
Docker MCP Toolkit
.
"MCPClient" provides a set of functions for using MCP server's methods by converting them to
LLMTool
objects. Those objects can be used with Wolfram Language's Large Language Model (LLM) framework. (
LLMSynthesize
,
LLMFunction
,
LLMConfiguration
.)
Install the paclet and load it
In[2]:=
PacletInstall["AntonAntonov/MCPClient"];​​Needs["AntonAntonov`MCPClient`"];
MCP Setup and initialization
Get Docker profile file name
In[26]:=
profileFile=FileNameJoin[{PacletFind["AntonAntonov/MCPClient"]〚1〛["Location"],"Resources","default_docker_profile.json"}];
Import the profile
In[32]:=
RunProcess[{"/usr/local/bin/docker","mcp","profile","import",profileFile}]
Setup MCP server process creation command elements
In[33]:=
cmd={"/usr/local/bin/docker","mcp","gateway","run","--profile","default-docker-profile"};
Create the MCP client object
In[34]:=
client=
MCPStart
[cmd,ProcessEnvironmentGetEnvironment[]];​​
Function[
][
]
Initialize the client
In[36]:=
r=
MCPInitialize
[client,"Pause"10];​​
Function[
][
]
Tools discovery and creation
Get the MCP server tools list (and tabulate parts of it)
In[42]:=
mcpTools=
MCPListTools
[client,"Pause"8];​​mcpTools//​​Map[KeyTake[#,{"name","description"}]&,#]&//​​Dataset//ResourceFunction["GridTableForm"]
Make LLMTool objects
In[18]:=
tools=
MCPToLLMTool
[client,mcpTools]
Make a configuration with the tools
In[19]:=
conf=LLMConfiguration["Model"{"OpenAI","gpt-5.3-chat-latest"},"MaxTokens"8192,"Tools"tools];
LLM invocations
Find the unaccepted GitHub Pull Requests (PRs):
In[24]:=
LLMSynthesize["Which of my -- antononcube -- GitHub pull requests are pending?",LLMEvaluatorconf]
Stopping the MCP server process
Kill the MCP client process
In[43]:=
MCPKill[client]
RelatedGuides
▪
Thin MCP Client
RelatedTechNotes
▪
Client for a Python-made MCP server
""

© 2026 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com