@pgplex/pgconsole
AMCP server package @pgplex/pgconsole
Install
agr install @pgplex/pgconsole --target claudeThis artifact does not publish files for Claude.
Document
{ "name": "@pgplex/pgconsole", "description": "Postgres Editor with Guardrails", "version": "1.3.0", "type": "module", "bin": { "pgconsole": "dist/server.mjs" }, "files": [ "dist/" ], "repository": { "type": "git", "url": "https://github.com/pgplex/pgconsole" }, "publishConfig": { "access": "public" }, "scripts": { "gen": "buf generate --template proto/buf.gen.yaml proto && node scripts/fix-imports.mjs", "build:server": "node scripts/build-server.mjs", "build:server:watch": "node scripts/build-server.mjs --watch --dev", "dev": "pnpm gen && pnpm build:server -- --dev && concurrently "pnpm dev:vite" "pnpm dev:server"", "dev:vite": "node scripts/wait-for-port.mjs 9876 && vite", "dev:server": "concurrently "pnpm build:server:watch" "node scripts/sleep.mjs 2 && node --watch dist/server.mjs --config pgconsole.toml"", "build": "pnpm gen && pnpm build:server && tsc -b && vite build", "lint": "eslint .", "preview": "vite preview", "start": "node dist/server.mjs", "test": "vitest", "test:parser": "vitest tests/sql-parser", "test:format": "vitest tests/sql-format", "test:autocomplete": "vitest tests/sql-autocomplete", "test:fixture": "tsx scripts/generate-fixtures.ts", "test:api": "node dist/server.mjs --config tests/pgconsole.test.toml & PID=$! && node scripts/wait-for-port.mjs 9876 && hurl --test tests/api/*.hurl; EXIT=$?; kill $PID 2>/dev/null; exit $EXIT" }, "dependencies": { "@ai-sdk/anthropic": "^3.0.86", "@ai-sdk/google": "^3.0.83", "@ai-sdk/openai": "^3.0.74", "@ai-sdk/openai-compatible": "^2.0.51", "@base-ui/react": "^1.0.0", "@bufbuild/protobuf": "^1.10.0", "@codemirror/autocomplete": "^6.20.0", "@codemirror/commands": "^6.10.1", "@codemirror/lang-json": "^6.0.2", "@codemirror/language": "^6.12.1", "@codemirror/lint": "^6.9.2", "@codemirror/state": "^6.5.4", "@codemirror/view": "^6.39.11", "@connectrpc/connect": "^1.7.0", "@connectrpc/connect-express": "^1.7.0", "@connectrpc/connect-node": "^1.7.0", "@connectrpc/connect-web": "^1.7.0", "@electric-sql/pglite": "^0.3.15", "@electric-sql/pglite-socket": "^0.0.20", "@libpg-query/parser": "~17.7.0", "@modelcontextprotocol/sdk": "^1.29.0", "@pierre/diffs": "^1.0.8", "@tailwindcss/vite": "^4.1.18", "@tanstack/react-query": "^5.90.14", "@tanstack/react-virtual": "^3.13.18", "ai": "^6.0.209", "beautiful-mermaid": "^0.1.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "codemirror": "^6.0.2", "cookie-parser": "^1.4.7", "express": "^5.2.1", "jose": "^5.2.0", "lucide-react": "^0.562.0", "papaparse": "^5.5.3", "pg": "^8.16.3", "postgres": "^3.4.7", "react": "^19.2.0", "react-dom": "^19.2.0", "react-markdown": "^10.1.0", "react-router-dom": "^7.11.0", "smol-toml": "^1.6.0", "tailwind-merge": "^3.4.0", "tailwindcss": "^4.1.18" }, "devDependencies": { "@bufbuild/buf": "^1.61.0", "@bufbuild/protoc-gen-es": "^1.10.0", "@connectrpc/protoc-gen-connect-es": "1.7.0", "@eslint/js": "^9.39.1", "@types/cookie-parser": "^1.4.8", "@types/express": "^5.0.6", "@types/node": "^24.10.1", "@types/papaparse": "^5.5.2", "@types/pg": "^8.16.0", "@types/react": "^19.2.5", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^5.1.1", "@vitest/ui": "^4.0.17", "concurrently": "^9.2.1", "esbuild": "^0.27.2", "eslint": "^9.39.1", "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.4.24", "globals": "^16.5.0", "ts-node": "^10.9.2", "tsx": "^4.21.0", "tw-animate-css": "^1.4.0", "typescript": "~5.9.3", "typescript-eslint": "^8.46.4", "vite": "npm:rolldown-vite@7.2.5", "vite-node": "^5.2.0", "vitest": "^4.0.17" }, "pnpm": { "overrides": { "vite": "npm:rolldown-vite@7.2.5" } } }
Trustgrade A
- 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.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
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-690a6081d6072026-08-06