macOS字体MCP服务器(v0.2)
用于macOS字体发现、webfont转换和云发布的高性能模型上下文协议(MCP)服务器。内置异步/等待、全面缓存和生产就绪错误处理。
✨ 特性
核心工具
list_families()-使用缓存枚举所有macOS字体系列faces_for_family({ "family": "..." })-获取详细的字体信息font_overview({ "postScriptName": "..." })-Font Book样式元数据概述publish_font({ "postScriptName": "...", "convert": {...}, "publish": {...} })-完整的字体发布流程
性能和可靠性
- ⚡ 异步操作:所有字体处理都用
asyncio.to_thread() - 🚀 智能缓存:字体元数据和系列列表的多级缓存
- 🔍 O(1)查询:用于即时字体分辨率的PostScript名称索引
- 🔄 S3重试逻辑:连接池的指数回退
- 🧹 自动清理:生成的文件和缓存的后台清理
- 📊 结构化日志记录:JSON日志记录,具有全面的错误跟踪功能
生产就绪
- ✅ 输入验证:所有工具输入的Pydantic模型
- 🛡️ 错误处理:优雅的降级,详细的错误报告
- 🧪 综合测试:单元和集成测试覆盖率
- 📈 资源管理:具有清理功能的内存高效字体处理
🚀 快速开始
# Setup environment
python3 -m venv .venv
source .venv/bin/activate
# Upgrade pip and install build tools
pip install --upgrade pip setuptools wheel
# Install with development tools
pip install -e .[dev]
# Run all checks
make check
# Start the server
make run替代安装方法
紫外线(如有):
uv venv
source .venv/bin/activate
uv sync --all-extras # installs all dependencies including dev extras使用需求文件:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt仅生产:
pip install -e .
# or
pip install -r requirements.txt🛠️ 发展
# Setup development environment
make setup-dev
# Run tests with coverage
make test-coverage
# Format and lint code
make format
make lint
# Type checking
make type-check
# Clean up generated files
make clean📊 发布工作流
这 publish_font 该工具提供了一个完整的管道:
- 字体分辨率 -通过索引缓存快速查找PostScript名称
- 可选处理 -子集、可变字体实例化、提示下拉
- WOFF2转换 -行业标准web字体生成
- S3上传 -具有重试逻辑的可靠云存储
- CSS生成 -生产就绪@font-face规则
- 示例HTML -即时预览生成
🏗️ 建筑
- 异步优先设计:所有操作的非阻塞I/O
- 分层缓存:内存缓存+PostScript索引+S3重复数据删除
- 资源清理:自动清理临时文件和内存
- 错误恢复:具有回退策略的全面错误处理
- 生产测井:用于监控和调试的结构化JSON日志
🔧 故障排除
安装问题
“pip install-e.\[dev\]”不起作用:
# Try upgrading pip first
pip install --upgrade pip setuptools wheel
pip install -e .[dev]
# Or use requirements files
pip install -r requirements-dev.txt
# Or install dependencies separately
pip install -e .
pip install pytest pytest-asyncio pytest-mock pytest-cov rich loguru mypy black isort flake8非macOS系统上缺少PyObjC: 服务器需要macOS和PyObjC框架。对于其他系统的开发:
# Install without macOS-specific dependencies
pip install mcp fonttools boto3 pydantic pytest虚拟环境问题:
# On Ubuntu/Debian, install venv support
sudo apt install python3-venv python3-pip
# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate运行时问题
CoreText导入错误: 这在非macOS系统上是预期的。该服务器仅设计为在macOS上运行。
S3上传失败: 确保配置了AWS凭据:
aws configure
# or set environment variables
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret