You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,6 +31,7 @@ A Wolfram Language toolkit for integrating with AI agents and LLMs — providing
31
31
-**MCP Apps** for interactive UI resources in supported clients (e.g., embedded notebook viewers, Wolfram\|Alpha result displays)
32
32
-**Agent Skills** for distributing Wolfram tools as portable skills to AI coding agents (Claude Code, Cursor, Gemini CLI, VS Code, and [more](https://agentskills.io/))
33
33
-**Paclet extensions** allowing third-party paclets to contribute MCP tools, prompts, and servers via the `"AgentTools"` extension
34
+
-**Docker image** for running the MCP server in a container without a local Wolfram Engine installation
A prebuilt Docker image is available as an alternative to a local Wolfram Engine installation. See [Docker documentation](docs/docker.md) for setup and MCP client configuration examples.
**Note:** On Windows, you'll need to ensure that [Docker Desktop](https://www.docker.com/products/docker-desktop/) is running before using `docker` commands.
18
14
19
-
The MCP server requires a valid Wolfram Engine license. You have two options:
15
+
### Configure Licensing
20
16
21
-
#### Option 1: Entitlement ID (Recommended for Containers)
17
+
#### Option 1: Entitlement ID
22
18
23
19
Use a Wolfram Service Credits entitlement ID. This is ideal for ephemeral containers since no persistent storage is needed.
24
20
25
-
1. Obtain an entitlement ID from [Wolfram Service Credits](https://www.wolfram.com/service-credits/)
**Note:** Service credits are consumed while the kernel is running.
43
+
**Note:** Service credits are consumed while the kernel is running, so this method is best for short-lived containers.
32
44
33
45
#### Option 2: Node-Locked License (Free)
34
46
35
-
Use a free [Wolfram Engine Developer License](https://www.wolfram.com/developer-license/). This requires persistent storage for the license file.
47
+
Use an existing license associated with your Wolfram ID or get a free [Wolfram Engine Developer License](https://www.wolfram.com/developer-license/). This requires persistent storage for the license file.
48
+
49
+
1. If needed, get a free license at https://www.wolfram.com/developer-license/
36
50
37
-
1. Get a free license at https://www.wolfram.com/developer-license/
**Note:** The license expires periodically and will auto-renew automatically when the Wolfram kernel starts and the container has internet connectivity. Ensure that the `./Licensing` directory is kept persistent and mounted on every run so that the renewed license is preserved across container restarts.
67
+
5. Ensure the volume is mounted in your MCP client configuration (see below for examples):
**Note:** In MCP client configurations, use an absolute host path rather than `./Licensing`, since many clients launch `docker` with a working directory that is not the project directory. Change `/path/to/Licensing` to wherever you want to store the license information. Ensure that the licensing directory is kept persistent and mounted on every run so that the renewed license is preserved across container restarts.
53
73
54
74
## Server Configurations
55
75
@@ -72,7 +92,7 @@ docker run -i --rm \
72
92
73
93
## Mounting a Workspace Directory
74
94
75
-
The container starts in an empty `/workspace` directory. You can mount a host directory here to give the MCP server access to your files:
95
+
The container starts in an empty `/workspace` directory. You can mount a host directory here to give the MCP server access to your project files:
76
96
77
97
```bash
78
98
docker run -i --rm \
@@ -85,31 +105,25 @@ This allows the server to read and write files in your project directory. For ex
85
105
86
106
```bash
87
107
docker run -i --rm \
88
-
-v $(pwd):/workspace \
108
+
-v .:/workspace \
89
109
-e WOLFRAMSCRIPT_ENTITLEMENTID=your-id \
90
110
ghcr.io/wolframresearch/mcpserver:latest
91
111
```
92
112
93
-
On Windows (PowerShell):
94
-
```powershell
95
-
docker run -i --rm `
96
-
-v ${PWD}:/workspace `
97
-
-e WOLFRAMSCRIPT_ENTITLEMENTID=your-id `
98
-
ghcr.io/wolframresearch/mcpserver:latest
99
-
```
113
+
Mounting a directory is necessary if you want to use tools that need to read or write files, e.g., `ReadNotebook`, `WriteNotebook`, `TestReport`, `CodeInspector`, etc.
100
114
101
115
**Security Note:** The container will have full read/write access to the mounted directory. Only mount directories you trust the MCP server to access.
102
116
103
-
## MCP Client Configuration
117
+
## Example MCP Client Configurations
104
118
105
119
### Claude Desktop
106
120
107
-
Add to `~/.config/claude/claude_desktop_config.json` (Linux) or `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):
121
+
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
108
122
109
123
```json
110
124
{
111
125
"mcpServers": {
112
-
"wolfram": {
126
+
"Wolfram": {
113
127
"command": "docker",
114
128
"args": [
115
129
"run", "-i", "--rm",
@@ -129,33 +143,13 @@ Add to your project's `.mcp.json` or global `~/.claude.json`:
@@ -244,15 +238,22 @@ This allows you to test changes without rebuilding the image.
244
238
245
239
## Troubleshooting
246
240
247
-
### "Kernel initialization failed"
241
+
### MCP server fails to start on Windows
242
+
243
+
On Windows, you'll need to ensure that [Docker Desktop](https://www.docker.com/products/docker-desktop/) is running before starting the MCP server.
248
244
249
-
This usually indicates a licensing issue. Verify:
245
+
### "Your Wolfram Engine installation is not activated"
246
+
247
+
This usually indicates a licensing issue. Verify that:
250
248
- Your entitlement ID is valid and has available credits
251
249
- Or your node-locked license directory is mounted correctly
252
250
253
-
### Slow startup
251
+
### MCP server startup times out
254
252
255
-
The first kernel startup takes several seconds. This is normal for Wolfram Engine. Pre-building MX files can improve this.
253
+
Pulling the Docker image the first time can take a while. Before running the MCP server, try pulling the image manually to ensure it is ready for fast startup:
0 commit comments