Skip to main content
Glama

English | 繁體中文

Glyphs info MCP

⚠️ Maintenance Mode — New Users Please Use the Plugin

This MCP server is in maintenance mode as of 2026-05. The same Glyphs documentation and API queries are available as a faster, lighter Claude Code plugin: glyphs-reference.

Why migrate? The plugin uses Claude's Skills system with progressive disclosure — token usage drops by ~98%, and queries feel instant compared to the MCP's eager-loaded approach. See Why Skills over MCP?

Existing users: This MCP will keep working. Bug fixes only, no new features. PyPI live for at least 12 months from this notice.

Migration steps →

A unified MCP server integrating Glyphs handbook queries and API reference lookups for Glyphs font design software.

Related MCP server: mintlify-mcp

🚀 Quick Start

Requirements

  • Python 3.10+

  • uv package manager - MCP officially recommended

  • Claude Desktop - For running the MCP server

  • macOS

Installation

Step 1: Install uv

curl -LsSf https://astral.sh/uv/install.sh | sh

Step 2: Configure Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "glyphs-info": {
      "command": "uvx",
      "args": ["glyphs-info-mcp"]
    }
  }
}

Restart Claude Desktop and you're ready to go!


Method 2: Install from Source (Developers)

Prerequisites: uv installed (see Method 1 Step 1)

# Clone with submodules
git clone --recursive https://github.com/yintzuyuan/glyphs-info-mcp.git
cd glyphs-info-mcp

# Install dependencies
uv sync

Configure Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "glyphs-info-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/username/glyphs-info-mcp",
        "run",
        "glyphs-info-mcp"
      ]
    }
  }
}
IMPORTANT

Replace/Users/username/glyphs-info-mcp with your actual absolute path.


Verify Installation

uv run glyphs-info-mcp

You should see:

✅ Glyphs info MCP Server initialized with 8 unified tools

✨ Features

  • 🔍 Unified Search - Smart query routing with automatic content type detection

  • 🌏 Multilingual UI Terms - Support for Glyphs UI terminology in 14 languages

  • 📚 Complete Handbook - All Glyphs official handbook content

  • 🔌 Full API Reference - Python and Objective-C API documentation

  • 🧠 Smart Cross-referencing - Automatic linking of related content

  • 🛠️ MCP Protocol Compatible - Standardized tool interface

  • 📦 Plugin Templates as Resources - Python and Xcode templates for plugin development

🎁 MCP Resources

MCP resources provide direct access to plugin development templates through Claude Desktop.

Python Plugin Templates (Issue #33)

8 Python templates for converting scripts to plugins:

  • glyphs://plugin-template/filter_without_dialog - Filter without UI

  • glyphs://plugin-template/filter_dialog_with_vanilla - Filter with Vanilla UI

  • glyphs://plugin-template/filter_dialog_with_xib - Filter with XIB UI

  • glyphs://plugin-template/reporter_without_dialog - Reporter plugin

  • glyphs://plugin-template/palette_with_vanilla - Palette with Vanilla

  • glyphs://plugin-template/general_without_dialog - General plugin

  • glyphs://plugin-template/fileformat - File format plugin

  • glyphs://plugin-template/selecttool - SelectTool plugin

Xcode Plugin Templates (Issue #34)

7 Xcode templates for native Objective-C plugin development:

  • glyphs://xcode-template/reporter - Reporter plugins (.glyphsReporter)

  • glyphs://xcode-template/filter - Filter plugins (.glyphsFilter)

  • glyphs://xcode-template/palette - Palette plugins (.glyphsPalette)

  • glyphs://xcode-template/tool - Tool plugins (.glyphsTool)

  • glyphs://xcode-template/file_format - File format plugins

  • glyphs://xcode-template/plugin - General plugins

  • glyphs://xcode-template/plugin_base - Base template

Access Methods:

  • Via Claude Desktop: Resources automatically appear in the MCP resources list

  • Via Tools:

    • Python: sdk(action='list_python_templates') and sdk(action='get_python_template', template_id='...')

    • Xcode: sdk(action='list_xcode_templates') and sdk(action='get_xcode_template', template_id='...')

Placeholder Formats:

  • Python: ____PluginClassName____, ____PluginName____, ____PluginMenuName____

  • Xcode: ___PACKAGENAMEASIDENTIFIER___, ___FILENAME___, ___PACKAGENAME___, ___FULLUSERNAME___

Python Plugin Samples (Issue #37)

6 complete Python plugin examples with source code:

  • glyphs://python-sample/callback_for_context_menu - Context menu callback example

  • glyphs://python-sample/document_exported - Document export hook

  • glyphs://python-sample/multipletools - Multiple tools in one plugin

  • glyphs://python-sample/plugin_preferences - Plugin preferences handling

  • glyphs://python-sample/plugin_with_window - Plugin with custom window

  • glyphs://python-sample/smiley_panel_plugin - Panel plugin example

Xcode Plugin Samples (Issue #37)

4 complete Xcode/Objective-C plugin examples:

  • glyphs://xcode-sample/custom_parameter_ui - Custom parameter UI

  • glyphs://xcode-sample/inspector_demo - Inspector panel demo

  • glyphs://xcode-sample/photo_font - PhotoFont plugin

  • glyphs://xcode-sample/plugin_with_window - Plugin with window

Access Methods for Samples:

  • Via Claude Desktop: Resources automatically appear in the MCP resources list

  • Via Tools:

    • Python: sdk(action='list_python_samples') and sdk(action='get_python_sample', sample_name='...')

    • Xcode: sdk(action='list_samples') and sdk(action='get_sample', sample_name='...')

📋 Feature Overview

Operating Requirements

Module

Out-of-box

Network

Glyphs Required

Handbook

First cache build

-

API (Python)

-

-

API (Obj-C Headers)

-

-

SDK Documentation

-

-

mekkablue Scripts

-

-

Light Table API

-

-

Vocabulary

-

-

Plugins (Local)

-

-

Plugins (Official)

-

-

News/Tutorials

-

-

TIP

Out-of-box: Uses bundled GlyphsSDK submodule data, no extra setup needed. Network: Handbook only needs network for initial cache, then works offline. Glyphs Required: Reads from local Glyphs app (Headers from GlyphsCore.framework).

MCP Tools (8 Unified Entry Points)

The server provides 8 unified tools with action-based routing, reducing context token cost by ~85%:

  • handbook - Glyphs Handbook operations

  • vocabulary - UI terminology translation (14 languages)

  • api - Python and Objective-C API reference

  • plugins - Local and official plugin management

  • scripts - mekkablue script collection (358+)

  • sdk - SDK documentation and Xcode templates

  • news - Forum, tutorials, and news search

  • lighttable - Light Table version control API

handbook

Action

Description

search

Search handbook content

get

Get chapter content by filename

toc

Get table of contents

children

Get chapter children

parameter

Get custom parameter details

list_parameters

List all custom parameters

cache

Cache management (info/update)

vocabulary

Action

Description

translate

Translate UI term

search

Search UI terms

mapping

Get multi-locale translations

categories

List vocabulary categories

api

Action

Description

search_python

Search Python API

get_class

Get Python class info

get_member

Get class member info

search_objc

Search Obj-C headers

get_header

Get Obj-C header content

list_protocols

List plugin protocols

get_protocol

Get protocol methods

convert_objc

Convert Obj-C to Python name

convert_python

Convert Python to Obj-C name

identify_method

Identify method type

get_template

Get method implementation template

search_vanilla

Search Vanilla UI components

get_vanilla

Get Vanilla UI component

list_vanilla

List all Vanilla UI components

hierarchy

Get class hierarchy

relationships

Get class relationships

navigate

Navigate class structure

plugins

Action

Description

search_local

Search local plugins

search_official

Search official registry

get_info

Get plugin details

scan

Scan repositories directory

categories

List plugin categories

scripts

Action

Description

search

Search scripts

get

Get script details

categories

List script categories

list

List scripts in category

sdk

Action

Description

search

Search SDK content

get

Get SDK file content

list_xcode_templates

List Xcode templates

get_xcode_template

Get Xcode template

list_python_templates

List Python templates

get_python_template

Get Python template

list_samples

List Xcode samples

get_sample

Get Xcode sample

list_python_samples

List Python samples

get_python_sample

Get Python sample

news

Action

Description

search_forum

Search forum discussions

search_tutorials

Search tutorials

fetch_tutorial

Fetch tutorial content

fetch_forum

Fetch forum post

search_posts

Search news posts

fetch_content

Fetch news content

lighttable

Action

Description

search

Search Light Table API

get_enum

Get enum details

list_enums

List all enums

list_all

List all API items

📖 Usage Guide

Usage Examples

# Handbook queries
handbook(action="search", query="kerning")
handbook(action="get", filename="anchors.md")

# API queries
api(action="search_python", query="GSFont")
api(action="get_class", class_name="GSGlyph")

# UI terminology
vocabulary(action="translate", term="Cancel", target="zh-Hant")

Search Best Practices

  • Use core English terminology words

  • Prefer single concept keywords

  • Utilize automatic query type detection

  • Refer to the terminology reference for translations

🛠️ Development

Setup

# Install development dependencies
uv sync --extra dev

# Install test dependencies
uv sync --extra test

Code Quality

uv run black src/ tests/      # Formatting
uv run ruff check src/ --fix  # Linting
uv run mypy src/              # Type checking

Testing

uv run pytest                              # All tests
uv run pytest tests/test_specific.py       # Specific tests
uv run pytest --cov=src/glyphs_info_mcp    # Coverage

📚 Background

Development Approach

This project was largely built using Vibe Coding iterative development, focusing on rapid feature implementation and practicality.

Data Sources

After testing, this project works best with Claude models. We recommend using it in the Claude Desktop environment for the best experience.

❓ FAQ

Restart your terminal, or run source ~/.zshrc

  1. Ensure the path is an absolute path (not relative or using ~)

  2. Check for JSON syntax errors

  3. Restart Claude Desktop

uv sync --reinstall
python --version  # Requires 3.10+

⚙️ Configuration

Environment Variables

All paths are auto-detected. Only set these if using non-standard locations:

# export GLYPHS_APP_PATH=/Applications/Glyphs 3.app
# export GLYPHS_APP_HEADERS_PATH=/Applications/Glyphs\ 3.app/Contents/Frameworks/GlyphsCore.framework/Versions/A/Headers
# export GLYPHS_REPOSITORIES_PATH=~/Library/Application\ Support/Glyphs\ 3/Repositories

Or use the env field in Claude Desktop configuration:

{
  "mcpServers": {
    "glyphs-info": {
      "command": "uvx",
      "args": ["glyphs-info-mcp"],
      "env": {
        "GLYPHS_APP_PATH": "/Applications/Glyphs 3.app"
      }
    }
  }
}

Module Enable/Disable

By default, all modules are enabled. To control specific modules, use environment variables:

Available modules: vocabulary, handbook, api, glyphs_plugins, glyphs_news, glyphs_sdk, light_table_api, mekkablue_scripts

Whitelist mode (enable only specified modules):

{
  "mcpServers": {
    "glyphs-info": {
      "command": "uvx",
      "args": ["glyphs-info-mcp"],
      "env": {
        "GLYPHS_ENABLED_MODULES": "handbook,api"
      }
    }
  }
}

Blacklist mode (disable specified modules):

{
  "mcpServers": {
    "glyphs-info": {
      "command": "uvx",
      "args": ["glyphs-info-mcp"],
      "env": {
        "GLYPHS_DISABLED_MODULES": "glyphs_news,glyphs_plugins"
      }
    }
  }
}

If both whitelist and blacklist are set, whitelist takes precedence.

🔗 Resources

📄 License

MIT License - see LICENSE file.


Glyphs info MCP - Making Glyphs knowledge queries simple and powerful

Last updated: 2026-01-05

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
1dRelease cycle
9Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yintzuyuan/glyphs-info-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server