Project releases

MCP Studio is a starter kit for building a ChatGPT plugin on a real MCP server

A new public repository appeared on September 17 and reached its current shape on September 18. MCP Studio is a web playground and a working Model Context Protocol server in one project, with twelve read-only tools, eight resources, five dashboard templates and a protocol test suite covering thirty assertions.

GitHub activity: · Published:

What this is about

Writing a plugin that a chat assistant can call means building a small server that speaks the Model Context Protocol, and then convincing yourself it behaves. Most people start from a protocol specification and a blank folder. MCP Studio starts you from a running example instead.

The repository was created on September 17 and its public history runs from the first documentation commit that day to the current head on September 18. It is a single project that is both the website you click around in and the protocol server the website talks to, so what you see in the playground is the same surface a remote client would connect to.

What changed

The README describes the shape precisely. The site serves a playground at the root with tool schemas, resource and prompt inspectors and a connection guide. The protocol endpoint lives at two paths, and the documentation is explicit that a GET there returns 405 after authentication because the server offers no standalone event stream, only stateless request and response.

The tool surface is deliberately harmless:

  • Twelve read-only tools. Two render interactive UI through the MCP Apps bridge; the other ten return structured data for catalogue search, schema validation, context budgeting, workflow planning, resource discovery, security review, estimates, examples and templates.
  • Eight concrete resources and three URI templates, so a client can list, complete template variables, read resolved resources and follow resource links returned by tools.
  • Three prompts covering tool design, server audit and planning an MCP App.
  • Five dashboard templates for analytics, commerce, logistics, healthcare and fintech, each with its own navigation model and light or dark treatment rather than one layout reskinned five times.

The tools are deterministic, schema-validated and need no API key, and the README says so plainly: the calculator inputs are assumptions, not provider pricing or benchmark measurements. The browser playground does not call a language model and does not pretend to be one. Later commits on September 17 and 18 redesigned the template gallery, expanded the protocol reference surface, added a persistent dark mode and wired the protected endpoint to Cognitum authentication.

Get started

Prerequisites, from the README: Node.js 22.13 or later, and the pnpm version declared in the project manifest. Clone the repository first, then the documented sequence is:

pnpm install
node scripts/build-widget.mjs
pnpm dev

Expected result: a local playground you can open in a browser, listing the tool schemas and letting you call each tool against the same server the site uses.

The repository ships its own protocol check, which is the fastest way to confirm a clean clone is sound:

node scripts/test-mcp.mjs

Expected result, as documented: thirty protocol and security assertions pass across the twelve tools, eight resources, three templates, completion, prompts, UI resources, malformed input, payload limits and cross-origin handling.

For a remote client, the README documents connecting to the protocol endpoint and authenticating through the Cognitum authorisation service. There is no published npm package and no hosted public demo for this project; the documented route is to run your own copy.

These commands are quoted from the README at the pinned head. They were not executed here, because doing so would install dependencies and start a server.

Use it today

Practical case: you want a plugin that answers questions from your own catalogue. Input is your catalogue data. The workflow is to edit the catalogue module for tools, resources, templates and prompts, put validated handlers in the server module, rebuild the widget, then connect a client. Output is a protocol server your assistant can list and call.

Reader acceptance test: the README states one end to end. Connect a reachable endpoint, read the manifest resource, then ask the calculator for 2000 requests at 0.002 per request and 250 milliseconds each. The documented expected answer is 4.00 and 500.0 seconds. If you get different numbers, your client is not talking to the server you think it is.

Push it further

Experimental commentary. The part worth stealing is not the dashboards, it is the discipline: one catalogue module feeds the website, the tools and the embedded UI, so the three cannot drift into describing different products. That is a pattern most plugin projects rediscover the hard way.

Limitation, stated by the project itself: there is no persistent user state, no external action, no API key and no paid inference, and read-only annotations inform the host rather than authorising anything. Before this becomes anything but a demo you need per-user authorisation, durable storage, distributed rate limits and an audit trail. Depends on Node 22.13 and the pinned pnpm version. Falsifiable test: send a malformed request or a body over the documented 32 KiB cap and confirm it is rejected rather than truncated.

Read the original on GitHub commit

Commit 1de79b28e679ea39937df54586cc9bdcffdf4cdc — integrate Cognitum OAuth for MCP (repository head on 2026-09-21)

MCP Studio repository

Back to the newsroom