Claude Plugin & MCP

Deploy and manage your services from Claude Code, Codex, Cursor or any other MCP client.

The Lucity plugin for Claude Code(opens in a new tab) lets you deploy a project by asking for it, then keep working on it in the same conversation: reading logs, changing variables, rolling back. It contains a deploy skill that walks Claude through taking a local project to a running deployment, and the Lucity MCP server that gives Claude the tools to do it, from creating projects to reading logs. The server is part of the CLI and runs on your machine.

Install

The plugin runs its MCP server through the Lucity CLI, so install the CLI and sign in with lucity login first. Then add the Lucity repository as a plugin marketplace and install the plugin from it:

claude plugin marketplace add zeitlos/lucity
claude plugin install lucity@lucity

Either way, the plugin is installed for your user, so it is available in every project, and in the desktop app and VS Code on the same machine as well. Claude Code starts the MCP server when a session begins, so run /reload-plugins in a session that was already open, or start a new one.

To check that it works, ask Claude which Lucity workspace you are in. If it has no Lucity tools, Claude Code most likely couldn't find the lucity command when the session started, so check that lucity version works in a new terminal and start a new session. If Claude says you are not signed in or your session has expired, run lucity login in a terminal and ask it to try again.

Update

The MCP server is part of the CLI, so it updates when you update the CLI. Claude Code starts the server once per session, so the new version takes over in your next session.

The plugin itself doesn't update on its own, because Claude Code leaves automatic updates off for third-party marketplaces. Update it by hand:

claude plugin marketplace update lucity
claude plugin update lucity@lucity

To have it update automatically instead, open /plugin in a terminal session, go to Marketplaces, select lucity and choose Enable auto-update. Either way, the new version loads in your next session, or straight away with /reload-plugins.

The deploy skill

Open Claude Code in your project and ask it to deploy, in your own words ("deploy this to Lucity", "put this online") or with /lucity:deploy. The skill then takes Claude through the whole deployment:

  • It works out what the code consists of: a single app, a monorepo, a frontend and an API, or a web process and a worker.
  • It creates the project and its services, provisions the PostgreSQL databases, key-value stores and buckets the code uses, and connects them with dynamic variables.
  • It deploys, and when a build or rollout fails, it reads the logs, fixes the configuration and tries again, up to three times.
  • It finishes with the URL and a summary of everything it set up, and why.

It asks you before it creates paid resources, and for anything it can't find out on its own, such as API keys for other services, data to import, or which repositories belong together. It doesn't edit your code to get a deploy through. When a fix needs a code change, for example because the app ignores the PORT variable, it proposes the change and leaves it to you.

After the first deploy, keep going in the same conversation. Ask why a service keeps crashing, to give it more memory, to add a domain, or to roll back to the previous deployment.

What Claude can see

Claude can't read your secrets. The MCP server never returns the values of variables, or the credentials of databases, key-value stores and buckets. Claude can still check whether a variable holds the value it expects, and have the server generate secrets for your app that it never sees.

Keys for other services have to come from you, so add them in the dashboard, in the service's Variables tab, instead of pasting them into the chat.

The server also masks runtime logs as well as it can before Claude sees them. Every variable value and credential it knows about is replaced with [redacted:<name>]. Secrets that aren't stored in Lucity and values shorter than 8 characters get through, and build logs aren't masked.

This only covers what the MCP server returns. If Claude reads a .env file or runs a command that prints secrets, such as lucity vars list, it sees them like anything else it reads.

Codex, Cursor and other agents

The MCP server isn't tied to Claude Code. Any agent that can start a local MCP server can use it, with lucity mcp as the command. You get the same tools and the same protection of secrets, just without the deploy skill.

codex mcp add lucity -- lucity mcp

The Codex CLI, IDE extension and desktop app share this setting.

Other agents, like Zed or opencode, take the same command in their own settings. If one can't find lucity, give it the full path that which lucity prints.

Next steps

  • CLI for the commands the MCP server comes with
  • Variables for the dynamic variables that connect your resources
  • Deployments for what happens after Claude deploys