项目简介
Glyphs MCP 服务器是一个基于 Model Context Protocol (MCP) 实现的后端应用,专为 Glyphs 字体设计软件打造。它将 Glyphs 应用程序内的字体操作、数据管理和设计上下文以标准化的方式暴露给大型语言模型 (LLM) 客户端。通过注册丰富的工具、管理文档资源和定义 Prompt 模板,它允许 AI 代理直接与 Glyphs 交互,执行字体相关的任务,从而自动化字体设计工作流。
主要功能点
- 字体数据访问与管理: 提供工具来列出打开的字体、获取字体中的字形、大师、实例信息,以及详细的字形数据(包括路径、组件、锚点、字距调整等)。
- 字形操作与编辑: 支持创建、删除、复制字形,更新字形属性(如 Unicode、类别、导出标志)、调整字形度量(宽度、左右边距)、添加组件和锚点,以及直接设置或替换字形的路径数据。
- 字距调整: 能够获取和设置特定字体的字距调整对。
- 实时上下文获取: 提供获取当前 Glyphs UI 中选定字形、当前字体与大师,以及选定节点详细信息的功能,方便 LLM 获取实时设计上下文。
- 代码执行能力: 允许 LLM 在 Glyphs 环境中执行任意 Python 代码,实现高度自定义的自动化任务。
- 文档资源暴露: 将 Glyphs SDK 的文档作为 MCP 资源暴露,LLM 可以通过 MCP 协议查阅相关文档。
- Prompt 模板支持: 包含多种预设的 Prompt 模板,指导 LLM 如何使用服务器提供的工具和功能。
安装步骤
- 下载仓库: 从 GitHub 克隆或下载 Glyphs-mcp 仓库。
- 运行安装器: 打开终端,导航到仓库根目录,执行 'python3 install.py'。 安装器将引导您选择 Python 环境(Glyphs 内置 Python 或自定义 Python),安装必要的依赖,并将 MCP 插件复制或链接到 Glyphs 的插件目录。
- 重启 Glyphs: 安装完成后,请重启 Glyphs 应用程序。
- 启动 MCP 服务器: 在 Glyphs 应用程序中,选择 Edit (编辑) → Start MCP Server (启动 MCP 服务器) 菜单项。服务器将默认在 'http://127.0.0.1:9680/' 启动。
服务器配置(MCP客户端使用)
MCP 客户端需要配置 MCP 服务器的连接信息。以下是一些常见的 MCP 客户端配置示例:
-
通用 Streamable HTTP 传输配置: 如果您的 MCP 客户端支持直接配置 Streamable HTTP 传输,通常只需要提供服务器的 URL: 'http://127.0.0.1:9680/mcp/'
-
通过 Node.js Bridge 连接(例如用于 Claude Desktop 或 Cursor IDE): 对于某些客户端,您可能需要通过随仓库提供的 Node.js Bridge ('src/glyphs-mcp/bridge.js') 来连接。Bridge 会将 Streamable HTTP 转换为 Stdio 传输。 这是一个典型的客户端配置示例 (例如用于 Claude Desktop 的 'claude_desktop_config.json' 文件):
{ "mcpServers": { "glyphs-mcp-server": { "command": "npx", "args": ["mcp-remote", "http://127.0.0.1:9680/mcp/", "--header"], "env": {"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"} } } }配置参数注释:
- 'glyphs-mcp-server': 您为 Glyphs MCP 服务器定义的名称,可根据需要修改。
- 'command': 用于启动 Node.js Bridge 的命令行工具。'npx' 是 Node.js 包管理器自带的命令,用于执行 Node.js 包。
- 'args': 传递给 Bridge 的参数。'mcp-remote' 是 MCP SDK 提供的一个工具,用于连接远程 MCP 服务器;'http://127.0.0.1:9680/mcp/' 是 Glyphs MCP 服务器的 Streamable HTTP URL;'--header' 是一个可选参数。
- 'env': 环境变量,这里设置 'PATH' 以确保 'npx' 和其他工具能被找到。请根据您的系统环境(例如 Node.js 或 Homebrew 的安装路径)调整 'PATH'。
-
通过 Python Proxy 连接(例如用于 Claude Desktop): 如果您更倾向于使用 Python 代理,可以配置如下 (例如用于 Claude Desktop 的 'claude_desktop_config.json' 文件):
{ "mcpServers": { "glyphs-mcp-server": { "command": "/Library/Frameworks/Python.framework/Versions/3.12/bin/mcp-proxy", "args": ["--transport", "streamablehttp", "http://127.0.0.1:9680/mcp/"], "env": {"PATH": "/Library/Frameworks/Python.framework/Versions/3.12/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"} } } }配置参数注释:
- 'command': Python 代理的完整路径。请替换为您的 Python 3.12+ 安装路径下的 'mcp-proxy' 命令。
- 'args': 传递给代理的参数。'--transport streamablehttp' 指定传输协议为 Streamable HTTP;'http://127.0.0.1:9680/mcp/' 是 Glyphs MCP 服务器的 URL。
- 'env': 环境变量,请根据您的 Python 安装路径调整 'PATH'。
-
用于 Continue (VS Code / JetBrains): 将以下配置添加到 '~/.continue/config.yaml' 或工作区 '.continue/config.yaml' 文件中:
mcpServers: - name: Glyphs MCP type: streamable-http url: http://127.0.0.1:9680/mcp/
基本使用方法
启动 MCP 服务器并配置好您的 LLM 客户端后,您的客户端将能够发现并连接到 Glyphs MCP 服务器。
- 列出可用工具: 您可以在 LLM 客户端的聊天界面中尝试询问“有哪些与字体相关的工具?”或“我可以使用哪些功能来操作 Glyphs?”。LLM 将能够请求 'tools/list' 来发现所有 Glyphs 相关的自动化功能。
- 调用工具: 通过向 LLM 提出具体任务,例如“列出所有打开的字体”,LLM 将通过 'tools/call' 请求调用 'glyphs-app-mcp__list_open_fonts' 工具,并返回结果。您也可以请求“创建一个名为 'Beta' 的新字形”,LLM 会调用 'glyphs-app-mcp__create_glyph' 来完成操作。
- 读取资源: 如果您需要 Glyphs SDK 的文档,可以询问 LLM“提供关于 GlyphsApp 对象的文档”。LLM 将能够通过 'resources/read' 请求获取文档内容。
- 使用 Prompt 模板: LLM 也可以根据预定义的 Prompt 模板来指导其与 Glyphs 的交互,例如当您需要进行字距调整时,LLM 可能会建议使用 'glyphs-app-mcp__report_tightest_kerning_pairs' 模板。
通过这些交互,LLM 客户端将能够利用 Glyphs MCP 服务器实现字体设计任务的自动化和智能辅助。
信息
分类
AI与计算