github TypeScript analyzed 33b5ec8

spranab/mcpier

github

Self-hosted MCP control plane that keeps API keys off your clients — Docker, Kubernetes, or npm.

maintainer
spranab
licence
MIT
first seen
2026-08-18
last seen
2026-09-06
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 2 tools
transport http counts 2 tools · 0 res · 0 prompts permission surface via README inference

tools

  • binary

    <package> <args>

  • python

    uvx <package>

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 33b5ec8 · analyzer v33 · 1w ago

danger signals1

code evidence vv0.1.7 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 51

filesystem 14

  • fs spranab-mcpier-33b5ec8/packages/cli/src/activation.ts :1 import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
  • fs spranab-mcpier-33b5ec8/packages/cli/src/commands/backup.ts :1 import { writeFileSync } from "node:fs";
  • fs spranab-mcpier-33b5ec8/packages/cli/src/commands/profile.ts :1 import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
  • fs spranab-mcpier-33b5ec8/packages/cli/src/commands/restore.ts :1 import { readFileSync } from "node:fs";
  • fs spranab-mcpier-33b5ec8/packages/cli/src/config.ts :1 import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
  • fs spranab-mcpier-33b5ec8/packages/cli/src/writers.ts :1 import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
  • fs (weak) spranab-mcpier-33b5ec8/packages/cli/test/activation.test.mjs :3 import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from "node:fs";
  • fs spranab-mcpier-33b5ec8/packages/server/src/backup.ts :1 import { mkdtempSync, readFileSync, rmSync, existsSync, writeFileSync } from "node:fs";
  • fs spranab-mcpier-33b5ec8/packages/server/src/config.ts :1 import { readFileSync } from "node:fs";
  • fs spranab-mcpier-33b5ec8/packages/server/src/db.ts :2 import { mkdirSync, renameSync, writeFileSync } from "node:fs";
  • fs spranab-mcpier-33b5ec8/packages/server/src/index.ts :4 import { existsSync } from "node:fs";
  • fs spranab-mcpier-33b5ec8/packages/server/src/manifest.ts :1 import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
show 2 more
  • fs spranab-mcpier-33b5ec8/packages/server/src/spawn.ts :3 import { existsSync } from "node:fs";
  • fs (weak) spranab-mcpier-33b5ec8/packages/server/test/config.test.mjs :3 import { writeFileSync, mkdtempSync, rmSync } from "node:fs";

shell / exec 1

  • shell spranab-mcpier-33b5ec8/packages/server/src/spawn.ts :1 import { spawn, type ChildProcessWithoutNullStreams } from "node:child_process";

network 8

  • net spranab-mcpier-33b5ec8/packages/cli/src/client.ts :28 const res = await fetch(`${this.cfg.server}${path}`, {
  • net spranab-mcpier-33b5ec8/packages/server/src/catalog.ts :127 const res = await fetch(url);
  • net spranab-mcpier-33b5ec8/packages/server/src/proxy.ts :173 upstream = await fetch(upstreamUrl, {
  • net spranab-mcpier-33b5ec8/packages/server/src/registry.ts :205 const res = await fetch(url.toString());
  • net (weak) spranab-mcpier-33b5ec8/packages/server/test/smoke-brainstorm.mjs :16 const res = await fetch(`${BASE}/mcp/brainstorm`, {
  • net (weak) spranab-mcpier-33b5ec8/packages/server/test/smoke-spawn.mjs :15 const res = await fetch(`${BASE}/mcp/mock`, {
  • net spranab-mcpier-33b5ec8/packages/ui/src/LoginGate.tsx :10 const res = await fetch("/api/secrets", {
  • net spranab-mcpier-33b5ec8/packages/ui/src/api.ts :43 const res = await fetch(path, {

secrets 3

  • secrets (weak) spranab-mcpier-33b5ec8/packages/server/test/mock-mcp.mjs :14 process.stderr.write(`[mock-mcp] started pid=${process.pid} env.MOCK_TOKEN=${process.env.MOCK_TOKEN ?? "<unset>"}\n`);
  • secrets (weak) spranab-mcpier-33b5ec8/packages/server/test/smoke-brainstorm.mjs :6 const TOKEN = process.env.PIER_TOKEN ?? "test-token-abc";
  • secrets (weak) spranab-mcpier-33b5ec8/packages/server/test/smoke-spawn.mjs :6 const TOKEN = process.env.PIER_TOKEN ?? "test-token-abc";

database 2

  • db spranab-mcpier-33b5ec8/packages/server/src/backup.ts :4 import Database from "better-sqlite3";
  • db spranab-mcpier-33b5ec8/packages/server/src/db.ts :1 import Database from "better-sqlite3";

install hooks 1

  • prepublishOnly spranab-mcpier-33b5ec8/packages/cli/package.json :51 npm run build

declared dependencies 3

  • @types/node@^20.14.0
  • tsx@^4.19.0
  • typescript@^5.6.0