io.github.Brunovncs/texel-mcp
NPM · TEXEL-MCP
Minecraft skins and textures as code: JSON specs compiled to PNG, with a review an agent can act on.
Available components
Last scanned (8 hours ago)
Scores higher than 72% of npm servers
Category Design and Media
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 0 of 3 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 29 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability81
- 94% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 3267 tokens (~72/item across 45 items; 16 tools + 29 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management77
- Stability observed for 23 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 93% of tool parameters carry a description.Partial
- Structured output schemas are declared (88% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 16 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Oct 26 +5
- Stability: unverified → 0.30 ▲ functional
- 19 Oct 26 0
- Security disclosure: unverified → fail ▼ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed npm/texel-mcp@0.9.2
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 3 packages
| Packages resolved | 3 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
texel_check_pack Check resource pack ~148
Check a resource pack (a folder or a .zip in the workspace, /workdir), not only ones Texel made: pack.mcmeta and the versions its format covers, file and namespace names, PNGs, .mcmeta animations and GUI scaling, entity texture sizes against Texel's layouts, models, block states, item definitions and particles that point at missing files, and unused textures. Each issue has the file, a JSON path and a fix hint.
| Name | Type | Req | Description |
|---|---|---|---|
| mcVersion | string | – | Minecraft Java version the pack must work on, e.g. "1.21.4". |
| path | string | yes | The pack folder or .zip, relative to the workspace. |
| Name | Type | Req | Description |
|---|---|---|---|
| issues | array | yes | – |
| ok | boolean | yes | – |
| stats | object | yes | – |
| versions | array | yes | – |
No examples provided.
texel_diff Diff two skins ~133
Compare two specs pixel by pixel and report which faces changed. Use it to confirm a patch touched only what you intended. Returns the changed-pixel mask over the texture map (magenta = changed).
| Name | Type | Req | Description |
|---|---|---|---|
| after | – | yes | A Texel skin spec (version 1) as a JSON object or JSON text. Format: texel://docs/spec, schema: texel://schema/skinspec.v1 |
| before | – | yes | A Texel skin spec (version 1) as a JSON object or JSON text. Format: texel://docs/spec, schema: texel://schema/skinspec.v1 |
| Name | Type | Req | Description |
|---|---|---|---|
| changedPixels | number | yes | – |
| faces | array | yes | – |
No examples provided.
texel_get_example Get example spec ~96
Return a complete, working example spec to learn from or fork. Skins: explorer, knight, robot, astronaut, wizard, cozy, winged-pig, miner-zombie, creeper, mud-pig, bronze-armor, banner-cape, ember-blade, zebra, sky-evoker, ash-log, magma-pulse, stone-button, spark. Family: guild.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
texel_import_png Import skin PNG ~299
Convert an existing PNG in the workspace into an editable spec, one layer per painted face, palette keys c01…cNN. A player skin (64×64 or legacy 64×32) by default; pass layout for a mob, armor, cape, item or block texture. With pixelize, any picture becomes a texture of the layout's size first (concept art or a render on a white background → a 16×16 item; an HD 128×128 skin → 64×64): background removed, colors reduced, specks cleaned. Rename palette keys to material names before editing.
| Name | Type | Req | Description |
|---|---|---|---|
| colors | integer | – | With pixelize: colors to keep (default 16; 0 keeps every averaged color). |
| layout | string | – | Texture layout of the PNG, e.g. "zombie", "humanoid" (armor), "item". Default: player skin. |
| outline | string | – | With pixelize: a 1-pixel outline around the shape, "#rrggbb" or "auto" (items). |
| path | string | yes | Path to a .png file, relative to the workspace. |
| pixelize | boolean | – | Scale and clean a picture of any size into the layout's texture size first. |
| size | array | – | With pixelize: the texture size for resizable layouts (gui, painting, HD items), e.g. [32, 32]. |
| Name | Type | Req | Description |
|---|---|---|---|
| layout | string | yes | – |
| lossy | boolean | yes | – |
| model | string | yes | – |
| spec | object | yes | – |
No examples provided.
texel_live Start live preview ~115
Start (or reuse) a live session and return a studio URL for the user. While it runs, every texel_render result appears in their open browser tab immediately, so they can watch the skin evolve and give feedback mid-way. Call it before the first render and share the URL with the user.
| Name | Type | Req | Description |
|---|---|---|---|
| open | boolean | – | Also open the URL in the default browser of the machine running this server. |
| port | integer | – | Preferred local port (default 4747; the next free one is used if busy). |
| Name | Type | Req | Description |
|---|---|---|---|
| port | number | yes | – |
| studioUrl | string | yes | – |
| url | string | yes | – |
| viewers | number | yes | – |
No examples provided.
texel_pack Build resource pack ~261
Build a Minecraft resource pack from spec files, family files and folders of them in the workspace (/workdir): every texture at its "asset" path (or its layout's default: vanilla paths for mobs, item/<name> for items…), with .png.mcmeta, _eyes files, particle definitions, pack.mcmeta for the Minecraft version, and with models: true also the models, block states and item definitions items and blocks need. Writes a .zip or a folder, then checks the result like texel_check_pack.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| files | array | yes | Spec files, family files or folders of .json specs, relative to the workspace. |
| mcVersion | string | – | Minecraft Java version, e.g. "1.21.4". Default: the latest Texel knows. |
| models | boolean | – | Also write models, block states and item definitions for item, block and plant textures (new items and blocks need them; replaced vanilla textures don't). |
| namespace | string | – | Namespace for textures whose "asset" has none. Default "minecraft" (replaces vanilla textures); a mod uses its id. |
| out | string | – | Output .zip, or a folder, relative to the workspace. |
| Name | Type | Req | Description |
|---|---|---|---|
| files | number | yes | – |
| format | number | yes | – |
| issues | array | yes | – |
| ok | boolean | yes | – |
| out | string | yes | – |
| placed | array | yes | – |
| version | string | yes | – |
No examples provided.
texel_palette Palette from a reference image ~117
Read a reference PNG in the workspace (concept art, a photo of a figure, another skin) and return its main colors, most common first, each with a role (shadow, midtone, highlight, neutral, accent), as a ready spec "palette" and "legend". Use it to match a reference instead of guessing hex values; derive the other tones with "~" steps.
| Name | Type | Req | Description |
|---|---|---|---|
| colors | integer | – | How many colors to keep. |
| path | string | yes | Path to a .png file, relative to the workspace. |
| Name | Type | Req | Description |
|---|---|---|---|
| entries | array | yes | – |
| legend | object | yes | – |
| palette | object | yes | – |
No examples provided.
texel_patch Patch skin ~278
Apply a patch to a spec (update, replace, add or remove layers by id; change palette, legend or meta) and render the result like texel_render. Layers without an id first get "<op>-<index>" and keep it, so the next patch can use the same ids. Entries that cannot apply are skipped and reported. With "spec", returns the patched spec, the review and the sheet. With "file", writes the patched spec back to that file and returns only the review and the sheet.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | – | Instead of "spec": a .json spec file in the workspace, e.g. "skins/knight.json". Saves resending the whole spec on every call; texel_patch then edits the file in place. |
| include | array | – | Extra outputs. "sheet" is the review image; "ascii" adds a text render for models without vision. |
| patch | – | yes | A patch ({ patch: [{ do: "update", id, set }, …] }) as a JSON object or JSON text. Format: texel://docs/spec, section "Patches". |
| spec | – | – | A Texel skin spec (version 1) as a JSON object or JSON text. Format: texel://docs/spec, schema: texel://schema/skinspec.v1 |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | number | yes | – |
| art | object | yes | – |
| file | string | – | – |
| issues | array | yes | – |
| layout | string | yes | Texture layout: player, zombie, humanoid (armor), skeleton, item… |
| model | string | yes | – |
| name | string | yes | – |
| next | array | yes | – |
| ok | boolean | yes | – |
| score | number | yes | – |
| size | array | yes | Texture size in pixels: [width, height]. |
| skipped | array | yes | – |
| spec | object | – | – |
| stats | object | yes | – |
No examples provided.
texel_pull Load skin from link ~75
Load the spec behind a Texel share link (https://www.texel.dev.br/s/<id>, a bare id, or a long studio link with #z= / #spec=) so you can keep developing an existing skin. Returns the spec JSON.
| Name | Type | Req | Description |
|---|---|---|---|
| link | string | yes | A share link or short id. |
| Name | Type | Req | Description |
|---|---|---|---|
| spec | object | yes | – |
No examples provided.
texel_read_docs Read Texel docs ~72
Read a documentation page as markdown. Pages: protocol (Skin Agent Protocol), spec (Skin spec reference), art-guide (Skin art guide), families (Skin families), api (Agent interfaces), install (Install as a tool). Read "spec" before writing your first spec.
| Name | Type | Req | Description |
|---|---|---|---|
| page | string | yes | – |
No output schema declared.
No examples provided.
texel_render Render skin ~262
Compile a skin spec and review it. Returns a review sheet image (front | back | right | left views + raw texture), the review (score, issues with JSON paths and fix hints, art checks, craft advice, suggested next steps) and, on request, the texture (64×64 for a player skin), a text render and a close-up of some parts. Deterministic; never modifies files.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | – | Instead of "spec": a .json spec file in the workspace, e.g. "skins/knight.json". Saves resending the whole spec on every call; texel_patch then edits the file in place. |
| focus | array | – | Also return a close-up of these parts or groups alone (e.g. ["head"], ["arms"]) from all six sides, large, on gray: for judging a face, a hood or one garment. |
| include | array | – | Extra outputs. "sheet" is the review image; "ascii" adds a text render for models without vision. |
| spec | – | – | A Texel skin spec (version 1) as a JSON object or JSON text. Format: texel://docs/spec, schema: texel://schema/skinspec.v1 |
| Name | Type | Req | Description |
|---|---|---|---|
| art | object | yes | – |
| issues | array | yes | – |
| layout | string | yes | Texture layout: player, zombie, humanoid (armor), skeleton, item… |
| model | string | yes | – |
| name | string | yes | – |
| next | array | yes | – |
| ok | boolean | yes | – |
| score | number | yes | – |
| size | array | yes | Texture size in pixels: [width, height]. |
| stats | object | yes | – |
No examples provided.
texel_render_family Render skin family ~90
Expand a family (base spec + variants and/or a matrix of axes) and review every member. Returns a lineup image (front and back of each member, in order) and a per-member score table.
| Name | Type | Req | Description |
|---|---|---|---|
| family | – | yes | A skin family ({ kind: "family", base, variants?, matrix? }) as a JSON object or JSON text. Format: texel://docs/families |
| Name | Type | Req | Description |
|---|---|---|---|
| issues | array | yes | – |
| members | array | yes | – |
| name | string | yes | – |
| ok | boolean | yes | – |
No examples provided.
texel_save Save skin ~189
Compile a spec and write <path>.png (the texture), <path>.skin.json (the source) and optionally <path>.sheet.png into the workspace (/workdir). Also writes every other file the texture is in game: a block's <path>_top.png / _side.png…, an animation's strip with <path>.png.mcmeta, a particle's <path>_0.png…, the glowing pixels as <path>_eyes.png. Refuses specs with errors.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | Output path without extension, relative to the workspace, e.g. "skins/frost-mage". |
| sheet | boolean | – | Also write the review sheet. |
| spec | – | yes | A Texel skin spec (version 1) as a JSON object or JSON text. Format: texel://docs/spec, schema: texel://schema/skinspec.v1 |
| Name | Type | Req | Description |
|---|---|---|---|
| files | array | yes | – |
| score | number | yes | – |
No examples provided.
texel_save_family Save skin family ~110
Expand a family and write <directory>/<member-id>.png and .skin.json for every member, plus <directory>/lineup.png, into the workspace (/workdir). Refuses families with errors.
| Name | Type | Req | Description |
|---|---|---|---|
| directory | string | yes | Output directory relative to the workspace, e.g. "skins/guild". |
| family | – | yes | A skin family ({ kind: "family", base, variants?, matrix? }) as a JSON object or JSON text. Format: texel://docs/families |
| Name | Type | Req | Description |
|---|---|---|---|
| files | array | yes | – |
| members | number | yes | – |
No examples provided.
texel_share Share skin ~99
Store the spec on https://www.texel.dev.br and return a short link (https://www.texel.dev.br/s/<id>) that opens the exact skin in the studio. Falls back to a long self-contained link when offline.
| Name | Type | Req | Description |
|---|---|---|---|
| spec | – | yes | A Texel skin spec (version 1) as a JSON object or JSON text. Format: texel://docs/spec, schema: texel://schema/skinspec.v1 |
| Name | Type | Req | Description |
|---|---|---|---|
| short | boolean | yes | – |
| url | string | yes | – |
No examples provided.
texel_validate Validate skin spec ~120
Check a spec for errors and warnings without rendering images. Cheap; use it after every edit.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | – | Instead of "spec": a .json spec file in the workspace, e.g. "skins/knight.json". Saves resending the whole spec on every call; texel_patch then edits the file in place. |
| spec | – | – | A Texel skin spec (version 1) as a JSON object or JSON text. Format: texel://docs/spec, schema: texel://schema/skinspec.v1 |
| Name | Type | Req | Description |
|---|---|---|---|
| issues | array | yes | – |
| ok | boolean | yes | – |
| score | number | yes | – |
No examples provided.
How do I install the io.github.Brunovncs/texel-mcp server?
io.github.Brunovncs/texel-mcp runs locally as an npm package, launched with npx -y texel-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · texel-mcp
claude mcp add brunovncs-texel-mcp -- npx -y texel-mcp
What is the io.github.Brunovncs/texel-mcp server?
io.github.Brunovncs/texel-mcp is listed in the public MCP registry as io.github.Brunovncs/texel-mcp. Minecraft skins and textures as code: JSON specs compiled to PNG, with a review an agent can act on. This page covers its npm package (texel-mcp).
Is the io.github.Brunovncs/texel-mcp server safe to use?
io.github.Brunovncs/texel-mcp scores 82 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.Brunovncs/texel-mcp server expose?
io.github.Brunovncs/texel-mcp exposes 16 tools: texel_render, texel_patch, texel_validate, texel_save, texel_live, and 11 more. Their descriptions and schemas cost roughly 2,464 tokens of context every time the server is loaded.
Is the io.github.Brunovncs/texel-mcp server still maintained?
io.github.Brunovncs/texel-mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.Brunovncs/texel-mcp server under?
io.github.Brunovncs/texel-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.