Installation
Glyphs MCP ships as a Glyphs plug-in plus a small Python dependency set. The macOS installer supports Glyphs 3 and Glyphs 4 beta; install it first, then start the local MCP server from inside Glyphs.
Recommended path
Use the installer. It can install the plug-in, install dependencies where Glyphs can load them, link supported clients, and optionally install bundled agent skills.
The macOS app detects Glyphs 3 and Glyphs 4 separately. If both are installed, both are selected initially, and you can choose either version or install for both. A missing version is shown as not detected and cannot be selected.
Supported automatic links:
- Codex App
- Codex CLI
- Claude App
- Claude CLI
Run from the repo root:
python3 install.py
On macOS, you can also double-click RunInstall.command in Finder. If Gatekeeper blocks it, right-click it and choose Open once.

Requirements
- macOS with Glyphs 3 or Glyphs 4 beta
- Python 3.11-3.14
- Local access to the repo checkout or a downloaded release package
If python3 is missing or too old, install Python 3.14 from python.org and rerun the installer.
Glyphs 3 backward compatibility is kept for the shared MCP server code where possible. The macOS app detects it automatically. The terminal installer still defaults to Glyphs 4; for a terminal-based Glyphs 3 install, use --glyphs-version 3.
What the installer does
- Detects a supported Python environment.
- Detects installed Glyphs 3 and Glyphs 4 applications and lets you target either or both.
- Installs Python dependencies for Glyphs.
- Installs or links
Glyphs MCP.glyphsPlugininto Glyphs' plug-ins folder. - Can link supported local MCP clients.
- Can copy bundled
glyphs-mcp-*skills into Codex or Claude Code skill directories. - Verifies imports and prints actionable errors when setup fails.
Downloads
Scripted install
For automation or reproducible development setup, use non-interactive mode:
python3 install.py --non-interactive --python-mode glyphs --plugin-mode link --skip-skills --skip-client-guidance
The terminal installer targets Glyphs 4 by default. For a Glyphs 3 install, add --glyphs-version 3. This option does not affect the macOS app’s automatic target detection.
Add skill installation when needed:
python3 install.py --non-interactive --python-mode glyphs --plugin-mode link --install-skills --skills-target codex --overwrite-plugin --overwrite-skills --skip-client-guidance
Verify installation
After installation, restart Glyphs. The Edit menu should include:
- Glyphs MCP Server
Then continue to Start the server.
Uninstall
macOS app
- Open the installer’s Status page and choose Uninstall….
- Review the exact plug-ins, managed skills, and matching MCP client entries. Missing items and same-named custom client entries stay visible but cannot be selected.
- Quit only the selected Glyphs versions if prompted.
- Read the disclaimer, select the acknowledgment checkbox, and choose Uninstall.
Client configuration files are backed up before their matching Glyphs MCP entry is removed. Unrelated configuration is preserved.
Terminal
Preview every safely attributable Glyphs 3 and Glyphs 4 artifact without changing files:
python3 install.py --uninstall --glyphs-version both --dry-run
Run the interactive uninstall after reviewing that list:
python3 install.py --uninstall --glyphs-version both
For automation, explicit confirmation is mandatory:
python3 install.py --uninstall --glyphs-version both --non-interactive --confirm-uninstall
The terminal uninstaller continues to default to Glyphs 4. Use --glyphs-version 3 or --glyphs-version both when needed. Repeat --uninstall-component plugin, --uninstall-component skills, or --uninstall-component clients to restrict the plan.
What is preserved
The uninstaller never removes:
- Python packages or any
Scripts/site-packagesfolder - Glyphs preferences or Glyphs MCP settings
- Font annotations or other font data
- Documents, repositories, or shared parent folders
Existing installations do not contain a dependency ownership receipt, and these Python locations may be shared with unrelated Glyphs scripts or Python tools. Removing packages automatically would therefore be unsafe.