game-art-mcp
game-art-mcp
面向 2D RPG 游戏美术方向的 AI 驱动像素艺术风格系统与 MCP 服务器。
目的
本仓库是项目美术方向的唯一事实来源。任何 AI 代理都可以进入此仓库,通过 MCP 查询项目上下文,并准确理解"我们的美术风格"意味着什么——无需依赖对话历史。
Related MCP server: spritecook-mcp
架构
game-art-mcp/
├── project.yaml # Project config: which style is active
├── style/ # Version-controlled style definitions
│ └── fantasy_pixel_v1/ # Style v1 (YAML rules + style bible)
├── registry/ # Asset registry storage
│ ├── assets/ # One YAML file per registered asset
│ └── registry.yaml # Auto-generated index of all assets
├── memory/ # Art Memory storage (Phase 3)
│ ├── anchors/ # Style anchor YAML files
│ ├── references/ # Approved reference YAML files
│ ├── rejections/ # Rejection records
│ ├── decisions/ # Art decision records (ADR format)
│ ├── history.yaml # Style version evolution log
│ └── memory.yaml # Auto-generated memory index
├── src/
│ ├── style/ # Models, loader, validator
│ ├── assets/ # Asset registry (models + service)
│ │ ├── models/ # Zod schemas + TypeScript types
│ │ └── registry/ # AssetRegistry service (CRUD + query)
│ ├── memory/ # Art Memory (models, service, resolver)
│ │ ├── models/ # Zod schemas for anchors, references, rejections, decisions
│ │ ├── service/ # ArtMemoryService (CRUD + index)
│ │ └── resolver/ # ReferenceResolver (deterministic lookup)
│ ├── qa/ # Art QA engine (Phase 4)
│ │ ├── models/ # QA types, report schema, rule interface
│ │ ├── rules/ # 13 deterministic rules (7 categories)
│ │ ├── runner/ # QARunner orchestrator
│ │ └── history/ # QA history persistence
│ ├── providers/ # Provider Adapters (Phase 5)
│ │ ├── models/ # ProviderAdapter interface, types, error codes
│ │ ├── adapters/ # Adapter implementations (mock-provider)
│ │ ├── registry/ # ProviderRegistry (adapter lookup + capabilities)
│ │ ├── gateway/ # ProviderGateway (dispatch + artifact storage)
│ │ └── artifacts/ # ArtifactStore (immutable provenance)
│ ├── production/ # Production Orchestrator (Phase 6)
│ │ ├── models/ # Types, state machine, error codes
│ │ ├── orchestrator/ # ProductionOrchestrator (coordinator)
│ │ └── store/ # ProductionStore (YAML manifest persistence)
│ ├── versioning/ # Versioning & Approval (Phase 7)
│ │ ├── models/ # Types, lifecycle states, error codes
│ │ └── services/ # VersioningService (approval, versioning, promotion, audit)
│ ├── context/ # ArtContextService
│ └── mcp/ # MCP server + tools
│ └── tools/ # art-tools.ts, asset-tools.ts, memory-tools.ts, qa-tools.ts, provider-tools.ts, production-tools.ts, versioning-tools.ts
├── tests/ # Unit + integration tests
└── docs/ # Architecture, style system, phases快速开始
npm install
npm run build
npm test运行 MCP 服务器
npm start
# or with custom root:
ART_MCP_ROOT=/path/to/project npm start验证风格
npm run validateMCP 工具
风格工具(只读)
工具 | 描述 |
| 完整美术上下文(项目 + 风格 + 所有规则) |
| 当前生效的风格定义 |
| 特定规则类别(pixel_language、outline 等) |
| 带语义角色的调色板 |
| 验证风格配置 |
资产工具(读 + 写)
工具 | 描述 |
| 按 ID 获取资产 |
| 搜索/筛选资产(类型、类别、状态、标签) |
| 检查资产 ID 是否已注册 |
| 注册新资产并执行完整验证 |
| 更新现有资产(部分补丁) |
| 将资产标记为已弃用 |
| 归档资产 |
| 从资产文件重建注册表索引 |
记忆工具(读 + 写)
工具 | 描述 |
| 记忆概览:锚点、决策、拒绝记录、引用计数 |
| 完整风格说明,包含规则、锚点、决策、规避项 |
| 针对给定上下文的确定性引用查找 |
| 按 ID 获取风格锚点 |
| 搜索锚点(类别、状态、维度筛选) |
| 添加新的风格锚点 |
| 按 ID 获取已批准的引用 |
| 搜索引用(角色、状态、asset_id 筛选) |
| 添加新的已批准引用 |
| 按 ID 获取拒绝记录 |
| 搜索拒绝记录(类型、状态、原因筛选) |
| 添加新的拒绝记录 |
| 按 ID 获取美术决策 |
| 搜索决策(状态筛选) |
| 添加新的美术决策 |
| 获取完整风格演进历史 |
QA 工具(只读)
工具 | 描述 |
| 对单个资产运行 QA 检查(完整报告) |
| 对多个资产运行 QA 检查(批量报告) |
| QA 门禁检查——用于审批流程的通过/失败判定 |
| 列出所有可用 QA 规则及其定义 |
| 按 ID 获取特定 QA 规则的完整定义 |
| 解释某条规则为何对某资产失败 |
| 获取 QA 运行历史,可按资产 ID 筛选 |
提供商工具(读 + 写)
工具 | 描述 |
| 列出所有已注册提供商及其元数据 |
| 获取特定提供商的详细元数据 |
| 获取提供商能力(操作、格式、限制) |
| 检查提供商健康状态 |
| 通过提供商执行美术生成操作 |
| 取消正在运行的提供商操作 |
| 按 ID 获取操作状态 |
| 按 ID 获取工件详情和来源信息 |
生产工具(读 + 写)
工具 | 描述 |
| 创建生产计划(执行前预览) |
| 创建生产任务(计划 + 持久化,不启动执行) |
| 开始执行生产任务 |
| 获取当前任务状态(摘要) |
| 获取完整任务详情(事件、尝试、计划) |
| 恢复失败的任务 |
| 取消正在运行的任务 |
| 获取任务的尝试历史 |
| 批准等待审批的任务 |
| 列出所有生产任务 ID |
版本管理工具(读 + 写)
工具 | 描述 |
| 获取资产的规范(当前)版本 |
| 获取特定资产版本的详情 |
| 获取资产的完整版本历史 |
| 比较同一资产的两个版本 |
| 获取版本来源信息,包括审批记录 |
| 为候选资产请求审批 |
| 按 ID 获取审批记录 |
| 批准候选资产 |
| 拒绝候选资产 |
| 对候选资产提出修改要求 |
| 将已批准的候选版本提升为规范版本 |
| 将规范版本回滚到先前版本 |
| 归档规范资产 |
风格和 QA 工具为只读。资产、记忆、提供商、生产和版本管理工具同时支持读取和写入。
资产注册表
资产注册表(第二阶段)以结构化元数据跟踪项目中的每个美术资产。资产以独立 YAML 文件存储在 registry/assets/ 中,并在 registry/registry.yaml 中建立索引。
主要特性:
语义 ID — 点分隔的小写形式(例如
character.goblin.001)风格关联 — 每个资产都引用一个风格 ID + 版本
关系 —
variant_of、derived_from、animation_of等状态跟踪 — 草稿、已批准、已拒绝、已弃用、已归档
完整验证 — 模式、风格引用、源文件存在性、关系
完整文档请参阅 docs/ASSET-REGISTRY.md,元数据模式请参阅 docs/ASSET-METADATA.md。
美术记忆
美术记忆系统(第三阶段)为仓库提供持久的视觉知识。它记住什么被批准、什么被拒绝以及原因——这样代理无需对话历史就能理解项目的美术方向。
核心概念:
风格锚点 — 定义风格的规范视觉示例(参见 docs/STYLE-ANCHORS.md)
已批准引用 — 具有角色和维度的可信资产
拒绝记录 — 什么不符合风格,使用受控的原因词汇表
美术决策 — 采用 ADR 格式记录的视觉方向选择(参见 docs/ART-DECISIONS.md)
引用解析器 — 确定性查找,为任何创作任务返回相关上下文
完整文档请参阅 docs/ART-MEMORY.md。
美术 QA
美术 QA 系统(第四阶段)为像素艺术资产提供确定性、可复现的质量门禁。每项检查都基于规则,包含期望值/实际值和结构化修复建议——不使用 AI 视觉、不使用嵌入、不自动修复。
核心概念:
13 条规则,覆盖 7 个类别(技术、尺寸、调色板、透明度、像素、风格、记忆)
3 种配置 — 严格(警告即失败)、默认(错误即失败)、宽松(仅严重问题失败)
机器可读报告 — JSON 格式,包含每条规则的结果、严重级别、修复建议
风格集成 — 从当前风格读取画布尺寸、调色板限制、像素规则
记忆集成 — 检查被拒绝的方向和已接受的美术决策
QA 门禁 — 用于 CI 和审批流程的通过/失败判定
QA 历史 — 每个资产所有运行记录的持久日志
完整文档请参阅 docs/ART-QA.md。
提供商适配器
提供商适配器系统(第五阶段)为外部美术生成工具添加与提供商无关的接口。请求通过一个网关流转,该网关验证操作、委托给已注册的适配器,并以不可变来源信息存储生成的工件。
核心概念:
ProviderAdapter 接口 — 元数据、能力、健康状态、执行、取消
工件 — 具有不可变来源信息的原始提供商输出(尚不是资产)
能力 — 每个操作的详细信息(格式、最大分辨率)
试运行 — 验证请求而不生成输出
模拟提供商 — 内置测试适配器,支持失败/超时模式
无自动选择 — 代理必须显式选择提供商
完整文档请参阅 docs/PROVIDERS.md。
生产编排器
生产编排器(第六阶段)协调完整的美术资产生成生命周期:请求验证、风格/引用/提供商解析、执行、QA、重试和审批门禁。
核心概念:
协调者,而非事实来源 — 委托给样式系统、QA、提供方和注册表
状态机 — 9 种状态,带经过验证的转换(从 created 到 completed/failed/cancelled)
11 个生产阶段 — 从 REQUEST_VALIDATION 到 APPROVAL_GATE
有界重试 — 可配置的 max_attempts(默认 3),QA 失败时提供修复计划
审批边界 — 在
awaiting_approval处停止,绝不自动批准计划过期检测 — 在执行前检测样式版本漂移
YAML 持久化 — 每个任务在
production/<job_id>/下有一个 manifest.yaml事件历史 — 每个任务所有状态变更的仅追加日志
完整文档请参阅 docs/PRODUCTION.md。
版本控制与审批
版本控制与审批系统(阶段 7)新增了不可变资产版本控制、显式审批工作流和完整审计追踪。任何版本都不会被删除;任何资产都不会被自动批准。
关键概念:
资产生命周期 — 8 种状态:draft、pending_approval、approved、rejected、changes_requested、promoted、superseded、archived
审批工作流 — request、approve、reject、request_changes,带结构化反馈
审批策略 — 可配置:
requires_qa_pass、allow_agent_approval、requires_human不可变版本 — 单调递增、父版本追踪、每个版本的完整溯源信息
规范指针 — 跟踪当前版本;在提升/回滚时更新
提升 — 带 QA 门禁和审批门禁的 compare-and-swap(比较并交换)
回滚 — 将规范指针重新指向先前版本,绝不删除历史
审计日志 — 9 种事件类型,仅追加,不可变
操作者身份 — 每条记录都会跟踪 human、agent、system、provider
完整文档请参阅 docs/VERSIONING.md。
当前阶段
阶段 7 — 版本控制与审批(已完成)
完整路线图请参阅 docs/PHASES.md。
样式系统
样式是结构化的 YAML 文件,代表机器可读的美术方向:
style.yaml— 标识、画布尺寸、缩放palette.yaml— 带语义角色的颜色pixel-rules.yaml— 像素画约束outline.yaml— 描边规则shape-language.yaml— 视觉语言lighting.yaml— 光照方向与规则animation.yaml— 帧数、FPS、约束
详细信息请参阅 docs/STYLE-SYSTEM.md。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables LLMs to create and edit pixel art reliably with support for layers, frames, symmetry, and various drawing tools.70MIT No Attribution

spritecook-mcpofficial
AlicenseNot gradedqualityDmaintenanceConnects AI agents to SpriteCook for AI-powered pixel art and game asset generation, enabling natural language creation of sprites, character sheets, icons, and animations.1354MIT- AlicenseNot gradedqualityCmaintenanceEnables AI agents to visually interact with LibreSprite for real-time pixel art creation and automated drawing with self-healing capabilities.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI to create pixel art in Aseprite through pixel-level drawing primitives, read canvas screenshots, and iterate until satisfied.4MIT
Related MCP Connectors
A design-style library for AI agents: search real styles, fetch a ready-to-apply design spec.
Generate game assets with AI: sprites, 3D models, animations, sound effects, music, and voices.
Generate authentic pixel art - sprites, animations, and tilesets - from any MCP client
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cuvara/game-art-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server