Token导航 LogoToken导航TokenDH.com
Jsx Notation logo
运维云端未说明官方级别未说明来源级核验

Jsx Notation

MCP Server

一个用于压缩React/Next.js文件、HTML和SVG的工具,优化AI助手的令牌使用。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
JavaScriptClaude云端部署ClaudeCursorWindsurfVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SebastianMaciel

提供方

SebastianMaciel

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

jsx符号

](https://www.npmjs.com/package/jsx-notation) ![license](./LICENSE)

为AI助手将React/Next.js文件、HTML和SVG压缩约40%。 一个MCP服务器和库,将JSX/TSX、HTML和SVG转换为JSXN——一种针对LLM令牌消费进行优化的紧凑符号。

尝试现场演示→

为什么

每次AI助手读取你的React组件、HTML或SVG文件时,它都会在关闭标签上浪费标记,重复 className/class 属性和冗长的道具。这是可用于实际推理的上下文窗口空间。

JSXN在保留含义的同时去除了冗余:

// Before: 278 chars

  

    
{title}

    Submit
  
// After: 170 chars
@C Modal=M, Button=B
@P onClick=k, disabled=x, isOpen=io, onClose=oc

M {io:showModal, oc:handleClose}
  .modal-body
    h2 (title)
    B {x:!selected, k:handleSubmit} "Submit"

也适用于HTML:


  
    NameEmailRole
  
  
    Alicealice@example.comAdmin
    Bobbob@example.comUser
  
// After: 188 chars
table.data-table
 thead
  tr
   th "Name"
   th "Email"
   th "Role"
 tbody
  tr
   td "Alice"
   td "alice@example.com"
   td "Admin"
  tr
   td "Bob"
   td "bob@example.com"
   td "User"

也适用于SVG:


  
  

  
// After: 251 chars
svg {xmlns:http://www.w3.org/2000/svg, viewBox:0 0 24 24, fill:none, stroke:currentColor, stroke-width:2, stroke-linecap:round, stroke-linejoin:round}
 circle {cx:12, cy:12, r:10}
 line {x1:12, y1:8, x2:12, y2:12}
 line {x1:12, y1:16, x2:12.01, y2:16}

缩进取代了结束标记。 .class#id 像CSS选择器一样工作。频繁使用的组件、道具和CSS类会得到短别名。带逗号的值被引用以避免分隔符混淆。

快速入门:MCP服务器

主要用例——让你的AI助手读取压缩形式的JSX/HTML/SVG文件。

克劳德代码:

claude mcp add jsx-notation -- npx jsx-notation
就是这样。重新启动Claude Code,工具就可用了。不 npm install 需要-- npx 自动下载所有内容。

VS Code (.vscode/mcp.json):

{
  "servers": {
    "jsx-notation": {
      "command": "npx",
      "args": ["jsx-notation"]
    }
  }
}
将此文件添加到您的项目中,然后重新启动VS Code。它将自行检测服务器,无需额外设置。

光标 (~/.cursor/mcp.json.cursor/mcp.json):

{
  "mcpServers": {
    "jsx-notation": {
      "command": "npx",
      "args": ["jsx-notation"]
    }
  }
}
只需将此添加到您的配置文件中,然后重新启动Cursor。它将自动启动服务器,无需安装其他任何东西。 故障排除: 如果服务器显示带红点的“无工具或提示”,则游标找不到 npx 在其路径中(与nvm相同)。通过更换来修复它 "npx" 使用完整路径--run which npx 在终端中使用该值(例如。 "/Users/you/.nvm/versions/node/v22.22.0/bin/npx").

帆板运动 (~/.codeium/windsurf/mcp_config.json):

{
  "mcpServers": {
    "jsx-notation": {
      "command": "npx",
      "args": ["jsx-notation"]
    }
  }
}
格式与游标相同。添加它,重新启动Windsurf,它就准备好了。
克莱恩, 继续, 亚马逊Q,以及 捷脑 IDE(IntelliJ、WebStorm等)也使用相同的 mcpServers 格式。将上面的JSON粘贴到MCP设置中。

泽德 (~/.config/zed/settings.json):

{
  "context_servers": {
    "jsx-notation": {
      "command": "npx",
      "args": ["jsx-notation"]
    }
  }
}
将此添加到Zed设置文件中并重新启动。Zed使用 context_servers 而不是 mcpServers.

服务器公开了四个工具:

工具说明
read_jsxn阅读a .jsx/.tsx/.js/.ts/.html/.svg 并返回其JSXN编码
encode_jsxn将原始代码编码为字符串(filesnippet 模式, jsxhtml 格式)
decode_jsxn将JSXN解码回JSX/TSX或HTML(jsxhtml 格式)
write_jsxn解码JSXN并将结果写入文件(自动检测 .html/.svg 用于HTML输出)

引导AI

将此添加到您的 CLAUDE.md.cursorrules 因此助手更喜欢JSXN:

When you need to read .jsx, .tsx, .js, .ts, .html, or .svg files for context,
use the read_jsxn tool from the jsx-notation MCP server. It returns JSXN compact
notation (~40% fewer tokens) that you understand perfectly.

图书馆使用情况

用于编程用途: npm install jsx-notation --出口 encode, encodeFile, encodeHTML, decode, decodeFile.

符号参考

元素和属性

JSX/HTMLJSXN
`

/ | .a.b (隐式div)| | | span#x | | {title} | h2 (title) | | Hello | span "Hello" | | disabled (布尔属性)| {disabled} | | {...props} (传播)| {...props}` |

模式(仅限JSX)

JSXJSXN
{cond && }?cond > X
{a ? : }`?a > A \B`
{items.map(i => )}*items > X
<>..._

文件级压缩(encodeFile)

代码jsxn
import { X } from 'mod'@I mod: X
import type { T } from 'mod'@T mod: T
const [x, setX] = useState(0)@state x = 0
const ref = useRef(null)@ref ref = null
const x = exprx = expr
JSX返回边界---

HTML/SVG特定

HTML/SVGJSXN
``!DOCTYPE html
`
/ ` (空隙元素)br / img {src:...}
class="foo bar".foo.bar
`` (SVG自动关闭)circle {cx:12}
font-family="system-ui, sans-serif"font-family:"system-ui, sans-serif"

解码时使用 { format: 'html' }:

  • class 使用代替 className
  • 所有属性值都是字符串(否 {expression})
  • 使用空心元件 `

(不是 `)

  • 不带子元素的SVG元素 `

` (XML自动关闭)

  • 使用空的非空元素 `

(不是 `)

  • 带逗号的值在props中引用: {key:"val, val2"}

别名标题

标题目的示例
@C组件别名@C Button=B, Modal=M
@P道具别名@P onClick=k, onChange=g
@SCSS类别名(Tailwind)@S items-center=ic, font-medium=fm

贡献

发现bug还是有想法? 打开一个问题.

免责声明

本软件按“原样”提供,不提供任何形式的保修。请参阅 MIT许可证 完整条款。

JSXN是一个实验工具,它将JSX/TSX、HTML和SVG源代码压缩为紧凑的符号,以供AI/LLM系统使用。编码输出是有损表示,可能无法保留原始代码的所有语义细节。作者不对编码的准确性、使用JSXN输出的AI系统的行为或任何特定用例的适用性做出任何保证。

MCP服务器组件从本地文件系统读取文件。仅 .jsx, .tsx, .js, .ts, .html,以及 .svg 文件被接受,大小限制为10 MB。您有责任确保它针对您的环境进行了适当的配置。使用风险自负。

许可证

麻省理工学院 -塞巴斯蒂安·马西埃尔

目录标签

目录标签

JavaScriptClaude云端部署JSX压缩本地部署AI优化前端工具ReactNext.js

支持客户端

ClaudeCursorWindsurfVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP