项目简介
'mcp-color-convert' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为AI编码代理和助手提供一套完整的颜色处理工具集。它能够实现多种颜色格式之间的转换、颜色的精细调整、深入分析、生成和谐的配色方案,以及进行重要的无障碍合规性检查。通过标准化的 JSON-RPC 协议,'mcp-color-convert' 允许大型语言模型(LLM)客户端无缝集成这些强大的颜色功能,极大地提升了设计系统、网页开发和数据可视化等领域的AI辅助能力。
主要功能点
- 颜色转换: 支持HEX、RGB、RGBA、HSL、HSLA、OkLCH、OkLab和命名颜色等多种主流颜色格式之间的双向转换。它能够准确处理并保留颜色的透明度(Alpha值),在不支持透明度的格式间转换时也会进行智能处理。
- 颜色操作: 提供灵活的颜色调整功能,包括:
- 提亮/变暗: 增加或减少颜色的亮度,用于创建不同状态(如悬停、激活)的颜色变体。
- 饱和/去饱和: 增强或减弱颜色的鲜艳度,用于控制视觉冲击力。
- 反转: 生成颜色的精确互补色。
- 色相旋转: 围绕色轮旋转颜色色相,用于创建和谐配色或系统性颜色变化。
- 颜色分析: 深入分析颜色属性,包括:
- 亮度: 计算WCAG相对亮度(0-1),评估颜色的明暗程度。
- 色度: 获取颜色的强度或纯度(0-1),了解其鲜艳程度。
- 不透明度: 从支持透明度的颜色格式中提取Alpha值。
- 命名: 尝试识别颜色的常见名称,或返回其十六进制代码。
- 颜色生成: 帮助用户创建复杂的颜色方案:
- 调色板: 从一个基色生成6种和谐的颜色,支持默认(彩虹式)和单色(相同色相,不同亮度)类型。
- 配色方案: 生成基于经典色彩理论的配色方案,如互补色、三元色、四元色、类似色和分离互补色。
- 色板: 根据基色生成一个包含11个深浅度(50-950)的设计系统标准色板,适用于创建完整的设计主题。
- 随机颜色: 生成指定格式的随机颜色,用于原型设计或灵感发现。
- 无障碍工具: 确保颜色组合符合WCAG标准,提高可访问性:
- 对比度: 计算两种颜色之间的WCAG对比度(1-21),评估可读性。
- 合规性分析: 提供全面的WCAG可访问性分析,包括AA/AAA级别合规性判断及建议。
- 最佳文本颜色: 根据背景色自动判断并推荐最佳文本颜色(黑色或白色),以实现最大可读性。
- 实用工具:
- 颜色验证: 检查给定的颜色字符串是否为有效且可解析的颜色。
安装步骤
本MCP服务器通常无需手动“安装”,因为它设计为通过您的MCP客户端配置来按需运行。当MCP客户端首次启动或需要该服务时,它会使用 'npx' 命令自动下载并执行最新版本的 'mcp-color-convert'。您只需在MCP客户端中进行相应的配置即可。
服务器配置
MCP服务器通过MCP客户端进行连接和管理。以下是配置 'mcp-color-convert' 服务器到您的MCP客户端的示例JSON配置:
{ "mcpServers": { "color-converter": { "command": "npx", "args": [ "-y", "mcp-color-convert@latest" ] } } }
- '"color-converter"': 这是您在MCP客户端中为该服务器实例定义的唯一名称,您可以根据需要自定义。
- '"command": "npx"': 指定启动MCP服务器的命令行工具是 'npx'。
- '"args": ["-y", "mcp-color-convert@latest"]': 'npx' 命令的参数。
- '-y':表示在安装过程中自动确认提示。
- 'mcp-color-convert@latest':指示 'npx' 运行 npm 仓库中最新版本的 'mcp-color-convert' 包。
请根据您使用的MCP客户端的具体文档,将上述配置添加到其服务器配置部分。配置更改后,通常需要重启您的MCP客户端才能生效。
基本使用方法
一旦MCP客户端配置并连接了 'mcp-color-convert' 服务器,您就可以通过自然语言指令直接调用其提供的各种颜色工具。以下是一些示例:
-
颜色转换:
- "将颜色 '#FF0000' 转换为 'oklch' 格式。"
- "请将 'rgb(0, 0, 255)' 转换为 'hsl'。"
- "把 'rgba(255, 0, 0, 0.5)' 转换为 'hex' 格式。" (注意:'hex' 格式不支持透明度,透明信息将被移除)
- "将 'rgba(255, 0, 0, 0.5)' 转换为 'oklch' 格式。" (透明度将保留)
-
颜色操作:
- "将 '#FF0000' 提亮20%。"
- "将 'rgb(100, 150, 200)' 饱和度降低15%。"
- "反转颜色 '#336699'。"
-
颜色分析:
- "获取颜色 '#FFCC00' 的亮度。"
- "颜色 'forestgreen' 的名称是什么?"
- "请提取 'rgba(0,0,0,0.7)' 的不透明度。"
-
颜色生成:
- "为蓝色生成一个和谐的调色板。"
- "从颜色 '#663399' 生成一个设计系统色板。"
- "为红色生成一个互补色方案。"
- "随机生成一个 'oklch' 格式的颜色。"
-
无障碍工具:
- "计算前景色 '#000000' 和背景色 '#FFFFFF' 的WCAG对比度。"
- "分析前景色 '#FF0000' 在背景色 '#FFFF00' 上的WCAG合规性。"
- "为背景色 '#FF5733' 推荐最佳文本颜色。"
信息
分类
AI与计算