photon-mcp-apps.md

Photon MCP Apps

MCP App · UI in chat
from"portel-dev"
100

Portel maintains Photon, a TypeScript framework that derives an MCP server, CLI and human-facing Beam interface from one typed capability. Adding an @ui asset also advertises a ui:// resource so the same component can render as an embedded app in compatible chat hosts.

Not for: A ready-made business application. Photon is a developer framework that executes trusted TypeScript capability code; you define, review and operate the actual tools and their authorization.

Source and setup verified on 2026-11-05

Developer Tools
TypeScriptframeworkcode generationembedded UI

Quick facts

Maintainer
Portel (official Photon project)
npm package
@portel/photon 1.38.1
Runtime
Node.js 20+ and Bun 1.0+
UI declaration
@ui asset on a Photon class or method
UI evidence
Generated ui:// resource rendered in Claude and ChatGPT

What you can do

  • Derive MCP tools from TypeScript methods and types
  • Generate CLI commands and the Beam web interface
  • Attach custom HTML or web-component UI with @ui
  • Expose local stdio MCP or a public HTTPS /mcp endpoint
  • Add schedules, webhooks, retries, state and audit history

Requirements

  • Node.js 20 or later
  • Bun 1.0 or later for the documented global install
  • A reviewed .photon.ts capability file
  • An MCP Apps-compatible host for embedded UI
setup.md
# 1. Install Photon
$bun add -g @portel/photon
# 2. Create a capability
$photon new my-tool
# 3. Add an embedded view

Create the UI asset and reference it with @ui in the Photon source.

# 4. Register it with Claude Desktop
$photon mcp install my-tool
# Photon CLI
bun add -g @portel/photon
photon new my-tool
photon mcp install my-tool

Restart Claude Desktop after installation. The generated Photon file can live in the project directory or ~/.photon/.

Always confirm the latest setup instructions with the maintainer before installing.

>Questions

Is Photon itself an MCP App?

Photon is a framework that serves generated MCP servers. A Photon with @ui advertises an embedded app resource linked to its tool result.

Do I need to write separate MCP and web implementations?

No. Photon derives MCP, CLI and Beam interfaces from the same typed TypeScript method; @ui adds the custom embedded surface.

Can ChatGPT use a local stdio Photon?

ChatGPT developer mode needs a public HTTPS /mcp endpoint. Claude Desktop can run the documented local stdio installation.