sunpeak CLI
sunpeak tests any MCP server in local replicas of the ChatGPT and Claude hosts and builds MCP Apps with React
- 218 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Runs tests and local servers, and evals spend tokens on your provider keys
- Live tests drive a browser and send prompts to real ChatGPT under your account
Install
Manual install
npx sunpeak test init --server http://localhost:8000/mcpAdds tests to an existing MCP server in any language. For a new app use `npx sunpeak new`.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Runs tests and local servers, and evals spend tokens on your provider keys
- Live tests drive a browser and send prompts to real ChatGPT under your account
This is third-party code. Review the repository files before installing.
What it does
sunpeak answers two questions for MCP App developers: how to stop checking results by hand in ChatGPT and Claude and how to avoid building infrastructure from scratch. It replicates the ChatGPT and Claude hosts locally, so e2e and visual tests run in CI without accounts or credits, and edits show with hot reload. The testing layer has four parts: e2e through Playwright and the sunpeak inspector, visual regression, live tests in real ChatGPT and evals that call tools across several models (GPT-4o, GPT-4o-mini, o4-mini, Claude Sonnet, Gemini 2.0 Flash) through the Vercel AI SDK. Each case runs N times per model to prove that tool descriptions and schemas hold on cheaper models. JSON simulation fixtures pin tool states for reproducible checks. Tests work with a server in any language: `npx sunpeak test init --server http://localhost:8000/mcp` scaffolds a setup for Python, Go, Rust or TypeScript. `sunpeak inspect` opens a standalone inspector for any MCP server. For new projects there is a framework (`npx sunpeak new`) that auto-discovers tools and resources from the file system and offers the hooks `useToolData`, `useAppState`, `useTheme` and `useDisplayMode`. The repository holds two agent skills: `create-sunpeak-app` and `test-mcp-server`.
Who it is for. Authors of MCP servers and apps for ChatGPT and Claude who are tired of clicking through every change in two hosts, and teams that want tool tests in CI.
Good fit when
- An MCP server is written in Python, Go or Rust and needs an e2e test scaffold in one `sunpeak test init` command
- An MCP App's UI should look the same in ChatGPT and Claude across themes and display modes
- Tool descriptions have to be verified on several models over N runs, including cheaper ones
- A UI bug is pinned with a JSON fixture so the regression cannot return
- A server is debugged through a standalone inspector: `sunpeak inspect` opens one for any MCP server
Not a fit when
- You write servers without UIs or apps: a plain MCP inspector and unit tests are enough
- You have no OpenAI, Anthropic or Google model keys for evals: without them only model-free tests run
- You need a framework outside React and TypeScript: the template and hooks assume them
Example request
Add tests to this MCP server with sunpeak test init at http://localhost:8000/mcp and show the output of sunpeak test --e2eLimitations
- Evals call real models through the Vercel AI SDK, so provider keys are needed and tokens are spent, with every case running N times per model.
- Live tests open a browser, prompt real ChatGPT and assert the rendered answer, which needs a ChatGPT account.
- ChatGPT apps are now published as plugins but the architecture is unchanged: the app remains an MCP-backed service.
- Versions depend on the release (the README mentions MCP Apps SDK 2.0.4 and the client at 2.4), and code that reads handler context directly must use `extra.mcpReq`.
How to disable. Remove the `sunpeak` dependency from `package.json`, the `tests/sunpeak/` directory and the Playwright config created by `sunpeak test init`, and delete the `create-sunpeak-app` and `test-mcp-server` skills from the agent's skills folder.
FAQ
How do I add sunpeak tests to an existing MCP server?
Run `npx sunpeak test init --server http://localhost:8000/mcp`, or `--server "python server.py"` for a server started by a command. For non-JavaScript projects the command creates a separate `tests/sunpeak/` directory with its own `package.json`.
How is sunpeak different from MCP Inspector?
MCP Inspector debugs a server by hand. sunpeak has an inspector too (`sunpeak inspect`) but adds replicas of the ChatGPT and Claude hosts, e2e and visual tests, live tests and multi-model evals.
Which test layers does sunpeak have?
Four: e2e through Playwright, visual regression, live tests in real ChatGPT and evals where models call tools. JSON simulation fixtures pin tool states.
Which models do evals run on?
The README names GPT-4o, GPT-4o-mini, o4-mini, Claude Sonnet and Gemini 2.0 Flash through the Vercel AI SDK. Each case runs N times per model.
How do I create a new MCP App?
Run `npx sunpeak new`: it creates a project, starts a dev server with HMR and opens the inspector at `localhost:3000`. Tools, resources and simulations are found automatically from the file structure.
Discussion
No questions or reviews yet.
Related
CLI toolsMCP Interviewer checks an MCP server before an agent connects: provider limits, tool tests and a Markdown report.
kogiQA MCP gives an agent a browser that finds page elements without selectors, for debugging web apps and writing e2e tests
MCP server, agent and skills for end-to-end UI tests where the agent drives the computer through vision on cloud machines
The npx @wong2/mcp-cli command runs MCP servers from a Claude Desktop config, lists their tools and calls them from the terminal.
A community Playwright MCP server: browser automation, screenshots, device emulation and test code generation
The official MCP server debugger: web UI, automation CLI and terminal UI in one package
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| sunpeak (this card) | no | 218 | |
| MCP Inspector | no | 11,248 | the official MCP server debugger with a web UI, a CLI and a terminal UI |
| MCPJam Inspector | no | 2,302 | a local tool for checking and debugging MCP servers with chat and eval runs |
README in short
The README presents sunpeak as a server-agnostic MCP testing framework and a full-stack framework for MCP Apps and notes SDK versions. It then gives reasons to use it and three use cases: an app framework with a project layout, a testing framework with Playwright e2e examples and evals, and a standalone inspector for MCP servers in any language.