How to disable MCP

Edit: Moved the personal views to my blog because this post got flagged as inappropriate.

PenPot 2.15.0 dropped. If you want to upgrade your self-hosted PenPot instance, the Frontend won’t come up. (I’m not using docker-compose but rootless Podman with SystemD files).

That’s because the host „penpot-mcp" is not found in upstream of NginX.

What’s needed is an update of the environment variable „PENPOT_FLAGS" to contain „disable-mcp" as well as „PENPOT_MCP_URI" to point to something like „http://127.0.0.1". (Note that there is another environment variable in the thread below for 2.15.2).

The help page is useless without a Frontend:

I eventually figured it out by reading the (I think is) offending PR:

4 Likes

The same problem with self-hosted penpot with docker and my .yaml.
penpot-frontend was restarting.

It works. Thanks!

1 Like

You’re welcome.

Update: Starting with 2.15.2 another environment variable is required: PENPOT_MCP_URI_WS (for WebSocket communication).

PENPOT_MCP_URI_WS: https://127.0.0.1 works perfectly!

Nothing works on my end : where do you put that env variable exactly ? Under the frontend or the backend ? Can’t penpot just interpret the lack of MCP-related env variables as “don’t enable that feature” ? What a pain…

1 Like

Perhaps we should have the discussion, if MCP is unsafe for agents, how might those interfaces be shored up for all of us? It seems we are mixing more than one concern here. I see three and suspect there may be more:

  1. The MCP feature contribution caused issues with self-install
  2. MCP is not feature flagged (is this actually true though?)
  3. Interfaces that the MCP feature accessed may not be safe (this requires verification)

What else am i missing? The linked blog post is aggressive. While i sympathise, we have more than one user’s needs to consider here.

where do you put that env variable exactly ?

In the container definition for penpot-frontend. It was the only container not coming back online.

Can’t penpot just interpret the lack of MCP-related env variables as “don’t enable that feature” ?

That would be ideal. Or have a default value in case it isn’t defined. At the very least I would have preferred to find a note in the release notes / CHANGES.md. It mentions that this service was added („MCP server integration") but not that it could have an impact on the configuration.

What a pain…

The first version of this thread OP got unlisted because I felt pain …

@milieu Would you mind to break out your questions into a new thread?

1 Like

I hope this change will solve the problem.

How would it? I mean, you’re telling the Frontend to wait for MCP, whereas the question here is how to get PenPot operating without running a MCP server.

I understand what you’re saying @Ryuno-Ki; the PR simply ensures that the default implementation provided by the docker-compose.yml file in the repository doesn’t throw any errors.

Your proposal is to completely disable the MCP.

1 Like

I have a new proposal.

I can get behind this one. Thank you.

1 Like

It will be available in the upcoming 2.15.4 release

1 Like