github TypeScript analyzed · update queued 76e6065

getmunin/munin

github

The customer platform for the agentic era. MCP-first, open source, self-hostable.

maintainer
getmunin
license
MIT
first seen
2026-06-21
last seen
2026-07-31
releases · 30d
19
short id

Drift inferred · capture-to-capture

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

capabilities 0 tools
transport streamable-http · http verified reported listed in the official MCP registry counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

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

analyzed commit 76e6065 · analyzer v27 · 1w ago

skills & prompt files 2

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

code files: 792

filesystem 7

  • fs getmunin-munin-76e6065/apps/backend/src/load-env.ts :1 import { existsSync } from 'node:fs';
  • fs getmunin-munin-76e6065/lint-staged.config.mjs :2 import { existsSync } from 'node:fs';
  • fs getmunin-munin-76e6065/packages/backend-core/src/bootstrap-app.ts :6 import { createReadStream, existsSync } from 'node:fs';
  • fs getmunin-munin-76e6065/packages/backend-core/src/mcp/inspector.resource.ts :1 import { readFileSync } from 'node:fs';
  • fs getmunin-munin-76e6065/packages/backend-core/src/mcp/skill-loader.ts :1 import { readdirSync, readFileSync, statSync } from 'node:fs';
  • fs getmunin-munin-76e6065/packages/core/src/providers/storage.ts :1 import { mkdir, readFile, rm, stat, writeFile } from 'node:fs/promises';
  • fs getmunin-munin-76e6065/packages/db/src/migrate.ts :5 import { readFileSync } from 'node:fs';

shell / exec 1

  • shell getmunin-munin-76e6065/packages/agent-runtime/src/conversation-handler.ts :480 function spawn(conversationId: string, mode: 'reply' | 'greet'): void {

network 18

  • net getmunin-munin-76e6065/apps/analytics-tracker/src/tracker.ts :132 void fetch(beaconUrl, {
  • net getmunin-munin-76e6065/apps/web/app/[locale]/dashboard/oauth/consent/page.tsx :14 const res = await fetch(`${API_URL}/v1/oauth/clients/${encodeURIComponent(clientId)}`, {
  • net getmunin-munin-76e6065/packages/backend-core/src/modules/conv/email/email-adapter.ts :114 for await (const msg of client.fetch(range, { uid: true, source: true }, { uid: true })) {
  • net getmunin-munin-76e6065/packages/backend-core/src/modules/conv/messagebird/messagebird-client.service.ts :49 const res = await fetch(`${MESSAGEBIRD_API_BASE}/balance`, {
  • net getmunin-munin-76e6065/packages/backend-core/src/modules/conv/threll/threll-client.service.ts :106 const res = await fetch(`${THRELL_API_BASE}${opts.path}`, {
  • net getmunin-munin-76e6065/packages/backend-core/src/modules/conv/twilio/twilio-client.service.ts :59 const res = await fetch(url, { headers: { authorization: `Basic ${auth}` } });
  • net getmunin-munin-76e6065/packages/backend-core/src/modules/conv/vapi/vapi-client.service.ts :75 const res = await fetch(`${VAPI_API_BASE}${opts.path}`, {
  • net getmunin-munin-76e6065/packages/backend-core/src/modules/feedback/feedback.forwarder.ts :89 const res = await fetch(this.intakeBaseUrl(), {
  • net getmunin-munin-76e6065/packages/backend-core/src/realtime/realtime.gateway.ts :11 import type { IncomingMessage, Server as HttpServer } from 'node:http';
  • net getmunin-munin-76e6065/packages/core/src/net/safe-fetch.ts :7 import { isIP as isIp } from 'node:net';
  • net getmunin-munin-76e6065/packages/core/src/providers/embedding.ts :73 const res = await fetch(`${this.baseUrl}/embeddings`, {
  • net getmunin-munin-76e6065/packages/core/src/providers/mailer.ts :66 const res = await fetch(`${this.baseUrl}/emails`, {
  • net getmunin-munin-76e6065/packages/core/src/providers/storage.ts :188 const res = await fetch(url, { method: 'DELETE' });
  • net getmunin-munin-76e6065/packages/dashboard-pages/src/api.ts :57 res = await fetch(`${API_URL}${path}`, {
  • net getmunin-munin-76e6065/packages/dashboard-pages/src/auth/server-session.ts :25 const res = await fetch(`${API_URL}${path}`, {
  • net getmunin-munin-76e6065/packages/dashboard-pages/src/components/auth-shell/fetch-auth-providers.ts :16 const res = await fetch(`${SERVER_API_URL}/v1/auth/providers`, {
  • net getmunin-munin-76e6065/packages/dashboard-pages/src/components/dashboard/get-started.tsx :20 void fetch(url, { credentials: 'omit' })
  • net getmunin-munin-76e6065/packages/sdk/src/index.ts :19 /** Override fetch (useful for tests). Defaults to global fetch. */

secrets 13

  • secrets getmunin-munin-76e6065/packages/agent-host/src/service-context.ts :16 const cryptKey = process.env.MUNIN_ENCRYPTION_KEY;
  • secrets getmunin-munin-76e6065/packages/backend-core/src/auth-controller-factory.ts :25 const secret = process.env.MUNIN_AUTH_SECRET;
  • secrets getmunin-munin-76e6065/packages/backend-core/src/auth-env.ts :9 const clientSecret = process.env.GOOGLE_CLIENT_SECRET;
  • secrets getmunin-munin-76e6065/packages/backend-core/src/common/tenancy/tenancy.interceptor.ts :42 const key = process.env.MUNIN_ENCRYPTION_KEY;
  • secrets getmunin-munin-76e6065/packages/core/src/crypto/primitives.ts :60 const raw = process.env.MUNIN_ENCRYPTION_KEY;
  • secrets getmunin-munin-76e6065/packages/core/src/providers/embedding.ts :175 const apiKey = process.env.OPENAI_API_KEY;
  • secrets getmunin-munin-76e6065/packages/core/src/providers/mailer.ts :194 const password = process.env.MUNIN_SMTP_PASSWORD;
  • secrets getmunin-munin-76e6065/packages/core/src/providers/storage.ts :52 const fromEnv = process.env.MUNIN_STORAGE_LOCAL_SECRET;
  • secrets getmunin-munin-76e6065/packages/dashboard-pages/src/pages/channels.tsx :1845 .createHmac('sha256', process.env.MUNIN_IDENTITY_SECRET)
  • secrets getmunin-munin-76e6065/packages/dashboard-pages/src/pages/trackers.tsx :604 .createHmac('sha256', process.env.MUNIN_TRACKER_IDENTITY_SECRET)
  • secrets getmunin-munin-76e6065/packages/db/src/migrate.ts :65 const appPassword = process.env.MUNIN_APP_PASSWORD ?? APP_ROLE;
  • secrets getmunin-munin-76e6065/packages/docs-pages/src/guides/chat-widget/page.tsx :131 .createHmac('sha256', process.env.MUNIN_IDENTITY_SECRET)
  • secrets getmunin-munin-76e6065/packages/sdk/src/index.ts :11 * adminApiKey: process.env.MUNIN_ADMIN_API_KEY!,

install hooks 1

  • prepare getmunin-munin-76e6065/package.json :26 husky

declared dependencies 9

  • @changesets/cli@^2.27.1
  • @vitest/coverage-v8@^4.1.9
  • eslint@^9.39.4
  • husky@^9.1.7
  • lint-staged@^17.0.8
  • prettier@^3.8.4
  • turbo@^2.9.18
  • typescript@^5.6.0
  • typescript-eslint@^8.61.1