Context / Problem Statement
CLAUDE.md and AGENTS.md both note "there is no MCP server." Today the content is consumable only by clients that natively read skills/+rules/ (Cursor, Claude Code). An MCP server would make the pack first-class in any MCP-aware client and turn the 6 .mdc anti-pattern rules into an executable lint tool — a far stronger guarantee than prose rules.
Proposed Solution / Implementation Steps
- Add an optional adjacent package (e.g.
mcp-server/) so the content repo stays a pure pack; the server reads skills/, rules/, snippets/ from the repo at runtime.
- Expose MCP resources:
list_skills, get_skill(name), list_snippets, get_snippet(name), search_patterns(query).
- Expose an MCP tool
lint_blender_python(source) implementing the rules as AST checks: bpy.ops.* inside loops, bmesh.new() without paired free(), prop assignment vs annotation, bpy.context.copy() override, per-element bulk loops. Reuse this checker in CI (a rules-as-linter long-term item).
- Document install/usage in a
mcp-server/README.md; keep it out of the count/validate gates (it's tooling, not pack content) but add its own minimal test job.
Definition of Done
Filed from the repository technical audit — see docs/technical-audit.md.
Context / Problem Statement
CLAUDE.md and AGENTS.md both note "there is no MCP server." Today the content is consumable only by clients that natively read
skills/+rules/(Cursor, Claude Code). An MCP server would make the pack first-class in any MCP-aware client and turn the 6.mdcanti-pattern rules into an executable lint tool — a far stronger guarantee than prose rules.Proposed Solution / Implementation Steps
mcp-server/) so the content repo stays a pure pack; the server readsskills/,rules/,snippets/from the repo at runtime.list_skills,get_skill(name),list_snippets,get_snippet(name),search_patterns(query).lint_blender_python(source)implementing the rules as AST checks:bpy.ops.*inside loops,bmesh.new()without pairedfree(), prop assignment vs annotation,bpy.context.copy()override, per-element bulk loops. Reuse this checker in CI (a rules-as-linter long-term item).mcp-server/README.md; keep it out of the count/validate gates (it's tooling, not pack content) but add its own minimal test job.Definition of Done
lint_blender_pythonflags all 6 anti-patterns on a fixture file and passes clean code.Filed from the repository technical audit — see
docs/technical-audit.md.