This is for developing your app’s code on your own machine. For the in-browser builder that writes
and deploys code through conversation, see Starcat Developer. You’ll need a
local checkout of your repo first — see GitHub Access.
How it works
Your local Claude Code connects to a project-scoped endpoint on the Stardeck platform. The platform authenticates you, checks what the connection is allowed to do, and exposes a focused set of tools. A few things worth knowing up front:- One project per connection — the endpoint is tied to a single project, so the tools always act on the right app.
- No secret in your files — you authorize once in your browser. The
.mcp.jsonyou add to your repo contains only the project URL, never a token. - Off by default — the gateway is disabled until you enable it for a project.
- Same access as the project agent — the gateway connects with your permissions on the project — the same access the in-product project agent has for you. There is no separate gateway role to pick. See Tools & Permissions.
Before you begin
You’ll need:- A local checkout of your app’s repository — see GitHub Access
- Claude Code installed on your machine — see Claude Code
- Access to the project’s Settings in the Stardeck dashboard
Installing dependencies
Once you have a local checkout, you’ll runnpm install to build and run the app. Your app depends on Stardeck’s SDK packages — scoped @stardeck-customer-apps/* (auth, email, payments, data store, and more). These are published to GitHub Packages, and installing them needs a token.
To install:
-
Create a GitHub personal access token with the
read:packagesscope. -
Add it to your
~/.npmrc(keeps the token out of your repo):~/.npmrc -
Run
npm install.
Set it up
1
Open the project's Integrations settings
In the dashboard, open your app, go to Settings, and select the Integrations tab. Find the Claude Code section.
2
Enable the gateway
Flip the toggle on. The connection panel appears.
3
Copy the .mcp.json snippet
Copy the snippet shown in the panel. It looks like this:
.mcp.json
4
Add it to your repo
Save the snippet as
.mcp.json at the root of your local checkout. Claude Code only loads it when you’re working in that folder, so the tools are scoped to that project automatically.5
Open Claude Code and authorize
Open Claude Code in the project folder. It detects the new server and asks you to approve it, then opens your browser to sign in once. After you authorize, the tools become available.
6
Verify the connection
Ask Claude something like “list this project’s tasks”. If you get your project’s real tasks back, you’re connected.
Working alongside the Stardeck agent
Keep in mind how the in-product agent treats git: Stardeck agents commit and push their work directly to themain branch. There’s no pull request step — when the agent finishes a change, it lands on main, and that’s what the project’s sandbox builds and runs.
That has two implications for local work:
mainis shared and live. Pull before you start so you’re not building on a stale tree, and expect the agent (or a teammate) to push tomainwhile you work.- The sandbox doesn’t auto-pull your pushes. Your local edits and branches are invisible to the Stardeck sandbox until they reach
main— and even after you push, the sandbox stays on its current commit until you load the new commit into it manually from the dashboard’s git history tab.
Connect other MCP clients
Claude Code is the first-class path for this project guide, but the endpoint is a standard OAuth-based MCP server over Streamable HTTP. Other clients can use the same project URL shown in the dashboard.Codex CLI
Add the project endpoint to Codex, then start the browser authorization flow:codex mcp list or type /mcp in Codex to verify the connection. The
server is stored in ~/.codex/config.toml; use a project-scoped
.codex/config.toml if you want the connection limited to that checkout.
ChatGPT desktop app
Open Settings → MCP servers → Add server, choose Streamable HTTP, and paste the project URL. Save, restart ChatGPT if prompted, and select Authenticate for Stardeck. Complete the browser sign-in before asking ChatGPT to list the project’s tasks.Cursor, Windsurf, Cline, and others
Use the client’s Streamable HTTP MCP configuration with this URL and complete the same browser authorization:.cursor/mcp.json:
Switching between projects
Each project gets its own URL, and the.mcp.json lives in that project’s repo. Moving between apps is just a matter of changing directories: open the checkout for the app you want to work on and Claude Code picks up that project’s tools. The server is always named stardeck, so prompts and skills that reference it stay portable across your apps.
Troubleshooting
No tools show up
- The gateway is off for this project — enable it in Settings → Integrations.
- Claude Code hasn’t loaded the server yet — make sure
.mcp.jsonis at the repo root and restart Claude Code, then approve the server when prompted. - You haven’t finished the browser authorization — re-open Claude Code and complete the sign-in.
npm install fails with 401 Unauthorized
The @stardeck-customer-apps/* packages live on GitHub Packages, which requires a token even though the packages are public. Add a GitHub personal access token with read:packages to your ~/.npmrc — see Installing dependencies.
Authorization fails or returns “unauthorized”
- You must be a member of the organization that owns the project, and you must sign in to that organization during authorization.
- If your session expired, re-run the authorization flow from Claude Code.
Claude can’t write to the data store
Your role doesn’t grant data-store access on this project, or the app has no data store connected. Data-store tools (read and write) require data-store access on your role — see Tools & Permissions.Next steps
Run Your App Locally
The other half — boot your app on localhost against your live sandbox
Tools & Permissions
What Claude can do through the gateway, and how your permissions control it
Members & Roles
Create and configure the roles that control your access
GitHub Access
Get a local checkout of your app’s repository
Cross-App Communication
How your apps call each other’s endpoints