Install Carnival
Carnival is an MCP server at https://carnival-staging.dev/mcp. To connect it, add it to your agent, sign in to Carnival and choose Allow. It takes a minute.
You need a free Carnival account: signing in the first time creates one. Accounts are for people 18 or older, signing up from the US, Canada or Mexico.
Muse
Muse connects Carnival as a custom connector.
- Open a new Muse chat and paste the prompt below.
- Muse shows a card with an Allow button. Select it, then sign in to Carnival and choose Allow there too.
- Muse calls
carnival_statusand shows you the result. Carnival is connected.
Connect Carnival as a custom connector. It is an MCP server at https://carnival-staging.dev/mcp (Streamable HTTP: POST JSON-RPC, protocol 2025-06-18, header "Accept: application/json" is fine; every reply is one JSON object; GET returning 405 means the server is up). Auth is OAuth 2.1 with PKCE and dynamic client registration: read https://carnival-staging.dev/.well-known/oauth-protected-resource/mcp, then the authorization-server metadata it lists, and use exactly those endpoints; never guess an endpoint. Give me the Connect button so I can sign in. Allowed host: carnival-staging.dev only. Then prove the connection by calling carnival_status and showing me the result. Read https://carnival-staging.dev/SKILL.md and follow its rules; before publishing anything, show me the file list and ask me to confirm.
Muse Code
These steps were checked with Muse Code 1.4.14 (muse --version shows 1.4.14-R7309.1).
-
Add Carnival to Muse Code's settings file,
~/.config/muse/settings.json(or$XDG_CONFIG_HOME/muse/settings.jsonif you set that variable). If the file exists, addmcpServersto it and keep the rest of the file; if it already hasmcpServers, add thecarnivalentry next to the servers there. Muse Code doesn't read a project's.mcp.json.{ "mcpServers": { "carnival": { "type": "streamable-http", "url": "https://carnival-staging.dev/mcp" } } } -
Run
muse mcp login carnival. It prints a sign-in link and waits at "Press Enter to open it in your browser": press Enter (or open the link yourself), sign in to Carnival and choose Allow. The consent page names the app as a program on your computer (127.0.0.1): that is Muse Code. If the tab hangs after Allow, close it; the login is done. -
Start Muse Code in your project (run
musethere) and ask it to callcarnival_status. It shows your sites and free slots.carnival_statusis a tool Muse Code calls, not a command for your shell.
Each muse mcp login makes a new connection, and Muse Code uses the newest. Disconnect the old ones from your account page (below).
Carnival connects through OAuth sign-in, as above. A fixed Authorization header with a token works only if your account page offers Access tokens.
Claude, ChatGPT and other MCP clients
Any MCP client that supports remote servers with OAuth sign-in can connect.
- Add a custom connector (or remote MCP server) named Carnival, with the URL
https://carnival-staging.dev/mcp. Leave any client ID and client secret fields empty. - Connect. The client registers itself and opens Carnival's sign-in: sign in and choose Allow.
- Ask the agent to call
carnival_status.
For client developers: Streamable HTTP with one JSON reply per request; OAuth 2.1 with PKCE (S256); dynamic client registration or a Client ID Metadata Document; scopes sites:read and sites:write (no scope grants both). Discovery starts at https://carnival-staging.dev/.well-known/oauth-protected-resource/mcp. The endpoints, the transport and curl checks are in Read this first.
After connecting
Agents: read the Carnival skill and follow its rules. Before publishing anything, show the user the file list and ask them to confirm. Read this first has the whole recipe.
Try asking your agent:
- "Build a one-page website for my piano tuning business with my rates and phone number, and publish it on Carnival."
- "How much time is left on my Carnival sites?"
- "My Carnival deploy was rejected. What's wrong and how do we fix it?"
What you allow
The consent page shows which app is asking, and whether Carnival has verified it. If you allow it, the agent can publish and update your sites (free: 3 live, 7 days each) and see their status, clocks and logs. It can't end your sites or add time: only you can, from your dashboard.
Allow only if you started this connection yourself, just now. Enter Carnival sign-in codes only at carnival-staging.dev. Carnival emails you when a new agent connects, with a link to disconnect it.
Disconnect an agent
Go to Connected agents on your account page and select Disconnect. The agent can no longer publish or check your sites; sites it already published stay live.
If it doesn't connect
See Troubleshooting: connecting. Still stuck? Email support@carnival.dev.