Unified MCP server for Glyphs handbook and API queries
Project description
English | 繁體中文
Glyphs info MCP
A unified MCP server integrating Glyphs handbook queries and API reference lookups for Glyphs font design software.
🚀 Quick Start
Requirements
- Python 3.10+
- uv package manager - MCP officially recommended
- Claude Desktop - For running the MCP server
- macOS
Installation
Method 1: Using uvx (Recommended)
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-mcpwith your actual absolute path.
Verify Installation
uv run glyphs-info-mcp
You should see:
✅ Glyphs info MCP Server initialized with 8 modules and 53 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
📋 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 (53 total)
The server provides 8 modules:
- Handbook - Search and query handbook content
- Vocabulary - UI terminology translation in 14 languages
- API (Python) - Python API classes and methods
- API (Obj-C) - Objective-C headers and protocols
- SDK - SDK documentation and Xcode templates
- Plugins - Local and official plugin search
- Scripts - mekkablue script collection (358+)
- News - Forum and tutorial search
Expand full tool list
Handbook Module
| Tool | Description |
|---|---|
handbook_search_content |
Search handbook content |
handbook_get_content |
Get specific chapter content |
handbook_get_custom_parameter |
Get Custom Parameter details |
handbook_list_parameters |
List all parameters |
Vocabulary Module
| Tool | Description |
|---|---|
vocab_search_ui_term |
Search UI terms |
vocab_get_translation |
Get term translation |
vocab_translate_term |
Translate UI term |
vocab_list_ui_categories |
List UI term categories |
API Module - Python
| Tool | Description |
|---|---|
api_search_python |
Search Python API |
api_get_python_class |
Get Python class info |
api_get_python_member |
Get Python member info |
API Module - Objective-C
| Tool | Description |
|---|---|
api_search_objc_headers |
Search Obj-C headers |
api_get_objc_header |
Get Obj-C header content |
api_list_plugin_protocols |
List plugin protocols |
api_get_protocol_methods |
Get protocol methods |
SDK Module
| Tool | Description |
|---|---|
sdk_search_content |
Search SDK content |
sdk_get_content |
Get SDK content |
sdk_list_xcode_templates |
List Xcode templates |
sdk_get_xcode_template |
Get Xcode template |
Plugins Module
| Tool | Description |
|---|---|
plugins_search_local |
Search local plugins |
plugins_search_official |
Search official plugins |
plugins_get_info |
Get plugin info |
Scripts Module (mekkablue)
| Tool | Description |
|---|---|
scripts_search |
Search scripts |
scripts_get |
Get script content |
scripts_list_categories |
List script categories |
News Module
| Tool | Description |
|---|---|
news_search_forum |
Search forum |
news_search_tutorials |
Search tutorials |
news_fetch_tutorial |
Fetch tutorial content |
📖 Usage Guide
Usage Examples
# Handbook queries
handbook_search_content("kerning")
handbook_get_content("anchors")
# API queries
api_search_python("GSFont")
api_get_python_class("GSGlyph")
# UI terminology
vocab_translate_term("Cancel", "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
- API Reference: Converted from Glyphs official GitHub SDK code
- Handbook Content: Scraped from Glyphs official handbook using an internal parser
- Terminology Translation: Extracted from Glyphs app localization string files (.strings)
Recommended Model
After testing, this project works best with Claude models. We recommend using it in the Claude Desktop environment for the best experience.
❓ FAQ
Cannot find uv command
Restart your terminal, or run source ~/.zshrc
Claude Desktop cannot load the MCP server
- Ensure the path is an absolute path (not relative or using
~) - Check for JSON syntax errors
- Restart Claude Desktop
Server fails to start
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
🔗 Resources
📄 License
MIT License - see LICENSE file.
Glyphs info MCP - Making Glyphs knowledge queries simple and powerful
Last updated: 2025-12-29
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file glyphs_info_mcp-1.1.0.tar.gz.
File metadata
- Download URL: glyphs_info_mcp-1.1.0.tar.gz
- Upload date:
- Size: 7.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0fab7cac7941fd39f6d64847d804acbec2a8320457f598b8ce9d9f27ddca51d
|
|
| MD5 |
4555923045d671ec11dbee1d8ba8e1c3
|
|
| BLAKE2b-256 |
4e8ef24df79f969e378e6119ca4a6d44da7b76992ec78c58f9d4c784a97c9a00
|
Provenance
The following attestation bundles were made for glyphs_info_mcp-1.1.0.tar.gz:
Publisher:
publish.yml on yintzuyuan/glyphs-info-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
glyphs_info_mcp-1.1.0.tar.gz -
Subject digest:
d0fab7cac7941fd39f6d64847d804acbec2a8320457f598b8ce9d9f27ddca51d - Sigstore transparency entry: 781259253
- Sigstore integration time:
-
Permalink:
yintzuyuan/glyphs-info-mcp@c1f409785b340c496fdabd1b97510227546b9751 -
Branch / Tag:
refs/tags/v1.1.0 - Owner: https://github.com/yintzuyuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c1f409785b340c496fdabd1b97510227546b9751 -
Trigger Event:
push
-
Statement type:
File details
Details for the file glyphs_info_mcp-1.1.0-py3-none-any.whl.
File metadata
- Download URL: glyphs_info_mcp-1.1.0-py3-none-any.whl
- Upload date:
- Size: 7.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba74bacafcd754c7821bf8dd6a34ef848edfe9de84dbdbad015bec52b30995fa
|
|
| MD5 |
734ad7202f092ff510dc3147dc749c7c
|
|
| BLAKE2b-256 |
71b27946c35d783174c924e2cec72c374667e8e151e8dd11f6727c4cbc400b78
|
Provenance
The following attestation bundles were made for glyphs_info_mcp-1.1.0-py3-none-any.whl:
Publisher:
publish.yml on yintzuyuan/glyphs-info-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
glyphs_info_mcp-1.1.0-py3-none-any.whl -
Subject digest:
ba74bacafcd754c7821bf8dd6a34ef848edfe9de84dbdbad015bec52b30995fa - Sigstore transparency entry: 781259255
- Sigstore integration time:
-
Permalink:
yintzuyuan/glyphs-info-mcp@c1f409785b340c496fdabd1b97510227546b9751 -
Branch / Tag:
refs/tags/v1.1.0 - Owner: https://github.com/yintzuyuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c1f409785b340c496fdabd1b97510227546b9751 -
Trigger Event:
push
-
Statement type: