Photon CLI

Photon turns one TypeScript file into an MCP server, a CLI and a Beam web UI, adding schedules and audit as it grows.

  • 100 ★ on the repository
  • Last commit
  • MIT
CLI

Extended access

Why this level

  • Schedules, webhooks and web routes run your tool code with no human involved.
All reasons and checks

portel-dev/photon

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/photon

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Schedules, webhooks and web routes run your tool code with no human involved.

This is third-party code. Review the repository files before installing.

What it does

Photon takes a small verified TypeScript method and derives all the interfaces around it. One capability becomes an MCP server for Claude, ChatGPT and Cursor, an embedded UI for clients with MCP apps, a CLI for scripts and a Beam web interface for people. When the capability grows into a workflow, web routes, schedules, webhooks, retries, state and an audit history are added. Getting started takes two minutes: `photon new my-tool` creates a starter, `photon` opens Beam and `photon mcp install my-tool` connects the same capability to Claude Desktop or another MCP client. Installation goes through `bun add -g @portel/photon`, and `photon mcp hello` starts a server for Claude and Cursor.

Who it is for. Developers who write their own agent tools in TypeScript and want MCP, a CLI and an interface from one file.

Good fit when

  • You need your own MCP server for Claude and Cursor without a separate project template.
  • One function has to run both from the command line and from chat.
  • An agent tool needs a schedule, webhooks and an audit log.
  • Colleagues need a web interface to a tool that already works as MCP.

Not a fit when

  • You need a ready MCP server for a third-party service and no code has to be written.
  • The project is not written in TypeScript.
  • You need a fully stable and unchanging API version.

Example request

Create a photon tool that fetches the weather for a city and connect it to Claude Desktop as an MCP server.

Limitations

Photon requires Node.js or Bun and fits tools written in TypeScript. It derives interfaces from a method description, so the quality of the MCP tool depends on how you described parameters and the contract. Schedules, webhooks and web routes extend what your code can do, so restrict their permissions and check request content. Embedded apps work only in clients that support MCP app resources.

How to disable. Remove the package with `bun remove -g @portel/photon` and the server entry from the MCP client settings. Tool files you created stay in the project.

FAQ

Where do I start?

`bun add -g @portel/photon`, then `photon new my-tool` and `photon` to open the Beam interface.

How do I connect it to Claude?

With `photon mcp install my-tool`, which adds the capability to Claude Desktop or another MCP client.

What is Beam?

A web interface for people that Photon builds from the capability description.

Is Photon free?

Yes, it is an open project under the MIT license.

Which clients are supported?

Claude, ChatGPT, Cursor and other MCP clients, and embedded interfaces work in clients with MCP apps.

Discussion

No questions or reviews yet.

CLI tools

A CLI creates a TypeScript MCP server scaffold, adds components and checks schema descriptions before client connection

CLIExtended access931Repository stars

A CLI and TypeScript runtime for calling MCP servers from a terminal, scripts and generated typed clients

CLIExtended access5.1KRepository stars

A plugin with skills for building TypeScript MCP servers and MCP apps: the agent scaffolds, edits, debugs and verifies them

PluginExtended access10.9KRepository stars

An MCP server that builds a code graph once and serves the answer to the agent instead of re-reading files

MCP serverExtended access204Repository stars

A transparent proxy between an AI client and an MCP server: shows every JSON-RPC frame in the terminal, checks a capture in CI and exports spans

CLIBroad access368Repository stars

A terminal and browser client opens a chat between an Anthropic model and any MCP server so its tools can be tested.

CLIExtended access139Repository stars

README in short

The description presents Photon as a way to derive the whole agent stack from one capability: MCP, UI, CLI and Beam. A quick start, a description of surfaces and links to documentation follow.

README badge

Report a problem