The customer platform for the agentic era. MCP-first, open source, self-hostable.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
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.
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
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