Skip to main content

Connect a client

All supported clients connect to the same local endpoint:

http://127.0.0.1:9680/mcp/

The Installer app can link Glyphs MCP into:

  • Codex App
  • Codex CLI (terminal tools or in VS Code)
  • Claude App
  • Claude CLI (terminal tools or in VS Code)

Any MCP-compatible client can use this server. For now, the automatic installer covers only the apps above. Because this is a localhost MCP server, manual setup in other clients is usually just the endpoint URL.

Local setup flow

  1. Install the plug-in and dependencies with python3 install.py
  2. Link your client
  3. Start the server in Glyphs with Edit → Start Glyphs MCP Server
  4. Verify with list_open_fonts
Startup order

If your client cannot connect, quit it, start Glyphs fresh, run Edit → Start Glyphs MCP Server, then relaunch or reload the client.

Codex App

The simplest path is the Installer app. Manual setup uses the same Codex configuration as Codex CLI:

codex mcp add glyphs-mcp-server --url http://127.0.0.1:9680/mcp/
codex mcp list

If Codex App is already open, reload it after adding the server.

Codex CLI (terminal tools or in VS Code)

Use the same Codex command:

codex mcp add glyphs-mcp-server --url http://127.0.0.1:9680/mcp/
codex mcp list

Codex can also read the server directly from ~/.codex/config.toml:

[mcp_servers.glyphs-mcp-server]
url = "http://127.0.0.1:9680/mcp/"
enabled = true
startup_timeout_sec = 30
tool_timeout_sec = 120

Verify with a read-only prompt:

Call list_open_fonts and tell me how many fonts are open.
If you see an error, quote it verbatim.

Claude App

The simplest path is the Installer app. Manual setup is a config file edit in ~/Library/Application Support/Claude/claude_desktop_config.json.

Claude App does not connect directly to a localhost HTTP MCP endpoint in this config format, so it needs a local bridge command. npx mcp-remote is one option.

open ~/Library/Application\ Support/Claude

Default bridge with Node.js:

{
"mcpServers": {
"glyphs-mcp-server": {
"command": "npx",
"args": [
"mcp-remote",
"http://127.0.0.1:9680/mcp/"
]
}
}
}

If you edit it manually, preserve any unrelated top-level settings and other MCP servers that are already present.

Python alternative:

Some third-party Python bridges also exist. One option is mcp-proxy from PyPI:

pip install mcp-proxy
{
"mcpServers": {
"glyphs-mcp-server": {
"command": "mcp-proxy",
"args": [
"http://127.0.0.1:9680/mcp/",
"--transport=streamablehttp"
],
"env": {
"PATH": "/Users/thierryc/.local/bin:/Users/thierryc/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
}
}
}
}

The Python option is not the official Anthropic path. It is a third-party bridge that may be useful if you do not want to depend on npx.

Why add env.PATH:

  • Claude App may not inherit the same shell PATH as your Terminal.
  • If mcp-proxy is installed in ~/.local/bin, Claude App may not find it unless you set PATH explicitly.
  • The same applies to tools installed through Homebrew in /opt/homebrew/bin.

Use a PATH that includes the directories where your command lives:

  • ~/.local/bin for pip install --user
  • ~/bin for custom local scripts
  • /opt/homebrew/bin for Apple Silicon Homebrew
  • /usr/local/bin for Intel Homebrew or other local installs

You can verify where the command is installed with:

which mcp-proxy
python3 -m site --user-base

Then restart Claude App and verify with a read-only prompt:

Call list_open_fonts and tell me how many fonts are open.
If you see an error, quote it verbatim.

Claude CLI (terminal tools or in VS Code)

Use the Claude CLI:

claude mcp add --scope user --transport http glyphs-mcp http://127.0.0.1:9680/mcp/
claude mcp list

Then reload Claude CLI and verify:

Run /mcp and confirm glyphs-mcp is listed.
Then call list_open_fonts and summarize the result.
If you see an error, quote it verbatim.

If it still fails

  • Confirm the local endpoint is running: http://127.0.0.1:9680/mcp/
  • In Glyphs, open Edit → Glyphs MCP Server Status…
  • Re-run the client command above
  • See Troubleshooting