Allows an AI assistant to read, build, and manage visual moodboards, shot lists, and lookbooks.
Also known as arconkli/soleilpictures, clusters, soleil-clusters-mcp
- Stars
- 0
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 3.2.0
- Last commit
- Nov 15, 2026
- License
- —
What is Soleil Clusters MCP?
Soleil Clusters allows an AI assistant to read, build, and manage visual moodboards, shot lists, and lookbooks.
Summary generated from the project's README
About Soleil Clusters MCP server
Soleil Clusters provides an interface for AI assistants to manage visual assets like moodboards, shot lists, and lookbooks. Users can connect via a hosted URL using OAuth for a browser-based login, or run a local version via npx to utilize the upload_file tool for large media files stored on a hard drive. This server works with clients such as Claude, ChatGPT, Cursor, VS Code, and Windsurf.
The system includes 31 tools that allow for searching, fetching, reading, writing, and exporting boards. It supports bulk operations for cards, layout adjustments like masonry or justified rows, and managing comments or tags. Developers can control access through three specific scopes: read, write, and delete, ensuring an agent can build content without having the permission to destroy it. For those without an account, the server allows for creating draft clusters that can be saved via a specific link.
What you can do with it
- 1Create visual moodboardsAsk the assistant to generate a moodboard based on a specific creative brief.
- 2Organize visual boardsInstruct the AI to rearrange or structure the layout of an existing board.
- 3Write creative treatmentsHave the AI generate a written treatment based on the contents of a visual board.
Written from the project's README. Every use case is checked against a quote from it.
How to install Soleil Clusters MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Soleil Clusters MCP in Claude Code
$ claude mcp add --env 'SOLEIL_API_TOKEN=<YOUR_SOLEIL_API_TOKEN>' clusters -- npx -y soleil-clusters-mcpInstall Soleil Clusters MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"clusters": {
"command": "npx",
"args": [
"-y",
"soleil-clusters-mcp"
],
"env": {
"SOLEIL_API_TOKEN": "<YOUR_SOLEIL_API_TOKEN>"
}
}
}
}Install Soleil Clusters MCP in VS Code
.vscode/mcp.json
{
"servers": {
"clusters": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"soleil-clusters-mcp"
],
"env": {
"SOLEIL_API_TOKEN": "<YOUR_SOLEIL_API_TOKEN>"
}
}
}
}Install Soleil Clusters MCP in VS Code CLI
$ code --add-mcp '{"name":"clusters","type":"stdio","command":"npx","args":["-y","soleil-clusters-mcp"],"env":{"SOLEIL_API_TOKEN":"<YOUR_SOLEIL_API_TOKEN>"}}'Install Soleil Clusters MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"clusters": {
"command": "npx",
"args": [
"-y",
"soleil-clusters-mcp"
],
"env": {
"SOLEIL_API_TOKEN": "<YOUR_SOLEIL_API_TOKEN>"
}
}
}
}Install Soleil Clusters MCP in Codex
$ codex mcp add clusters --env 'SOLEIL_API_TOKEN=<YOUR_SOLEIL_API_TOKEN>' -- npx -y soleil-clusters-mcpInstall Soleil Clusters MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.clusters] command = "npx" args = ["-y", "soleil-clusters-mcp"] [mcp_servers.clusters.env] SOLEIL_API_TOKEN = "<YOUR_SOLEIL_API_TOKEN>"
Install Soleil Clusters MCP in Gemini CLI
$ gemini mcp add -s user -e 'SOLEIL_API_TOKEN=<YOUR_SOLEIL_API_TOKEN>' clusters npx -- -y soleil-clusters-mcpInstall Soleil Clusters MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"clusters": {
"command": "npx",
"args": [
"-y",
"soleil-clusters-mcp"
],
"env": {
"SOLEIL_API_TOKEN": "<YOUR_SOLEIL_API_TOKEN>"
}
}
}
}Configuration
SOLEIL_API_TOKENSecretA personal access token from Settings → API. Optional: leave it unset and run `npx soleil-clusters-mcp login` instead, which signs you in through the browser and stores the credential itself.
SOLEIL_API_BASEOverride the host. Only needed against a preview deployment.
| Name | Description | |
|---|---|---|
| SOLEIL_API_TOKEN | A personal access token from Settings → API. Optional: leave it unset and run `npx soleil-clusters-mcp login` instead, which signs you in through the browser and stores the credential itself. | Secret |
| SOLEIL_API_BASE | Override the host. Only needed against a preview deployment. |
Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work · What to fix for more points
- Source repository linked and reachablearconkli/soleilpictures is public and reachablegithub.com/arconkli/soleilpictures ↗Pass
- Package names this repository as its sourcesoleil-clusters-mcp names arconkli/soleilpictures as sourcenpmjs.com/package/soleil-clusters-mcp ↗Pass
- Build provenance (Sigstore attestation)No build attestation published for this releaseNot checked
- Open source license (OSI)No licenseFinding
- Commit or release in the last yearLast commit or release 2026-11-10github.com/arconkli/soleilpictures ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from soleil-clusters-mcpPass
- No critical advisory in the package or its dependencies1 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeHTTPS endpoint answered 401 (sign-in required)Pass
README
View on GitHubsoleil-clusters-mcp
MCP server for Soleil Clusters — read and build visual boards from Claude, or any Model Context Protocol client.
Connect it
The hosted server is a URL, and it signs you in by itself:
https://clusters.soleilpictures.com/api/v1/mcp
No token. The first call comes back 401 with a pointer to the OAuth metadata;
your client registers itself, opens a browser, and you approve the connection on
one screen. If you do not have an account yet you get one there.
- Claude (claude.ai or the desktop app): Settings, Connectors, add a custom connector, paste the URL.
- ChatGPT: Settings, Apps, Advanced settings, turn on developer mode; then create an app and paste the URL.
- Claude Code:
claude mcp add --transport http soleil-clusters https://clusters.soleilpictures.com/api/v1/mcp - Cursor: Add to Cursor
- VS Code: Add to VS Code
- Windsurf and any other client that takes a remote server: add this to its
MCP config (Windsurf calls the URL field
serverUrl).
{
"mcpServers": {
"soleil-clusters": {
"type": "http",
"url": "https://clusters.soleilpictures.com/api/v1/mcp"
}
}
}
No account
https://clusters.soleilpictures.com/mcp works with no account. Anyone can try
it from Claude or ChatGPT: the assistant builds a draft cluster, and you keep it
with the keep link it hands back (an email address and a code). Signed in, the
same URL works as your account.
Local, for files on your machine
Install this package only for the one tool the hosted server cannot offer:
upload_file, which reads a file from your own disk — including large media
that will not fit through an assistant's message.
npx soleil-clusters-mcp login
{
"mcpServers": {
"soleil-clusters": {
"command": "npx",
"args": ["-y", "soleil-clusters-mcp"]
}
}
}
login runs the same OAuth flow from your terminal: it opens a browser, catches
the callback on a loopback port, and stores the credential in
~/.config/soleil-clusters/credentials.json (mode 600). It refreshes itself
after that. npx soleil-clusters-mcp logout removes it.
Prefer a token? SOLEIL_API_TOKEN still works and takes precedence — mint one
under Settings → Connections. SOLEIL_API_BASE overrides the host.
What it can do
31 tools: search and fetch, read, write and export boards and docs, look at a whole board or the images on it, show a board to you as it is laid out (drawn in the chat where the app can draw it), create and change boards and cards in bulk, lay a board out as justified rows or masonry, share it by link, read, add and resolve comments, list tags and tag cards, import from URLs, attach identifiers from other systems, move and delete things, and read the audit log. Five prompts: make a moodboard from a brief, review a board, organise one, write a treatment from one, and plan an import.
Version 3.0 folded fifteen tools into others (get_board into read_board, update_card into
update_cards, and so on). Calling an old name says which tool does it now.
Full reference, limits and per-app steps: https://clusters.soleilpictures.com/docs/mcp
Permissions
This server holds no credentials of its own and implements no permissions. It forwards your token, and the API resolves it to your own session — so an agent reaches exactly what your account reaches, and the database refuses anything else.
Three scopes: read, write, delete. Deleting is separate from writing on
purpose, so an agent can be allowed to build without being allowed to destroy.
login asks for read write and never for delete.
Whatever you connect is listed under Settings → Connections → Connected apps, with what it has done and a button to disconnect it.
Development
src/tools.js and src/server.js are generated from
boards/src/lib/mcpTools.js and boards/src/lib/mcpServer.js, which the hosted
server also uses. Edit those, then:
npm run sync
A test in boards/ fails if either copy is stale, so the two transports cannot
drift apart.
Publishing
server.json describes this server for the
MCP Registry. Its name and the
mcpName in package.json must match, and the com.soleilpictures namespace
comes from a DNS TXT record on the apex of soleilpictures.com.
npm publish --access public
mcp-publisher login dns --domain soleilpictures.com --private-key <hex>
mcp-publisher publish
Soleil Clusters MCP questions
How do I add Soleil Clusters MCP to Claude Code?
Run claude mcp add --env 'SOLEIL_API_TOKEN=<YOUR_SOLEIL_API_TOKEN>' clusters -- npx -y soleil-clusters-mcp in your terminal. Add --scope user to make it available in every project.
How do I add Soleil Clusters MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
Can I use it without an account?
Yes, anyone can try it without an account; the assistant builds a draft cluster and you can save it using a provided keep link.
How can I upload files from my local machine?
To upload local files, install the local package via npx and use the login command to authenticate.
What permissions does the server have?
The server forwards your token to the API, which uses your account's permissions. There are three scopes: read, write, and delete.