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.
📋 Project Overview
Glyphs info MCP is a unified MCP (Model Context Protocol) server specifically designed for Glyphs font design software, providing developers and designers with an integrated knowledge query platform.
⚠️ Important Notes
Please note the following important points before using this project:
🏗️ Development Approach
- This project was largely built using Vibe Coding iterative development, focusing on rapid feature implementation and practicality
🌐 Network Requirements
- Forum search tools, tutorial search tools, and official news search tools only work when connected to the internet
- Local cache tools can be used as a fallback option when offline
🤖 Recommended Model
- After testing, this project works best with Claude models
- We recommend using it in the Claude Desktop environment for the best experience
📊 Data Sources
- API Reference: Converted from Glyphs official GitHub SDK code
- Handbook Content: Scraped and organized from Glyphs official website using an internal parser
- Terminology Translation: Extracted from Glyphs application localization string files (.strings), ensuring consistency with the software interface
💡 Usage Tips
- Prioritize using network search tools to get the latest information
- Rely on local cache data when offline usage is needed
- Recommended to use Claude's conversational capabilities for complex queries
✨ Features
- 🔍 Unified Search - Smart query routing with automatic content type detection
- 🌏 Multilingual UI Terms - Support for Glyphs UI terminology in 14 languages
- 📚 Complete Handbook Queries - Covers all Glyphs official handbook content
- 🔌 Comprehensive API Reference - Full documentation for Python and Objective-C APIs
- 🧠 Smart Cross-referencing - Automatic linking of related content and terminology
- 🛠️ MCP Protocol Compatible - Standardized tool interface, easy to integrate
🚀 Quick Start
Requirements
- Python 3.10+ - Must be installed
- uv package manager - MCP officially recommended package management tool
- Claude Desktop - For running the MCP server
- Operating System: macOS
📦 Installation
Method 1: Using uvx (Recommended)
This is the simplest installation method, no manual project download required.
Step 1: Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Step 2: Configure Claude Desktop
Edit the Claude Desktop configuration file (path shown below) and add the following:
{
"mcpServers": {
"glyphs-info": {
"command": "uvx",
"args": ["glyphs-info-mcp"]
}
}
}
Restart Claude Desktop and you're ready to go!
Method 2: Install from Source (Developers)
Suitable for users who need customization or development.
Step 1: Install uv package manager
curl -LsSf https://astral.sh/uv/install.sh | sh
Restart your terminal after installation to ensure the uv command is available.
Step 2: Download the Project
Option 1: Clone with submodules (recommended)
git clone --recursive https://github.com/yintzuyuan/glyphs-info-mcp.git
cd glyphs-info-mcp
Option 2: Clone and then initialize submodules
git clone https://github.com/yintzuyuan/glyphs-info-mcp.git
cd glyphs-info-mcp
git submodule update --init --recursive
📦 Git Submodules Note: This project uses Git Submodules to manage external resources, including:
- GlyphsSDK: Official SDK documentation and examples
- mekkablue-scripts: 358+ production scripts (ready to use)
- vanilla: UI framework documentation (ready to use)
Dynamic path switching feature:
- Prioritizes local installation (
~/Library/Application Support/Glyphs 3/Repositories/)- Automatically uses built-in Submodule when not installed (no additional setup needed)
- Provides out-of-the-box experience while maintaining flexibility
Step 3: Install Dependencies
# Install basic dependencies
uv sync
# (Optional) Install development dependencies
uv sync --extra dev
Step 4: Test the Server
# Test if the server starts correctly
uv run glyphs-info-mcp
If you see the server startup success message, installation is complete!
To use this MCP server in Claude Desktop, you need to edit the configuration file.
Configuration File Location
~/Library/Application Support/Claude/claude_desktop_config.json
Configuration Content
Add the following to claude_desktop_config.json:
{
"mcpServers": {
"glyphs-info-mcp": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/glyphs-info-mcp",
"run",
"glyphs-info-mcp"
]
}
}
}
⚠️ Important Notes:
- Replace
/ABSOLUTE/PATH/TO/glyphs-info-mcpwith your actual project path - You must use an absolute path, relative paths or
~symbol are not supported
Configuration Example
{
"mcpServers": {
"glyphs-info-mcp": {
"command": "uv",
"args": [
"--directory",
"/Users/username/glyphs-info-mcp",
"run",
"glyphs-info-mcp"
]
}
}
}
🔧 Troubleshooting
If you encounter issues with the server not starting, check:
- Path correctness: Ensure the
--directoryparameter uses an absolute path - JSON format: Ensure there are no syntax errors in the configuration file
- Dependencies: Run
uv syncto reinstall dependencies - Restart application: You must restart Claude Desktop after modifying the configuration
Apply Configuration
- Save the
claude_desktop_config.jsonfile - Restart Claude Desktop
- Test if MCP tools are available in the conversation
📋 Usage Examples
After configuration, you can use the following features directly in Claude Desktop:
# Query using MCP tools
search_glyphs("GSFont") # API class query
search_glyphs("4.1") # Handbook chapter query
search_glyphs("edit view") # Feature query
get_class_overview("GSFont") # Detailed class information
get_handbook_toc() # Handbook table of contents
🛠️ Installation Verification
Verify uv installation
uv --version
Should display version number, e.g., uv 0.1.x
Verify project dependencies
cd glyphs-info-mcp
uv run python -c "import mcp; print('MCP package is working')"
Verify MCP server
uv run glyphs-info-mcp
You should see output similar to:
✅ Vocabulary module loaded successfully
✅ Handbook module loaded successfully
✅ API module loaded successfully
✅ Glyphs info MCP Server initialized with 8 modules and 53 tools
❓ FAQ
Q: Cannot find uv command
A: Make sure you've restarted your terminal. If the issue persists, run source ~/.bashrc or source ~/.zshrc
Q: Claude Desktop cannot load the MCP server
A: Check the following:
- Is the configuration file path correct?
- Is there a JSON syntax error?
- Is the project path an absolute path?
- Have you restarted Claude Desktop?
Q: Server fails to start
A: Common solutions:
# Reinstall dependencies
uv sync --reinstall
# Check Python version (requires 3.10+)
python --version
# Check project integrity
uv run python -m pytest tests/ -v
🔧 Main Features
MCP Tools
| Tool | Description | Purpose |
|---|---|---|
search_glyphs |
Unified search entry | Auto-routes queries to appropriate modules |
get_handbook_toc |
Handbook TOC | Browse complete chapter structure |
find_chapter_content |
Chapter query | Get specific chapter content |
search_handbook |
Handbook search | Search keywords in the handbook |
search_api |
API search | Query API classes and methods |
get_class_overview |
Class information | Get detailed class documentation |
get_api_statistics |
API statistics | Display API coverage statistics |
📖 User Guide
Search Best Practices
- Use core words of English terminology
- Prefer single concept keywords
- Utilize automatic query type detection
- Refer to the terminology reference for translations
Common Query Patterns
# API development
search_glyphs("GSFont") # Query font class
get_class_overview("GSGlyph") # Get glyph class details
# Feature learning
search_glyphs("kerning") # Query kerning feature
find_chapter_content("4.1") # View specific chapter
# Combined queries
search_glyphs("export") # Mixed search for export-related content
🏗️ Project Structure
glyphs-info-mcp/
├── src/
│ └── glyphs_info_mcp/ # 📦 Core package
│ ├── __init__.py # Package initialization
│ ├── __main__.py # CLI entry point
│ ├── server.py # MCP server main program
│ ├── config.py # Configuration management
│ ├── modules/ # Feature modules
│ │ ├── glyphs_handbook/ # Handbook query module
│ │ ├── glyphs_api/ # API query module
│ │ ├── glyphs_vocabulary/ # Terminology translation module
│ │ ├── glyphs_plugins/ # Plugin information module
│ │ ├── glyphs_news/ # News and forum module
│ │ ├── glyphs_sdk/ # SDK documentation module
│ │ ├── light_table_api/ # Light Table API module
│ │ └── mekkablue_scripts/ # Mekkablue scripts module
│ └── data/ # Data files
│ ├── handbook/ # Handbook Markdown files
│ ├── api/ # API JSON files
│ ├── vocab/ # Terminology reference files
│ └── plugins/ # Plugin cache data
├── tests/ # 🧪 Test files
│ ├── test_glyphs_handbook/ # Handbook module tests
│ ├── test_glyphs_api/ # API module tests
│ ├── test_glyphs_vocabulary/ # Vocabulary module tests
│ ├── test_glyphs_plugins/ # Plugin module tests
│ └── test_integration/ # Integration tests
├── modules_config.yaml # Module configuration file
├── pyproject.toml # ⚙️ Project configuration
├── README.md # 📝 Project documentation
└── uv.lock # 🔒 Dependency lock
🛠️ Development
Development Environment Setup
# Install development dependencies
uv sync --extra dev
# Install test dependencies
uv sync --extra test
Code Quality
# Code formatting
uv run black src/ tests/
# Linting
uv run ruff check src/ tests/ --fix
# Type checking
uv run mypy src/
Testing
# Run all tests
uv run pytest
# Run specific tests
uv run pytest tests/test_specific.py
# Test coverage
uv run pytest --cov=src/glyphs_info_mcp
🎯 Use Cases
Type Designers
- Quickly query Glyphs features and operation instructions
- Learn advanced features and best practices
- Chinese-English terminology reference and understanding
Plugin Developers
- Query Python/Objective-C API documentation
- Get class method and property details
- Reference plugin development examples and patterns
Automation Script Developers
- Quickly find APIs and usage examples
- Understand object relationships and inheritance structures
- Get complete code references
Educators
- Structured teaching content
- Systematic knowledge organization
- Multilingual learning resources
⚙️ Configuration
Environment Variables
# Data path configuration
export GLYPHS_MCP_DATA_PATH=/custom/path/to/data
# Performance tuning
export GLYPHS_MCP_MAX_SEARCH_RESULTS=100
export GLYPHS_MCP_SEARCH_TIMEOUT=60
export GLYPHS_MCP_ENABLE_CACHE=true
# Logging settings
export GLYPHS_MCP_LOG_LEVEL=INFO
📊 Project Status
- Version: 1.0.0
- Status: Stable Release
- MCP Protocol: Fully Compatible
- License: MIT License
🔗 Related Resources
- Glyphs Official Website
- Glyphs Official Documentation
- Glyphs Learning Center
- MCP Protocol Documentation
- Report Issues
📄 License
This project is licensed under the MIT License. See the LICENSE file for details.
Glyphs info MCP - Making Glyphs knowledge queries simple and powerful 🚀
Last updated: 2025-12-27
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.0.0rc2.tar.gz.
File metadata
- Download URL: glyphs_info_mcp-1.0.0rc2.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 |
d1487631059f9ad75f01140fb1e51008a66e245e64f9f89b9ca97f3094d07a67
|
|
| MD5 |
c0bff9858982795bd136001077bd79db
|
|
| BLAKE2b-256 |
526cdf8dd3325b78e4d1bc3090df4da79ceb07d5160f12664cccaa7e01b210df
|
Provenance
The following attestation bundles were made for glyphs_info_mcp-1.0.0rc2.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.0.0rc2.tar.gz -
Subject digest:
d1487631059f9ad75f01140fb1e51008a66e245e64f9f89b9ca97f3094d07a67 - Sigstore transparency entry: 780770343
- Sigstore integration time:
-
Permalink:
yintzuyuan/glyphs-info-mcp@8db2569589fb191eb56cb5f684e53cac7342d375 -
Branch / Tag:
refs/tags/v1.0.0rc2 - Owner: https://github.com/yintzuyuan
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8db2569589fb191eb56cb5f684e53cac7342d375 -
Trigger Event:
push
-
Statement type:
File details
Details for the file glyphs_info_mcp-1.0.0rc2-py3-none-any.whl.
File metadata
- Download URL: glyphs_info_mcp-1.0.0rc2-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 |
a111b959ab7979c59d6d5ff5053b69691fdbe3a75004e52e1059acecebd4e5c7
|
|
| MD5 |
2643d71aafb797c1a918c0a47512e99e
|
|
| BLAKE2b-256 |
89652f39a6bdf0d1296dd8ad959fd2a368db0835b95d5772c710c280aea7553e
|
Provenance
The following attestation bundles were made for glyphs_info_mcp-1.0.0rc2-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.0.0rc2-py3-none-any.whl -
Subject digest:
a111b959ab7979c59d6d5ff5053b69691fdbe3a75004e52e1059acecebd4e5c7 - Sigstore transparency entry: 780770345
- Sigstore integration time:
-
Permalink:
yintzuyuan/glyphs-info-mcp@8db2569589fb191eb56cb5f684e53cac7342d375 -
Branch / Tag:
refs/tags/v1.0.0rc2 - Owner: https://github.com/yintzuyuan
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8db2569589fb191eb56cb5f684e53cac7342d375 -
Trigger Event:
push
-
Statement type: