io.github.chrischall/artsonia-mcp

Official registry AI and agents

Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package artsonia-mcp
Claude Code
claude mcp add artsonia-mcp -e 'ARTSONIA_USERNAME=<ARTSONIA_USERNAME>' -e 'ARTSONIA_PASSWORD=<your artsonia_password>' -e 'ARTSONIA_SESSION_CACHE=<ARTSONIA_SESSION_CACHE>' -e 'ARTSONIA_SESSION_FILE=<ARTSONIA_SESSION_FILE>' -e 'ARTSONIA_OUTPUT_DIR=<ARTSONIA_OUTPUT_DIR>' -e 'ARTSONIA_TRANSPORT=<ARTSONIA_TRANSPORT>' -e 'ARTSONIA_WS_PORT=<ARTSONIA_WS_PORT>' -e 'ARTSONIA_INLINE_DOWNLOADS=<ARTSONIA_INLINE_DOWNLOADS>' -- npx -y artsonia-mcp@1.3.3
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "artsonia-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "artsonia-mcp@1.3.3"
            ],
            "env": {
                "ARTSONIA_USERNAME": "<ARTSONIA_USERNAME>",
                "ARTSONIA_PASSWORD": "<your artsonia_password>",
                "ARTSONIA_SESSION_CACHE": "<ARTSONIA_SESSION_CACHE>",
                "ARTSONIA_SESSION_FILE": "<ARTSONIA_SESSION_FILE>",
                "ARTSONIA_OUTPUT_DIR": "<ARTSONIA_OUTPUT_DIR>",
                "ARTSONIA_TRANSPORT": "<ARTSONIA_TRANSPORT>",
                "ARTSONIA_WS_PORT": "<ARTSONIA_WS_PORT>",
                "ARTSONIA_INLINE_DOWNLOADS": "<ARTSONIA_INLINE_DOWNLOADS>"
            }
        }
    }
}

Environment variables

  • ARTSONIA_USERNAME Your 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_PASSWORD secret Your Artsonia account password. Required in the default direct mode; not needed when ARTSONIA_TRANSPORT=fetchproxy.
  • ARTSONIA_SESSION_CACHE Set to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.
  • ARTSONIA_SESSION_FILE Absolute path for the session cache file. Defaults to $MCP_DATA_DIR/.artsonia-mcp/session-<user>.json.
  • ARTSONIA_OUTPUT_DIR Folders 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_TRANSPORT fetch (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_PORT fetchproxy WebSocket port override (default 37149, a shared fleet port). Only used when ARTSONIA_TRANSPORT=fetchproxy.
  • ARTSONIA_INLINE_DOWNLOADS 1/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.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

artsonia-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.

variabledefault
ARTSONIA_OUTPUT_DIR~/Downloads and ~/PicturesThe 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.

variabledefault
MCP_CONFIRM_MODEask-userWhat 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_ELICITATIONonoff 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_SECONDS600How long a token stays valid.
MCP_CONFIRM_SECRETrandom per processSigning key; set it only if tokens must survive a server restart.

Frequently asked questions

What is io.github.chrischall/artsonia-mcp?

Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).

How do I install io.github.chrischall/artsonia-mcp?

It runs on your machine. In Claude Code: claude mcp add artsonia-mcp -e 'ARTSONIA_USERNAME=<ARTSONIA_USERNAME>' -e 'ARTSONIA_PASSWORD=<your artsonia_password>' -e 'ARTSONIA_SESSION_CACHE=<ARTSONIA_SESSION_CACHE>' -e 'ARTSONIA_SESSION_FILE=<ARTSONIA_SESSION_FILE>' -e 'ARTSONIA_OUTPUT_DIR=<ARTSONIA_OUTPUT_DIR>' -e 'ARTSONIA_TRANSPORT=<ARTSONIA_TRANSPORT>' -e 'ARTSONIA_WS_PORT=<ARTSONIA_WS_PORT>' -e 'ARTSONIA_INLINE_DOWNLOADS=<ARTSONIA_INLINE_DOWNLOADS>' -- npx -y artsonia-mcp@1.3.3. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.chrischall/artsonia-mcp need an API key?

Yes. It expects ARTSONIA_PASSWORD, which you set in its configuration.

Is io.github.chrischall/artsonia-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.chrischall/artsonia-mcp?

It is published by chrischall. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.