← Browse

@302ai/302-ai-studio

C

MCP server package 302-ai-studio

mcp_servermcp

Install

agr install @302ai/302-ai-studio --target claude

This artifact does not publish files for Claude.

Document

{ "name": "302-ai-studio", "productName": "302 AI Studio", "description": "302 AI Studio", "private": true, "version": "26.22.0", "type": "module", "main": ".vite/build/main/index.js", "author": { "name": "302.AI", "email": "support@302.ai" }, "license": "AGPL-3.0", "repository": { "type": "git", "url": "https://github.com/302ai/302-AI-Studio-sv.git" }, "homepage": "https://302.ai", "bugs": { "url": "https://github.com/302ai/302-AI-Studio-sv/issues" }, "scripts": { "prepare": "svelte-kit sync || echo ''", "dev": "electron-forge start", "start": "electron-forge start", "build": "pnpm -C packages/plugin-sdk build && vite build", "package": "electron-forge package", "make": "pnpm build && electron-forge make", "publish": "electron-forge publish", "release": "tsx scripts/release.ts", "release:patch": "tsx scripts/release.ts patch", "release:minor": "tsx scripts/release.ts minor", "release:major": "tsx scripts/release.ts major", "release:to": "tsx scripts/release.ts to", "release:beta": "tsx scripts/release.ts beta", "preview": "vite preview", "check": "pnpm -C packages/plugin-sdk build && svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "pnpm -C packages/plugin-sdk build && svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "lint": "eslint . --cache", "lint:fix": "eslint . --fix --cache", "format": "prettier --write .", "format:check": "prettier --check .", "quality": "npm run check && npm run lint && npm run format:check", "quality:fix": "npm run lint:fix && npm run format", "test:unit": "vitest", "test": "npm run test:unit -- --run", "generate:ipc": "tsx scripts/generate-ipc.ts", "gen:service": "tsx scripts/generate.ts service", "gen:state": "tsx scripts/generate.ts state", "postinstall": "pre-commit install --install-hooks --hook-type commit-msg" }, "devDependencies": { "@ai-sdk/anthropic": "3.0.0", "@ai-sdk/openai": "3.0.0", "@ai-sdk/svelte": "4.0.1", "@electron-addons/electron-forge-maker-nsis": "^7.0.2", "@electron-forge/cli": "^7.9.0", "@electron-forge/maker-deb": "^7.9.0", "@electron-forge/maker-dmg": "^7.9.0", "@electron-forge/maker-rpm": "^7.9.0", "@electron-forge/maker-squirrel": "^7.9.0", "@electron-forge/maker-zip": "^7.9.0", "@electron-forge/plugin-auto-unpack-natives": "^7.9.0", "@electron-forge/plugin-fuses": "^7.9.0", "@electron-forge/plugin-vite": "^7.9.0", "@electron-forge/publisher-github": "^7.9.0", "@electron-toolkit/preload": "^3.0.2", "@electron-toolkit/tsconfig": "^1.0.1", "@electron/fuses": "^2.0.0", "@electron/notarize": "3.1.0", "@electron/osx-sign": "^2.2.0", "@eslint/compat": "^1.4.0", "@eslint/js": "^9.35.0", "@inquirer/prompts": "^8.0.2", "@internationalized/date": "^3.9.0", "@lucide/svelte": "^1.3.0", "@sveltejs/adapter-static": "^3.0.9", "@sveltejs/kit": "^2.39.1", "@sveltejs/vite-plugin-svelte": "^6.2.0", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/typography": "^0.5.16", "@tailwindcss/vite": "^4.1.13", "@tanstack/table-core": "^8.21.3", "@testing-library/jest-dom": "^6.8.0", "@testing-library/svelte": "^5.2.8", "@types/archiver": "^6.0.3", "@types/dedent": "^0.7.2", "@types/electron-squirrel-startup": "^1.0.2", "@types/markdown-it": "^14.1.2", "@types/node": "^24.4.0", "@types/semver": "^7.7.1", "ai": "6.0.1", "bits-ui": "^2.10.0", "clsx": "^2.1.1", "electron": "^38.1.0", "embla-carousel-svelte": "^8.6.0", "eslint": "^9.35.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-svelte": "^3.12.3", "formsnap": "^2.0.1", "glob": "^13.0.6", "globals": "^16.4.0", "jsdom": "^27.0.0", "layerchart": "2.0.0-next.27", "mode-watcher": "^1.1.0", "paneforge": "^1.0.2", "prettier": "^3.6.2", "prettier-plugin-svelte": "^3.4.0", "semver": "^7.7.3", "svelte": "^5.38.10", "svelte-check": "^4.3.1", "svelte-sonner": "^1.0.5", "sveltekit-superforms": "^2.30.1", "tailwind-merge": "^3.3.1", "tailwind-variants": "^3.1.1", "tailwindcss": "^4.1.13", "tsx": "^4.20.5", "tw-animate-css": "^1.3.8", "typescript": "^5.9.2", "typescript-eslint": "^8.43.0", "vaul-svelte": "1.0.0-next.7", "vite": "^7.1.11", "vitest": "^3.2.4" }, "dependencies": { "@302ai/ai-sdk": "^0.2.14", "@302ai/studio-plugin-sdk": "workspace:*", "@302ai/unstorage": "^1.18.0", "@ai-sdk/google": "3.0.0", "@ai-sdk/mcp": "1.0.0", "@ai-sdk/openai-compatible": "2.0.0", "@codemirror/lang-css": "^6.3.1", "@codemirror/lang-html": "^6.4.11", "@codemirror/lang-javascript": "^6.2.4", "@codemirror/lang-json": "^6.0.2", "@codemirror/lang-markdown": "^6.5.0", "@codemirror/lang-python": "^6.2.1", "@codemirror/lang-xml": "^6.1.0", "@codemirror/language-data": "^6.5.2", "@codemirror/theme-one-dark": "^6.1.3", "@date-fns/tz": "^1.4.1", "@floating-ui/dom": "^1.7.4", "@hono/node-server": "^1.19.12", "@inlang/paraglide-js": "^2.3.2", "@lexical/history": "0.33.1", "@lexical/rich-text": "0.33.1", "@lexical/selection": "0.33.1", "@lexical/utils": "0.33.1", "@lobehub/icons-static-svg": "^1.84.0", "@modelcontextprotocol/sdk": "^1.20.0", "@opendocsg/pdf2md": "^0.2.2", "@openuidev/lang-core": "^0.2.2", "@openuidev/svelte-lang": "^0.1.0", "@sveltejs/adapter-static": "^3.0.9", "archiver": "^7.0.1", "arktype": "^2.1.22", "browser-image-compression": "^2.0.2", "chart.js": "^4.5.1", "codemirror": "^6.0.2", "croner": "^9.1.0", "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", "dedent": "^1.7.0", "electron-log": "^5.4.3", "electron-squirrel-startup": "^1.0.1", "electron-window-state": "^5.0.3", "emoji-picker-element": "^1.27.0", "es-toolkit": "^1.45.1", "exceljs": "^4.4.0", "extract-zip": "^2.0.1", "fix-path": "^5.0.0", "get-port": "^7.1.0", "hono": "^4.12.10", "katex": "^0.16.25", "ky": "^1.11.0", "ldrs": "^1.1.7", "lexical": "0.33.1", "mammoth": "^1.11.0", "markdown-it": "^14.1.0", "markdown-it-texmath": "^1.0.0", "mermaid": "^11.12.2", "mitt": "^3.0.1", "mode-watcher": "^1.1.0", "modern-screenshot": "^4.6.7", "nanoid": "^5.1.5", "qr-code-styling": "^1.9.2", "runed": "^0.31.1", "shiki": "^3.13.0", "shiki-stream": "^0.1.2", "superjson": "^2.2.2", "svelte-dnd-action": "^0.9.65", "svelte-image-viewer": "^5.0.0", "svelte-lexical": "^0.6.3", "ts-pattern": "^5.9.0", "undici": "^8.3.0", "zod": "^4.3.6" }, "packageManager": "pnpm@10.18.3+sha512.bbd16e6d7286fd7e01f6b3c0b3c932cda2965c06a908328f74663f10a9aea51f1129eea615134bf992831b009eabe167ecb7008b597f40ff9bc75946aadfb08d", "pnpm": { "onlyBuiltDependencies": [ "esbuild", "electron", "electron-winstaller" ], "patchedDependencies": { "@sveltejs/kit": "patches/@sveltejs__kit.patch", "@electron/notarize@3.1.0": "patches/@electron__notarize@3.1.0.patch" }, "overrides": { "@electron/notarize": "3.1.0", "@ai-sdk/provider": "3.0.0", "@ai-sdk/provider-utils": "4.0.0" }, "ignoredBuiltDependencies": [ "@tailwindcss/oxide" ] }, "build": { "appId": "com.302ai.302aistudio", "asar": true, "publish": null, "nsis": { "oneClick": false, "createDesktopShortcut": true, "runAfterFinish": true }, "win": { "target": [ "nsis" ] } } }

Trustgrade C

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • warnType matchbest-effort: server code not analyzed

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • warnPrompt injection1 hit(s): obfuscation

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

    • line 198Obscured code — eval, atob, or an encoded blob
  • warnLicensecopyleft/unknown — index-and-link only

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-7bc5f1153ebd2026-08-06