Troubleshooting
Start with the shortest path that proves where the failure is: Glyphs, local endpoint, or MCP client configuration.
Quick checks
-
Relaunch Glyphs.
-
Choose Edit -> Glyphs MCP Server.
-
Click Start if the server is stopped, then wait for the status to change from blue Starting to green Running.
-
Confirm the endpoint is exactly:
http://127.0.0.1:9680/mcp/ -
Check that port 9680 is listening:
lsof -iTCP:9680 -sTCP:LISTEN -
Check the local endpoint:
curl -H 'Accept: application/json' http://127.0.0.1:9680/mcp/
No Glyphs menu items
Expected menu item under Edit:
- Glyphs MCP Server
Common causes:
- The plug-in was not installed in the Glyphs plug-ins folder.
- Glyphs has not been restarted since installation.
Fix:
-
Quit Glyphs.
-
Confirm
Glyphs MCP.glyphsPluginexists in:~/Library/Application Support/Glyphs 4/Plugins/ -
Reinstall with the signed macOS installer or terminal Copy mode.
-
Reopen Glyphs.
macOS says the plug-in cannot be verified
Do not bypass the warning or remove quarantine while diagnosing it. A normal installation from the signed DMG, signed installer ZIP, or terminal Copy mode must preserve a valid Developer ID signature on the installed plug-in.
First record:
- the exact installation method: DMG, installer ZIP, terminal Copy, or development Link;
- the Glyphs and macOS versions;
- whether Glyphs 3 or Glyphs 4 was targeted;
- the exact plug-in path and complete warning text.
The supported paths are:
~/Library/Application Support/Glyphs 3/Plugins/Glyphs MCP.glyphsPlugin
~/Library/Application Support/Glyphs 4/Plugins/Glyphs MCP.glyphsPlugin
Then verify the installed bundle:
codesign --verify --deep --strict --verbose=2 \
"$HOME/Library/Application Support/Glyphs 4/Plugins/Glyphs MCP.glyphsPlugin"
codesign -d --verbose=4 \
"$HOME/Library/Application Support/Glyphs 4/Plugins/Glyphs MCP.glyphsPlugin"
xcrun stapler validate \
"$HOME/Library/Application Support/Glyphs 4/Plugins/Glyphs MCP.glyphsPlugin"
xattr -lr \
"$HOME/Library/Application Support/Glyphs 4/Plugins/Glyphs MCP.glyphsPlugin"
For Glyphs 3, replace Glyphs 4 with Glyphs 3. The signature details should
show Team ID N9U29A4T8J, a Developer ID Application authority, hardened
runtime, and a secure timestamp. The stapler command should report that the
validate action worked. A .glyphsPlugin is a custom code bundle rather than
an app, so spctl --type execute is not a valid direct assessment for it.
Terminal Copy mode downloads and verifies the exact signed release matching the checkout. Development Link mode and manually copied raw source are mutable developer setups; they do not have a release-signature or notarization guarantee. If the warning appears after a signed installation, report the details above rather than opening the bundle anyway.
Client cannot connect
Startup order often matters:
- Launch Glyphs.
- Start the MCP server.
- Launch or reload the client.
Then reconnect to:
http://127.0.0.1:9680/mcp/
After installing a build with a changed tool catalog, restart the server and reload the client so it fetches the current tools/list.
Server shows Error
Starting with 1.5.3, green Running means Uvicorn completed startup and bound the configured localhost port. A live background thread by itself is not reported as ready.
If startup fails or the server exits unexpectedly, the status panel keeps a red Error, shows the affected port, and asks you to check the Macro Panel and retry. Open Window -> Macro Panel and look for the full entry beginning with:
[Glyphs MCP][Server]
Correct the reported problem, then click Start. Auto-start failures remain non-modal so Glyphs can finish launching; a manual Start failure also opens an alert. Glyphs MCP does not retry automatically.
Browser works but client does not
A browser request can return discovery JSON, but MCP clients need a correct Streamable HTTP configuration. Confirm the client is using the endpoint above and not a shortened, redirected, or browser-only URL.
For client-specific setup, see Connect a client.
Python unsupported
The installer supports Python 3.11-3.14.
Check your Python:
python3 --version
If you are on an unsupported version, install Python 3.14 from python.org and rerun the installer.
Installer stops at Check Python environment
Starting with 1.5.4, both installers check the exact Python selected for each
Glyphs target before running pip or changing the plug-in. The check prevents a
false success when shared native packages were built for a different Python
ABI. A typical example is Glyphs using Python 3.14 while
Scripts/site-packages contains files such as:
pydantic_core/_pydantic_core.cpython-311-darwin.so
objc/_objc.cpython-311-darwin.so
Those files were built for CPython 3.11 and cannot be loaded by CPython 3.14. The installer stops before changing dependencies, plug-ins, or client settings. It does not delete, back up, reinstall, or move any shared package.
Copy these details from the installer error and log:
- the Glyphs target (3 or 4);
- the exact Python executable and version;
SOABI, extension suffix, and architecture;- the inspected
Scripts/site-packagespath; - every issue code, module, and offending file.
If more than one native build exists, the check accepts the environment when a
compatible candidate imports successfully. .abi3 extensions and compatible
universal binaries are also accepted. If the result looks incorrect, attach
the JSON diagnostic to a GitHub issue rather than deleting shared packages
blindly.
For now, resolve the Python/package mismatch deliberately—for example by selecting the Python version those packages were built for, or by rebuilding the environment after reviewing which other Glyphs scripts share it. Automatic repair and isolated dependency storage are intentionally deferred pending Glyphs team feedback.
Missing dependencies
If the plug-in starts but tool calls fail with ImportError or
ModuleNotFoundError, dependencies may not be installed where Glyphs can load
them. A normal 1.5.4 installation treats missing modules as non-blocking during
preflight, installs dependencies, and then requires every runtime import to
pass before reporting completion.
Common location:
~/Library/Application Support/Glyphs 4/Scripts/site-packages
Advanced helper scripts from the repo root:
src/glyphs-mcp/scripts/install_deps_glyphs_python.sh
src/glyphs-mcp/scripts/install_deps_external_python.sh
Restart Glyphs after installing dependencies.
Port in use
If another process is already bound to 127.0.0.1:9680, the server may fail to start.
lsof -iTCP:9680 -sTCP:LISTEN
Quit the other process or restart Glyphs.
Diagnostic prompt
Paste this into your AI client:
Help me debug my Glyphs MCP connection.
1. Try to call list_open_fonts.
2. Tell me which endpoint you used.
3. If you see an error, quote it verbatim.
4. Based on the error, tell me the next 2-3 steps to try.