{"name":"io.github.Gemberkoekje/easel","slug":"gemberkoekje-easel","title":"Easel","description":"A headless painting engine for AI agents: brushes, paint load, wet blending, canvas texture.","url":"https://mcp.market/server/gemberkoekje-easel","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":32,"stars":0,"forks":0,"downloads_week":756,"last_push_at":"2026-09-19T08:54:29.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Gemberkoekje/EaselAPI","website":"https://github.com/Gemberkoekje/EaselAPI#mcp-server","version":"0.5.0","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"easel-paint","version":"0.5.0","runtimeHint":"uvx","transport":{"type":"stdio"},"runtimeArguments":[{"description":"The whole launch command is: uvx --from \"easel-paint[mcp]\" easel-mcp. Two things make it longer than usual. The MCP server is an optional extra, because nothing else in the engine imports mcp and a painter working from Python or the shell never needs its 28 dependencies; and the console script is easel-mcp, not easel-paint, because the package is a painting engine of which the server is one face. A client that cannot assemble this should run that command verbatim.","isRequired":true,"value":"easel-paint[mcp]","type":"named","name":"--from"}],"packageArguments":[{"description":"Directory the server reads and writes .easel session files, looks and exported PNGs in. Defaults to the working directory.","format":"filepath","type":"named","name":"--dir"}]}],"tools":[],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-19T10:14:41.386Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T10:14:41.356Z","components":{"code":{"score":25,"max":25,"notes":["source not scanned: tarball over 25MB"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"easel-paint","version":"0.5.0","found":true,"weeklyDownloads":756,"dependencyCount":6,"publishedAt":"2026-09-16T08:54:07.331704Z","repositoryUrl":"https://github.com/Gemberkoekje/EaselAPI"}],"repo":{"found":true,"owner":"Gemberkoekje","repo":"EaselAPI","archived":false,"pushedAt":"2026-09-19T08:54:29Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/1456948?v=4","ownerCreatedAt":"2012-02-21T11:03:30Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/1456948?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":756,"license":"MIT","lastPushAt":"2026-09-19T08:54:29.000Z","score":32}}}},"grade_history":[],"reviews":[]}