About artsonia-mcp
artsonia-mcp is an MCP server for Claude that lets parents and fans access Artsonia student-art portfolios and related interactions. It provides guarded artwork downloads and confirmation flows for comments and fan invitations.
Key features
- 01Access student portfolios
- 02Download images to allowed folders
- 03Confirm comments before posting
- 04Confirm fan invitations
- 05Manage notifications and read feedback
Use cases
- 01View a student's artwork
- 02Save artwork images in an approved folder
- 03Post a comment after confirmation
- 04Invite a fan after confirmation
MCP support
As an MCP server, it provides Claude with operations for Artsonia portfolios and interactions. Comments and fan invitations require confirmation, using a two-step flow when the client cannot display prompts.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y artsonia-mcpARTSONIA_USERNAMEYour Artsonia login email address. Required in the default direct mode; not needed when ARTSONIA_TRANSPORT=fetchproxy (the signed-in browser tab carries the session).ARTSONIA_PASSWORDSecretYour Artsonia account password. Required in the default direct mode; not needed when ARTSONIA_TRANSPORT=fetchproxy.ARTSONIA_SESSION_CACHESet to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.ARTSONIA_SESSION_FILEAbsolute path for the session cache file. Defaults to $MCP_DATA_DIR/.artsonia-mcp/session-<user>.json.ARTSONIA_OUTPUT_DIRFolders artsonia_download_artwork may save into (a path-delimiter list: ':' on macOS/Linux, ';' on Windows). Unset: ~/Downloads and ~/Pictures, or $MCP_DATA_DIR/downloads when MCP_DATA_DIR is set. Any other dest is refused.ARTSONIA_TRANSPORTfetch (default) logs in directly with ARTSONIA_USERNAME/ARTSONIA_PASSWORD; fetchproxy is the optional fallback that rides your signed-in artsonia.com browser tab.ARTSONIA_WS_PORTfetchproxy WebSocket port override (default 37149, a shared fleet port). Only used when ARTSONIA_TRANSPORT=fetchproxy.ARTSONIA_INLINE_DOWNLOADS1/true/yes/on returns artsonia_download_artwork images inline as base64 image blocks instead of writing them to disk (for hosted deployments); unset/false saves to disk.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
15Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project READMEartsonia-mcp
Artsonia MCP server for Claude — developed and maintained by AI (Claude Code)
Download folders
artsonia_download_artwork saves images only inside an allowed folder; any other dest is refused before anything is fetched or written, and no file is ever written through a symlink.
| variable | default | |
|---|---|---|
ARTSONIA_OUTPUT_DIR | ~/Downloads and ~/Pictures | The folders dest must be inside (subfolders are fine and are created). Several folders: separate them with : (; on Windows). On a hosted server (MCP_DATA_DIR set) the default is $MCP_DATA_DIR/downloads instead. With ARTSONIA_INLINE_DOWNLOADS=1 nothing is written to disk, so dest is only a label and is not checked. |
Confirmations
The writes that reach other people — posting a comment and inviting a fan — ask you to confirm them first. Changing your notification settings, marking feedback read, and downloading artwork into your allowed download folders run straight away. A client that can show a confirmation prompt (Claude Code) shows one. A client that cannot (claude.ai, Claude Desktop) gets a two-step flow instead: the first call changes nothing and returns a preview of exactly what would be sent plus a confirmToken; only a second, identical call carrying that token goes ahead. The token is single-use, expires, and is refused if anything changed between the two calls.
| variable | default | |
|---|---|---|
MCP_CONFIRM_MODE | ask-user | What a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). ask-user: two steps — the first call does nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. auto: the same two steps, but the model may use the token after reviewing the preview itself. refuse: writes are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt, unless MCP_CONFIRM_ELICITATION=off. An unrecognised value is treated as refuse. |
MCP_CONFIRM_ELICITATION | on | off never shows a confirmation prompt, so every client gets the MCP_CONFIRM_MODE path. Set it for a client that claims to support prompts but never shows one (the write hangs — opencode 2.0.x). Any other value stays on, with a warning on stderr. |
MCP_CONFIRM_TTL_SECONDS | 600 | How long a token stays valid. |
MCP_CONFIRM_SECRET | random per process | Signing key; set it only if tokens must survive a server restart. |
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.