Puter MCP
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
제작자가 쓴 설명(영어 원문)
Draws UI wireframes from a small text language: multi-screen boards with notes and flow arrows.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 5/5 통과 · 내가 묻는 내용은 제작자 서버(tsquare.dev)를 거쳐요
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지
CustomizeConnectors
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
tsquare wireframeshttps://tsquare.dev/mcpAuthentication은 Claude가 찾은 그대로 두고 Add를 누르세요
+Connectorstsquare wireframes
tsquare wireframes을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 tsquare wireframes을 쓰고 있다고 하거나 답에 tsquare wireframes 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT는 기업용 요금제에서만 연결돼요
웹의 ChatGPT Business, Enterprise, Edu에서 워크스페이스 관리자나 소유자가 추가해요 · Free, Plus, Pro를 쓰면: 내 ChatGPT 요금제로는 아직 MCP를 직접 연결할 수 없어요
Plugins+Add custom MCP server
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
tsquare wireframeshttps://tsquare.dev/mcp새 채팅을 열고 입력 전에 플러그인 목록에서 tsquare wireframes을 고르세요
tsquare wireframes을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 tsquare wireframes을 쓰고 있다고 하거나 답에 tsquare wireframes 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
claude mcp add --transport http tsquare https://tsquare.dev/mcptsquare wireframes이 목록에 있고 연결됨으로 보이면 돼요
tsquare wireframes을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 tsquare wireframes을 쓰고 있다고 하거나 답에 tsquare wireframes 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
tsquare wireframes을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 tsquare wireframes을 쓰고 있다고 하거나 답에 tsquare wireframes 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
tsquare wireframes을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 tsquare wireframes을 쓰고 있다고 하거나 답에 tsquare wireframes 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://tsquare.dev/mcpJSON 설정은 아래 “개발자용”에 있어요
Claude Code
claude mcp add --transport http tsquare https://tsquare.dev/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"tsquare": {
"url": "https://tsquare.dev/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"tsquare": {
"type": "http",
"url": "https://tsquare.dev/mcp"
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
도구 이름과 설명은 서버가 2026년 11월 11일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
wireframe_guideThe tsquare language reference: the text format, the rules, a worked example and every component with its props. Meant to be read once, before the first wireframe; it returns the same text every time.
render_wireframeChecks tsquare wireframe text and renders it. Returns a PNG of the board, or, if the text isn't valid, each problem with its line number and the valid options.
share_wireframeLinks for valid tsquare wireframe text, the same kinds as the playground's Copy link menu: a share link that opens it in the playground for editing, SVG and PNG image links, Markdown and HTML. Returns an SVG image link and the share link unless `links` asks for others. Each link
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 12일 점검
레지스트리 이름이 도메인 tsquare.dev 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
코드 마지막 변경: 어제
MIT 사용
408ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 3개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 5개 중 5개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 어제 변경됐고, 최신 버전(0.14.5)은 어제 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 지원하는 앱에서도 쓸 수 있어요. 예: ChatGPT Business 이상.
같은 카테고리에는: Puter MCP, XcodeBuildMCP, XcodeBuildMCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Wireframes in plain text: easy for LLMs to write, fast to render as SVG or PNG. A small text language for low-fidelity screens, with several devices side by side and notes beside them. Built for LLMs to write: the prompt comes from the component catalog, and errors come back with line numbers so a model can fix its own output.
board "Login"
screen phone "Sign in" heading "Welcome back" input "Email" placeholder="you@example.com" input password "Password" checkbox "Remember me" checked button primary "Sign in" fullWidth
Save that as login.tsq, then:
npx tsquare render login.tsq -o login.png --scale 2
Requires Node 20 or newer. To work on tsquare itself, clone the repo, run npm install, and use npm run render -- examples/notes-mobile.tsq -o notes.png --scale 2.
Getting started · The language · Components · Icons · Colors · Using it with AI
Online at tsquare.dev/playground, or locally:
npx tsquare playground # http://localhost:4321
The local playground uses the same renderer as the CLI; its links point to tsquare.dev. In this repo, npm run playground runs it from source.
A wireframe can be embedded anywhere an image works (Notion, GitHub, docs sites) with a link that contains the wireframe itself:

The playground's Copy link menu makes these; Embedding has the steps for Notion, GitHub and your own site. The text is compressed into the URL, not encrypted, so anyone with the link can read it; see privacy. encodeWireframe and decodeWireframe in the library produce and read the same links.
With AI
In your docs
remark-tsquare draws ```tsquare code blocks when the site is built.markdown-it-tsquare, the same for sites built on markdown-it.In your app
@tsquare-js/react shows boards, a zoomable viewer, an editor and a playground, including boards in a model's reply while it's still streaming in.In your editor and notes
.tsq files a live preview, problems as you type, highlighting and autocomplete. Also on Open VSX. ```tsquare code blocks in your notes, on desktop and mobile. See the Obsidian page.One element per line; children are indented two spaces under their parent. The first line is the board.
| You write | It means |
|---|---|
button "Sign in" | a quoted string sets the main text (label, title, text…) |
button primary lg | bare words set options: phone, desktop, primary, ghost, row, sm, left, bottom, password… |
checkbox checked, toggle off | a prop name turns a boolean on; off / unchecked / no- turn it off |
stack width=240 gap=8 | key=value sets any prop |
tabs items=[All notes, Pinned] | lists in [ ], items separated by commas; an item can contain spaces |
data=[["$1,200", "Smith, J"]] | quote an item that contains a comma (\" for a quote inside quotes) |
tabbar items=[{label=Home icon=home}] | objects in { } |
# note to self | a comment, on its own line only; elsewhere # is text ([#1001, #1002]) |
If a bare word could mean two props (for example start, which is both an align and a justify value), write it as key=value. Code fences ( ``` ) are ignored, so a model's reply can be rendered as-is.
Structure
Wireframes are grayscale. There are three deliberate exceptions in the UI itself:
| You write | It colors |
|---|---|
board "App" accent=blue | primary buttons, solid badges, checked checkboxes and radios, toggles that are on, the active tab and tab-bar item, ghost button text |
badge "Failed" tone=danger | one badge: success, warning or danger |
input "Email" error helper="Required" | the field's border and helper text, in red |
accent takes blue, indigo, violet, pink, red, orange, green or teal, or a hex color like #1a73e8. With a light hex color, text on it switches to dark and accent-colored text is darkened so it stays readable. There are no other UI color props, on purpose.
Sticky notes beside the wireframe have their own colors, since they're annotations rather than part of the UI: note "TBD" color=pink (yellow is the default, plus blue, pink and green). See Colors for more.
| Group | Components |
|---|---|
| Canvas | board, screen (phone 390×844, tablet 820×1180, desktop 1280×800, custom), note |
| Layout | stack, grid, card, divider, spacer |
| Content | heading, text (lines=3 draws placeholder lines), image (X-box placeholder), icon (any Lucide name or a brand logo such as brand-google, see Icons), avatar, badge |
| Controls | button, input (multiline=4 for a textarea), checkbox, radio, toggle, select |
| Navigation & data | navbar, tabbar, tabs, list, listitem, table |
| Overlays | modal, drawer (left, right, bottom sheet) |
Each component has its own page with a rendered example and its props: see Components.
tsquare render <file.tsq|-> [-o out.svg|out.png] [--scale 2]
tsquare check # problems by line number tsquare fmt [-w] # canonical formatting (drops comments) tsquare prompt # system prompt for models tsquare playground [--port 4321] # live editor, component reference, prompt
Run them with npx tsquare … (nothing to install), or install the tsquare command with npm install -g tsquare. Use - to read from stdin. In this repo, run them through npm: npm run check -- file.tsq. Files use the .tsq extension; the CLI reads any text file.
npm install tsquare
import { renderWireframe, compileWireframe, formatIssues } from "tsquare";
const { issues } = compileWireframe(source); // problems by line, empty when valid const png = await renderWireframe(source, { format: "png", scale: 2 });
tsquare/playground exports the playground's request handler, for hosting it inside your own Node server. tsquare/viewer is the playground's zoomable board (zoom, pan, pinch, a chip per screen) for your own page: pass it the elements, then show() the SVG from renderWireframeSvg with the size and screens from measureBoardLayout (exact; boardLayout is a synchronous estimate that can be off by a line or more on boards with notes). It sets the styles its zoom math needs itself; give the stage a size, and optionally style the classes it toggles on the stage: panning (while dragging), animate (while fitting or zooming to a screen, e.g. .animate > * { transition: transform .25s }) and stale (from setStale, e.g. .stale img { opacity: .35 }). Call destroy() when you remove it. Give it the board's measureElements entries (setElements) and it reports clicks and hovers on elements, outlines them (highlight) and zooms to them (zoomTo): see Element positions. languageData() lists every component, prop, option word, icon and accent, for editor highlighting and autocomplete. In a browser bundle (esbuild, Vite, webpack) the same imports render SVG with no setup; PNG and share links need Node. On a page without a build step, draws every ```tsquare code block on the page (see Embedding). See Using it with AI for the prompt and the repair loop. measureElements gives each element's box on the board and its line in the text, and elementsAt what's under a click, for making a board clickable (see Element positions).
tsquare/editorThe playground's code editor for your own page: highlighting, autocomplete for components, props, option words, icons and accents, problems underlined on their lines, Enter keeping the indentation, and pasting a whole model reply keeps just its code block. CodeMirror is bundled inside (about 125 KB compressed once your bundler minifies it), so it imports nothing and can't clash with a CodeMirror your page already has.
import { createEditor } from "tsquare/editor";
import { compileWireframe, languageData } from "tsquare";
const editor = createEditor(document.getElementById("code")!, { doc: "board\n screen phone", data: languageData(), // autocomplete; leave it out for none onChange: (text) => editor.setIssues(compileWireframe(text).issues), });
Give the element a height; the editor fills it. Options: doc, data, onChange, onCursorLine (the caret's line, when it moves to another), lineNumbers (default true), lineWrapping (default false: wrap long lines instead of scrolling sideways, continuation rows indented 4 spaces past their line's indentation, so they don't look like a child element) and ariaLabel (default "Wireframe text"). The editor has getText(), setText(text) (one