MCP server wrapping cn-font-split for agent-callable font subsetting (AI-generated)
mcp-font-split
AI-Generated Code Disclaimer / AI 生成代码声明
This project was entirely generated by AI (Claude, Anthropic). The author makes no warranties of any kind regarding this code and assumes no responsibility for its use. It is provided "AS IS" without warranty of any kind.
本项目完全由 AI (Claude, Anthropic) 生成。作者不对代码做任何保证,也不承担任何使用责任。代码按"原样"提供,不附带任何形式的担保。
An MCP (Model Context Protocol) server that wraps cn-font-split as agent-callable tools for font subsetting and web-font generation.
Features
- Split TTF/OTF/TTC/WOFF/WOFF2 fonts into optimized web-font subsets (woff2 chunks + CSS)
- Auto-detect font family name from the binary and group output by family
- Batch processing of font directories
- Inspect and summarize generated output
- Cross-platform via WASM backend (no native compilation needed)
Tools
| Tool | Description |
|------|-------------|
| split_font | Split one font file into web-font chunks |
| split_font_batch | Batch split fonts under a directory |
| inspect_split_output | Summarize generated output files |
Output Layout
split-output/
<FontFamily>/
<FontFile>.ttf # original font preserved
<FontFile>/ # split output subfolder
*.woff2
result.css
index.html
reporter.bin
Fonts in the same family are grouped under one directory.
Installation
git clone https://github.com/WenZhimo/mcp-font-split.git
cd mcp-font-split
npm install --ignore-scripts
# Download the WASM backend:
gh release download 7.6.8 --repo KonghaYao/cn-font-split \
--pattern 'libffi-wasm32-wasip1.wasm' \
--dir './node_modules/cn-font-split/dist' --clobber
Usage
As MCP Server (Claude Code)
claude mcp add font-split -- node "/path/to/mcp-font-split/src/server.js"
Standalone
npm start
Environment Variables
| Variable | Description |
|----------|-------------|
| FONT_SPLIT_ROOT | Override the default font workspace root directory |
Credits & Acknowledgments
This project is a thin MCP wrapper around the following open-source projects:
- cn-font-split by KonghaYao — the core font subsetting engine. Licensed under Apache License 2.0.
- @modelcontextprotocol/sdk by Anthropic — the MCP server SDK. Licensed under MIT License.
The WASM binary (libffi-wasm32-wasip1.wasm) used at runtime is built and distributed by the cn-font-split project under Apache-2.0.
License
This project is licensed under the Apache License 2.0.
Copyright 2025 WenZhimo
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.