Get the FREE Ultimate OpenClaw Setup Guide →

fontlab

MCP server for FontLab's PythonQt API - enables programmatic font editing through Claude and other AI assistants

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio dithilli-fontlab-mcp-server python -m src.server

How to use

The FontLab MCP Server exposes FontLab's PythonQt API through the MCP interface, letting Claude and other AI assistants inspect and modify fonts programmatically. You can query font metadata and glyph information, create and adjust glyphs, apply geometric transforms, and export fonts to common formats. Typical workflows include reading the current font, listing glyphs, performing edits like resizing or scaling a glyph, and then exporting the updated font to formats such as OTF, TTF, WOFF, WOFF2, or UFO. The server communicates with FontLab via a bridge that executes Python scripts inside FontLab's environment and exchanges data as JSON through temporary files, enabling robust automation while keeping FontLab as the authoritative renderer.

To use the MCP server, configure Claude or your MCP client to connect to the fontlab server via the stdio transport. Once connected, you can invoke resources to fetch information (e.g., the current font or glyph details) and tools to perform actions (e.g., create_glyph, transform_glyph, export_font). The API is designed around concise JSON payloads for each tool, with optional fields to tailor the operation (such as unicode, width, or transformation parameters) and a final export path if you need to save an output font to disk.

How to install

Prerequisites:

  • Python 3.10 or higher
  • FontLab 7 or 8 installed
  • pip package manager

Setup steps:

  1. Clone the repository and navigate into the project: git clone https://github.com/dithilli/fontlab-mcp-server.git cd fontlab-mcp-server

  2. Create a virtual environment (recommended): python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate

  3. Install Python dependencies: pip install -r requirements.txt

  4. Install the package in editable mode: pip install -e .

Running the server:

  • Start the server using stdio transport: python -m src.server

  • Or use the installed command (if installed as a console script): fontlab-mcp-server

Configuration (example in Claude or client):

  • The server is accessed via the Python module entry point as shown above. Ensure FontLab is installed and accessible via your environment. The server will automatically detect FontLab installations in standard locations (e.g., macOS: /Applications/FontLab 8.app or /Applications/FontLab 7.app) and will accept custom paths via the bridge configuration.

Additional notes

Tips and notes:

  • FontLab must be running for the MCP server to function.
  • Script execution is done through a bridge using subprocess calls, which may introduce latency for large operations.
  • Some FontLab features may require specific FontLab versions (7 or 8).
  • The bridge assumes a compatible CLI for FontLab; if FontLab changes its CLI, you may need to adjust the bridge scripts.
  • You may run the server in a virtual environment to isolate dependencies from your system Python.
  • Keep your JSON payloads focused and include only necessary fields to reduce error surface and latency.

Related MCP Servers

Sponsor this space

Reach thousands of developers