MCP Server
Valet runs its own MCP server. Point any MCP client at it and that tool can publish artifacts, apps, and agents, list them, change who can see them, and take them down — without a terminal, an install, or an account.
https://api.valet.dev/mcpThis is the path for the tools where the Valet CLI cannot run: Claude Cowork sandboxes outbound traffic, and claude.ai, ChatGPT, and mobile have no shell at all. A remote MCP connector is dialed from the vendor's cloud rather than from the sandbox, so it reaches Valet where the CLI does not.
Use the CLI when you can
If your tool can run commands — Claude Code, Codex, Cursor — install the Valet skill instead. It is the fuller surface: it publishes whole directories from disk, downloads an artifact to edit and redeploy it from anywhere, sets password access, and manages agents, integrations, channels, and members. The MCP server publishes the files a tool hands it and does the work listed below. Reach for it when the CLI is not an option, not before.
Add it to your tool
Connect Your Agent covers every client in one place, including the ones that install the skills instead. The connector steps are repeated here for reference.
Claude Cowork and claude.ai
Settings → Connectors → Add custom connector. Paste the URL and connect. Claude registers itself, so there is no client ID or secret to create.
ChatGPT
Custom connectors sit behind developer mode. Settings → Connectors → Advanced → turn on Developer mode. Then add a custom connector and paste the same URL. Developer mode needs a paid plan — Plus, Pro, Business, Enterprise, or Edu. Free accounts cannot add custom connectors.
Claude Code
Available, though the skill is the better fit here — see above.
claude mcp add --transport http valet https://api.valet.dev/mcpAnything else
The server speaks Streamable HTTP and advertises its own authorization metadata, so a client that implements MCP needs nothing but the URL.
Signing in is optional
The server has three modes, and a client picks one by what it presents.
- Nothing at all. Publishing works with no account. The artifact is public to anyone with the link and is removed 36 hours after it is created. The result carries a claim URL that makes it permanent, and a handle the tool reuses to update or take down that one artifact later in the conversation.
- Signed in. Connect the account when your client offers it and artifacts publish into your organization: permanent, private on creation, and visible in the dashboard beside everything else your team has shared. Authorization uses OAuth with dynamic client registration, which is why no setup is asked of you.
- More than one organization. Every tool takes an optional organization name. Without one, Valet uses the organization you joined first.
What it can do
Fifty-four tools cover the lifecycle of what you publish: create it, read it back, change who can reach it, and take it down. Everything except the anonymous modes above needs a signed-in account.
Publish
publish_site— Create an artifact or replace its contents. Works signed in or not.publish_app— Publish an app that Valet builds from a Procfile and runs behind a URL.publish_agent— Create an agent from a SOUL.md and a valet.yaml, or replace its source.publish_skill— Create or replace an organization skill from a SKILL.md and optional files.claim_site— Move an anonymous artifact into your organization and make it permanent.
Read
list_services— List every site, app, and agent your organization has published.get_service— Read one service: its URL, who can reach it, and the details for its kind.get_source— Read the files of a published site, app, or agent.list_releases— List an app's or agent's releases and which one is live.get_build— Follow an app build: its state, log, and resulting release.get_logs— Read an app's or agent's recent log lines.list_orgs— List your organizations, their members, and pending invitations.
Manage
rename_service— Rename a site, app, or agent and move its URL.set_service_access— Set a site or app to public, private, or password.share_service— Email up to ten people a link that opens a site without a Valet account.unshare_service— Revoke the share links emailed to people for a site.scale_service— Set how many processes an app runs, or pause or resume an agent.restart_service— Restart an app's or agent's processes.destroy_service— Permanently take a site, app, or agent down. An app's resources are kept.
Environment variables
set_env_vars— Set environment variables on an app or agent.list_env_vars— List the variables a service receives. Secret values are never shown.unset_env_vars— Remove variables from an app or agent.
Resources
list_catalog_resources— List the resource providers, such as PostgreSQL, an app can attach from.list_resources— List the organization's resources and the apps that hold each.attach_resource— Give an app a database or another resource, provisioning it when needed.detach_resource— Remove a resource from an app. The resource is kept.destroy_resource— Delete a resource and its data once no app holds it.
Connectors
list_catalog_connectors— List the connectors Valet curates and how each one's credential arrives.create_connector— Create an organization connector from a catalog entry.list_connectors— List the organization's connectors and which a given service can hold.get_connector— Read one connector: its credential state and who holds it.attach_connector— Let a site or agent use an organization connector.detach_connector— End a site's or agent's use of an organization connector; the connector stays.reauthorize_connector— Get the address that renews a connector's authorization.destroy_connector— Delete a connector and its stored credential once nothing holds it.list_connector_tools— List a site's attached connectors and their live tools.call_connector— Run one tool on a connector a site holds and return its answer verbatim.
Skills
get_skill— Read a skill, or one of its files: your organization's guidance, starting with governance and design-system.list_skills— List the organization's skills and when each applies.attach_skill— Give an agent a skill.detach_skill— Remove a skill from an agent.
Channels
list_catalog_channels— List the channel kinds an agent can have and what each needs.list_channels— List the organization's channels, or one agent's.create_channel— Create a cron, heartbeat, webhook, or mcp channel on an agent.attach_channel— Bind an organization channel to an agent.detach_channel— Unbind an organization channel from an agent; the channel stays.reauthorize_channel— Find the step that renews a Slack or Telegram channel's authorization.destroy_channel— Delete a channel and its routes.
Sessions and memories
list_sessions— List an agent's conversation sessions.get_session— Read one session and, on request, its transcript.destroy_session— Delete a session.list_memories— List an agent's durable memories.set_memory— Write one durable memory under a key.destroy_memory— Delete one memory.
Folder uploads from disk and binary files such as images and video stay with the CLI. The tool list grows at this one address rather than at a second connector, so a client that has connected once picks up what comes next.
Not the same as an agent's MCP server
An agent you build can expose its own tools over MCP, at its own endpoint — that is an MCP channel, and calling it spends an agent turn. This server is the Valet platform itself, and its tools are ordinary API calls that return in under a second. The two hold separate credentials: a token for one is refused by the other.