Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Create and modify GB Studio projects with MCP tools for scenes, actors, assets, and validation.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
CLAUDE_API_KEY비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"gbstudio-claude": {
"command": "npx",
"args": [
"-y",
"gbstudio-claude-mcp"
],
"env": {
"CLAUDE_API_KEY": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add gbstudio-claude --env CLAUDE_API_KEY=your-value -- npx -y gbstudio-claude-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"gbstudio-claude": {
"command": "npx",
"args": [
"-y",
"gbstudio-claude-mcp"
],
"env": {
"CLAUDE_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"gbstudio-claude": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"gbstudio-claude-mcp"
],
"env": {
"CLAUDE_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검
레지스트리 이름이 GitHub 계정 eoinjordan 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: CLAUDE_API_KEY
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.4)은 9개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Toggl 2.0
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Toggl 2.0 MCP server for tasks, projects, time entries, and workspace operations.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Prompt to build out a template for your students, kids, or yourself to extend.
Also works for GBA STUDIO ...my fork of GB Studio that covers the GBA
npm install -g gbstudio-claude-mcpgbstudio-claude-mcpThat’s it. Claude will reivew, extend or even generate a playable game template you can iterate on with students in GB Studio.
After 14 years teaching kids programming, electronics, 3D printing, and game development, I’ve learned this: the best educational tools don’t just make things easier. They make learning a rewarding activity. GB Studio is one of those tools. It’s a visual game builder that gives you a Game Boy development, putting real creative power in the hands of students, educators, and hobbyists to build for physical hardware. When we combine GB Studio with education on what is possible to do with large language models (LLMs), we bring a postitive view to students on how they can integrate with rather than rely on them as a crutch.
“Vibe coding” isn’t just a buzzword. It’s a paradigm shift. It’s programming stripped of syntactic gatekeeping, where creators focus on flow, logic, and ideas instead of memorizing semicolons. Tools like Scratch, App Inventor, and GB Studio embody this philosophy: they eliminate barriers and recenter programming around what actually matters: creativity and problem-solving.
For kids, vibe coding is a what they are growing up with. It will let them focus on the “why” and “how” of programming without drowning in syntax. This isn’t just helpful. It’s important for students to get to think in systems, design, and logic but are shut out by traditional coding’s steep learning curve.
Large language models like ChatGPT have sparked fierce debate in education, and for good reason. Used carelessly, they become cheating tools that replaces thinking with copy-pasa mindset. But used with purpos, they can become scaffolding that accelerates real learning. The difference isn’t the tool. It’s how we wield it.
Games can be built from scratch too but they wont be AAA class so measure your expectations lol
Create a Pong clone for the original Game Boy. Two paddles, a ball, and a score counter. The player controls the left paddle, the right paddle is AI-controlled. Use simple monochrome graphics and authentic GB sound effects. Generate all scenes, actors, and assets for a playable Pong game.
Build a Pac-Man style maze game for Game Boy Color. The player navigates a maze, collects pellets, and avoids ghosts. Include at least one maze layout, four ghosts with basic AI, and colorful graphics. Generate all scenes, actors, and assets needed for a playable demo.
Design a Mario Bros inspired platformer for Game Boy Color. The player can run, jump, and stomp on enemies. Include three levels, power-ups, coins, and a flagpole at the end of each level. Use bright palettes and catchy background music. Generate all scenes, actors, and assets for a classic platformer experience.
Create a vertical scrolling space shooter for the original Game Boy. The player controls a spaceship, shoots enemies, and dodges obstacles. Include multiple enemy types, power-ups, and a boss fight. Use classic GB graphics and chiptune sound effects. Generate all scenes, actors, and assets for a playable shooter.
This is a TypeScript server for manipulating GB Studio projects using the Model Context Protocol (MCP). It provides endpoints for project discovery, validation, and creation of game assets.
Install globally with npm:
npm install -g gbstudio-claude-mcp
For local development, store API keys and configuration in a .env file at the project root. This keeps secrets out of source control and matches the pattern used in GitHub Actions.
.env file in the project root: CLAUDE_API_KEY=your-claude-api-key-here
2. The server will automatically load variables from `.env` if you use [dotenv].
.env files are gitignored by default.Never commit your .env file to source control.
Start the server:
gbstudio-claude-mcp
The server runs on http://localhost:3000 by default.
Configure your MCP client (e.g., Claude Desktop) to connect to this server. For full setup and troubleshooting, see the tutorial linked at the end of this document.
See the TUTORIAL.md for a complete, step-by-step guide to building a GB Studio game with this server, including screenshots and troubleshooting tips for both Windows and Linux/macOS.
This package supports the Model Context Protocol (MCP). You can run the server in MCP stdio mode for use with Claude Desktop and other MCP clients:
npm run build:mcp
node build/mcp.js
The MCP stdio server proxies to the local REST API on http://localhost:3000, so start the REST server first. To use a different port, set GBSTUDIO_API_URL (full URL) or GBSTUDIO_API_PORT (port number):
gbstudio-claude-mcp
Or add this to your MCP client configuration:
{
"mcpServers": { "gbstudio-mcp": { "command": "node", "args": ["/absolute/path/to/build/mcp.js"] } } }
Clawdbot and Moltbot discover tools via AgentSkills-compatible SKILL.md files. This repo ships one at:
skills/gbstudio-mcp/SKILL.mdCompatibility depends on transport:
node build/mcp.js will work.To enable the skill in Moltbot, add an entry like this:
{
"skills": { "load": { "extraDirs": [ "~/.clawdbot/skills" ], "watch": true, "watchDebounceMs": 250 }, "entries": { "gbstudio-mcp": { "enabled": true, "env": {} } } } }
git clone https://github.com/eoinjordan/gb-studio-agent.git
cd gb-studio-agent
2. Install Node.js (recommended: v21.7.1 or compatible)
npm install
npm run dev
npm test
GET /health — Returns { status: "ok" } for health checks.GET /claude-key — Returns { present: true } if CLAUDE_API_KEY is set in the environment, else { present: false } with 404.POST /find_project — Finds the first .gbsproj file starting from a given directory.{ startPath: string }{ projectPath: string } or 404 if not found.POST /inventory — Lists scenes, actors, triggers, and assets from a GB Studio project root.{ projectRoot: string }{ scenes, actors, triggers, assets } or 404/400 on error.POST /validate — Validates the structure of a GB Studio project (checks for a valid .gbsproj file and required fields).{ projectRoot: string }{ valid: true, message: string, scenes: number, projectPath: string, target: "gb" | "gba", engine: "gb-studio" | "gba-studio", version: string | null } if valid, or 400/404 with an error message if invalid or missing required fields.projectRoot is missing or .gbsproj is invalid/missing required fieldsprojectRoot does not exist or no .gbsproj file foundPOST /gba/build — Builds a .gba ROM using a local GBA Studio checkout.{ projectRoot: string, gbaStudioRoot?: string, output?: string, buildCli?: boolean, verbose?: boolean, extraArgs?: string[] }GBA_STUDIO_ROOT can be used instead of gbaStudioRoot.{ success: true, projectPath, gbaStudioRoot, output, stdout, stderr } on success, or { success: false, error, stdout, stderr }.build_gba_rom exposes the same arguments for Claude/agent clients.POST /scene/create — Adds a new scene to the specified GB Studio project.{ projectRoot: string, scene: object }{ success: true, scene } on success, or 400/404/500 with an error message.POST /actor/create — Creates a new actor in the specified scene.{ projectRoot: string, sceneId: string, actor: object }{ success: true, actor } on success, or 400/404/500 with an error message.POST /background/create — Creates a new background in the project.{ projectRoot: string, background: object }{ success: true, background } on success, or 400/404/500 with an error message.POST /sprite/create — Creates a new sprite in the project.{ projectRoot: string, sprite: object }{ success: true, sprite } on success, or 400/404/500 with an error message.POST /music/create — Creates a new music track in the project.{ projectRoot: string, music: object }{ success: true, music } on success, or 400/404/500 with an error message.POST /sound/create — Creates a new sound effect in the project.{ projectRoot: string, sound: object }{ success: true, sound } on success, or 400/404/500 with an error message.POST /tileset/create — Creates a new tileset in the project.{ projectRoot: string, tileset: object }{ success: true, tileset } on success, or 400/404/500 with an error message.POST /trigger/create — Creates a new trigger in the specified scene.앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요