TypeScript-first framework for the Model Context Protocol (MCP). You write clean, typed code; FrontMCP handles the protocol, transport, DI, session/auth, and execution flow.
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution ×15 in agentfront/frontmcp
- HIGH code analysis flagged dynamic code execution ×4 in agentfront/frontmcp
- HIGH code analysis flagged dynamic code execution ×3 in @frontmcp/sdk
transport stdio · streamable-http · http · sse 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 v1.5.2 · analyzer v28 · 3d ago
skills & prompt files 24
- agent-rules agentfront-frontmcp-8cbeff6/AGENTS.md
- agent-rules agentfront-frontmcp-8cbeff6/CLAUDE.md
- skill agentfront-frontmcp-8cbeff6/apps/e2e/demo-e2e-skills/src/apps/skills/skills/docs-skill/SKILL.md
- agent-rules agentfront-frontmcp-8cbeff6/docs/frontmcp/nx-plugin/generators/agent.mdx
- skill agentfront-frontmcp-8cbeff6/docs/frontmcp/nx-plugin/generators/skill.mdx
- agent-rules agentfront-frontmcp-8cbeff6/docs/frontmcp/sdk-reference/decorators/agent.mdx
- skill agentfront-frontmcp-8cbeff6/docs/frontmcp/sdk-reference/decorators/skill.mdx
- agent-rules agentfront-frontmcp-8cbeff6/docs/frontmcp/servers/agents.mdx
- agent-rules agentfront-frontmcp-8cbeff6/libs/plugins/CLAUDE.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/create-tool/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-auth-ui/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-authorities/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-channels/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-config/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-deployment/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-development/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-extensibility/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-guides/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-observability/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-production-readiness/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-setup/SKILL.md
- skill agentfront-frontmcp-8cbeff6/libs/skills/catalog/frontmcp-testing/SKILL.md
- agent-rules agentfront-frontmcp-8cbeff6/libs/ui/CLAUDE.md
- agent-rules agentfront-frontmcp-8cbeff6/libs/uipack/CLAUDE.md
danger signals19
- dynamic code execution new Function() agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/__tests__/credential-store.spec.ts :55
new Function(source); - dynamic code execution new Function() agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/__tests__/daemon-client.spec.ts :169
new Function(source); - dynamic code execution new Function() agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/__tests__/generated-cli-smoke.spec.ts :48
expect(() => new Function(stripShebang(source))).not.toThrow(); - dynamic code execution new Function() agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/__tests__/oauth-helper.spec.ts :24
new Function(source); - dynamic code execution new Function() agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/__tests__/output-formatter.spec.ts :310
new Function(source); - dynamic code execution new Function() agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/__tests__/session-manager.spec.ts :54
new Function(source); - dynamic code execution new Function() agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/cli-runtime/__tests__/extract-public-message-parity.spec.ts :25
const factory = new Function( - dynamic code execution new Function() agentfront-frontmcp-8cbeff6/libs/sdk/src/esm-loader/esm-module-loader.ts :265
const fn = new Function('module', 'exports', bundleContent); - dynamic code execution eval() agentfront-frontmcp-8cbeff6/libs/sdk/src/ha/session-takeover.ts :15
eval(script: string, numkeys: number, ...args: (string | number)[]): Promise<unknown>; - dynamic code execution eval() agentfront-frontmcp-8cbeff6/libs/sdk/src/transport/bus/redis-transport-bus.ts :23
eval(script: string, numkeys: number, ...args: (string | number)[]): Promise<unknown>; - dynamic code execution new Function() agentfront-frontmcp-8cbeff6/libs/ui/src/renderer/react/index.ts :187
const factory = new Function(...argNames, code) as (...args: unknown[]) => React.ComponentType; - dynamic code execution eval() agentfront-frontmcp-8cbeff6/plugins/plugin-codecall/src/__tests__/enclave.service.spec.ts :388
eval('return 42'); - dynamic code execution new Function() agentfront-frontmcp-8cbeff6/plugins/plugin-codecall/src/__tests__/enclave.service.spec.ts :400
const fn = new Function('return 42'); - dynamic code execution constructor escape agentfront-frontmcp-8cbeff6/plugins/plugin-codecall/src/__tests__/enclave.service.spec.ts :1081
const fn = [].constructor.constructor('return process'); - dynamic code execution setTimeout(string) agentfront-frontmcp-8cbeff6/plugins/plugin-codecall/src/__tests__/enclave.service.spec.ts :1209
setTimeout('return process', 0); - suspicious endpoint 1.2.3.4 agentfront-frontmcp-8cbeff6/libs/sdk/src/auth/flows/__tests__/oauth.register.flow.spec.ts :96
'http://1.2.3.4.evil.com/cb', - suspicious endpoint 8.8.8.8 agentfront-frontmcp-8cbeff6/libs/sdk/src/auth/flows/__tests__/oauth.register.flow.spec.ts :99
'https://8.8.8.8/cb', - suspicious endpoint 169.254.169.254 (cloud metadata) agentfront-frontmcp-8cbeff6/plugins/plugin-skilled-openapi/src/__tests__/ssrf-guard.spec.ts :137
'https://169.254.169.254/latest/meta-data/', - suspicious endpoint 8.8.8.8 agentfront-frontmcp-8cbeff6/plugins/plugin-skilled-openapi/src/__tests__/ssrf-guard.spec.ts :187
const r = await checkOutboundUrl('https://8.8.8.8/x', new Set(['8.8.8.8']), baseOutbound());
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 3429
filesystem 57
- fs agentfront-frontmcp-8cbeff6/apps/poc-lazy-zod/src/bench/build.ts :8
import * as fs from 'node:fs'; - fs agentfront-frontmcp-8cbeff6/apps/poc-lazy-zod/src/bench/run.ts :9
import * as fs from 'node:fs'; - fs agentfront-frontmcp-8cbeff6/apps/poc-lazy-zod/src/schemas/generate.ts :14
import * as fs from 'node:fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/adapters/lambda.ts :1
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/adapters/vercel.ts :2
import { existsSync } from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/cli-runtime/cli-bundler.ts :88
const fs = require('fs'); - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/cli-runtime/credential-store.ts :32
var fs = require('fs'); - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/cli-runtime/generate-cli-entry.ts :182
var fs = require('fs'); - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/cli-runtime/session-manager.ts :24
var fs = require('fs'); - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/config.ts :6
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/esbuild-bundler.ts :109
const fs = require('fs'); - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/index.ts :17
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/sea-builder.ts :16
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/skill-assets.ts :14
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/load-entry-config.ts :15
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/mcpb/binary.ts :15
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/mcpb/index.ts :14
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/mcpb/manifest.ts :10
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/mcpb/stage.ts :18
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/mcpb/validate.ts :17
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/mcpb/zip.ts :14
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/bridge/log.ts :10
import * as fs from 'node:fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/bridge/watcher.ts :14
import * as fs from 'node:fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/package/configure.ts :1
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/package/install.ts :5
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/package/questionnaire.ts :6
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/package/registry.ts :5
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/package/sources/local.ts :6
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/package/sources/npm.ts :7
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/package/uninstall.ts :1
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/pm/log-utils.ts :5
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/pm/paths.ts :6
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/pm/pidfile.ts :5
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/pm/service-gen.ts :5
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/pm/socket.ts :10
const fs = require('fs'); - fs agentfront-frontmcp-8cbeff6/libs/cli/src/commands/skills/catalog.ts :8
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/core/version.ts :1
import { readFileSync } from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/shared/env.ts :4
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/cli/src/shared/fs.ts :5
import { promises as fsp } from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/nx-plugin/src/generators/server/server.ts :2
import * as fs from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/nx-plugin/src/utils/versions.ts :3
import { existsSync } from 'fs'; - fs agentfront-frontmcp-8cbeff6/libs/react/jest.config.ts :1
const { readFileSync } = require('fs'); - fs agentfront-frontmcp-8cbeff6/libs/sdk/jest.config.ts :1
const { readFileSync } = require('fs'); - fs agentfront-frontmcp-8cbeff6/libs/sdk/src/direct/direct-client.ts :707
const fs = require('fs'); - fs agentfront-frontmcp-8cbeff6/libs/sdk/src/esm-loader/esm-cache.ts :128
const fs = require('node:fs'); - fs agentfront-frontmcp-8cbeff6/libs/sdk/src/logger/instances/instance.file-logger.ts :13
return (_fs ??= require('fs')); - fs agentfront-frontmcp-8cbeff6/libs/sdk/src/server/adapters/express.host.adapter.ts :215
const fs = require('node:fs'); - fs agentfront-frontmcp-8cbeff6/libs/sdk/src/server/server.instance.ts :44
// `require('fs')` — is only loaded when an express host is actually - fs agentfront-frontmcp-8cbeff6/libs/storage-sqlite/src/better-sqlite3-loader.ts :22
* own transitive `require('fs')` resolves natively. - fs agentfront-frontmcp-8cbeff6/libs/ui/jest.config.ts :1
const { readFileSync } = require('fs'); - fs agentfront-frontmcp-8cbeff6/libs/uipack/jest.config.ts :1
const { readFileSync } = require('fs'); - fs agentfront-frontmcp-8cbeff6/libs/uipack/src/component/loader.ts :142
const fs = require('fs') as typeof import('fs'); - fs agentfront-frontmcp-8cbeff6/libs/uipack/src/component/transpiler.ts :152
const nodeFs = require('fs') as typeof import('fs'); - fs agentfront-frontmcp-8cbeff6/libs/uipack/src/component/ui-availability.ts :18
* Browser-safe: `require('fs')` is Node-only. In a browser build we return - fs agentfront-frontmcp-8cbeff6/libs/utils/src/env/provider.ts :68
// matched above). Lazy-`require('node:fs')` rather than a static import so - fs agentfront-frontmcp-8cbeff6/libs/utils/src/fs/fs.ts :20
_fsp = require('fs').promises; - fs agentfront-frontmcp-8cbeff6/libs/utils/src/machine-id/machine-id.ts :56
const fs = require('fs') as typeof import('fs');
shell / exec 34
- shell agentfront-frontmcp-8cbeff6/apps/poc-lazy-zod/src/bench/run.ts :8
import { spawnSync } from 'node:child_process'; - shell agentfront-frontmcp-8cbeff6/libs/adapters/src/skills/classifier/openapi-classify.ts :313
return new RegExp(`^${expanded}$`); - shell agentfront-frontmcp-8cbeff6/libs/auth/src/utils/audience.validator.ts :150
const regex = new RegExp(`^${pattern}$`, caseSensitive ? '' : 'i'); - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/adapters/vercel.ts :3
import { execSync } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/cli-runtime/credential-store.ts :33
var childProcess = require('child_process'); - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/cli-runtime/generate-cli-entry.ts :1379
var exec = require('child_process').execSync; - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/cli-runtime/oauth-helper.ts :17
var childProcess = require('child_process'); - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/bridge/child-supervisor.ts :22
import { spawn, type ChildProcess } from 'node:child_process'; - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/bridge/index.ts :24
import type { ChildProcess } from 'node:child_process'; - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/bridge/upstream-client.ts :12
* frames on a pair of FDs paired with the child via `child_process` - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/dev.ts :1
import { spawn, type ChildProcess } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/doctor.ts :1
import { spawn } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/port.ts :6
import { execFile } from 'node:child_process'; - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/pm/socket.ts :3
import { spawn, ChildProcess } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/pm/spawn.ts :6
import { spawn, ChildProcess } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/cli/src/commands/scaffold/create.ts :1764
const { execSync } = await import('child_process'); - shell agentfront-frontmcp-8cbeff6/libs/cli/src/core/project-commands.ts :13
import { spawn } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/nx-plugin/src/executors/build-exec/build-exec.impl.ts :2
import { execSync } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/nx-plugin/src/executors/build/build.impl.ts :2
import { execSync } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/nx-plugin/src/executors/deploy/deploy.impl.ts :2
import { execSync } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/nx-plugin/src/executors/dev/dev.impl.ts :2
import { spawn } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/nx-plugin/src/executors/inspector/inspector.impl.ts :2
import { spawn } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/nx-plugin/src/executors/serve/serve.impl.ts :2
import { spawn } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/nx-plugin/src/generators/ui-shared/add-ui-entry.ts :64
const duplicatePattern = new RegExp(`^export \\* from '\\./${escapeRegExp(entryName)}';?$`, 'm'); - shell agentfront-frontmcp-8cbeff6/libs/nx-plugin/src/generators/workspace/workspace.ts :2
import { execSync } from 'child_process'; - shell agentfront-frontmcp-8cbeff6/libs/protocol/src/browser-stdio-client.ts :1
// Stub for StdioClientTransport in browser builds — stdio requires Node.js child_process - shell agentfront-frontmcp-8cbeff6/libs/sdk/src/common/utils/caller-dir.utils.ts :95
// is not a regex — sidesteps the CodeQL ReDoS warning the old `[^/\\]+$` - shell agentfront-frontmcp-8cbeff6/libs/sdk/src/task/helpers/cli-task-runner.ts :18
// Deno Deploy) without their bundlers eagerly pulling in `node:child_process`. - shell agentfront-frontmcp-8cbeff6/libs/uipack/src/typings/type-fetcher.ts :142
const regex = new RegExp(`^${escaped}$`); - shell agentfront-frontmcp-8cbeff6/libs/utils/src/fs/fs.ts :15
let _spawn: typeof import('child_process').spawn | null = null; - shell agentfront-frontmcp-8cbeff6/libs/utils/src/regex/safe-regex.ts :253
* Execute regex exec() with input length protection. - shell agentfront-frontmcp-8cbeff6/libs/utils/src/uri/uri-template.ts :74
pattern: new RegExp(`^${regexStr}$`), - shell agentfront-frontmcp-8cbeff6/plugins/plugin-codecall/src/security/tool-access-control.service.ts :247
return new RegExp(`^${escaped}$`, 'i'); - shell agentfront-frontmcp-8cbeff6/plugins/plugin-remember/src/providers/remember-memory.provider.ts :212
return new RegExp(`^${escaped}$`);
network 54
- net agentfront-frontmcp-8cbeff6/libs/adapters/src/openapi/openapi.adapter.ts :67
* Receive the SDK logger. Called by the SDK before fetch(). - net agentfront-frontmcp-8cbeff6/libs/adapters/src/openapi/openapi.tool.ts :209
const response = await fetch(url, { - net agentfront-frontmcp-8cbeff6/libs/adapters/src/openapi/openapi.types.ts :445
* These transforms are applied at fetch() time to modify tool definitions. - net agentfront-frontmcp-8cbeff6/libs/adapters/src/skills/sources/saas-pull.source.ts :167
const res = await fetch(url, { method: 'GET', headers, signal: controller.signal }); - net agentfront-frontmcp-8cbeff6/libs/auth/src/authorization/orchestrated.accessor.ts :46
* const response = await fetch('https://api.github.com/user', { - net agentfront-frontmcp-8cbeff6/libs/auth/src/cimd/cimd.service.ts :239
const response = await fetch(currentUrl, { - net agentfront-frontmcp-8cbeff6/libs/auth/src/cimd/cimd.validator.ts :176
* and the subsequent `fetch()` then connects to the internal address. This - net agentfront-frontmcp-8cbeff6/libs/auth/src/jwks/jwks.service.ts :39
/** Max redirect hops followed during a discovery/JWKS fetch (each re-validated). */ - net agentfront-frontmcp-8cbeff6/libs/auth/src/options/interfaces.ts :655
/** Outbound fetch (use for verifying credentials against an upstream API). */ - net agentfront-frontmcp-8cbeff6/libs/auth/src/vault/auth-providers.accessor.ts :86
* const response = await fetch(url, { headers }); - net agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/adapters/cloudflare.ts :49
async fetch(request, env, ctx) { - net agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/cli-runtime/daemon-client.ts :22
var http = require('http'); - net agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/cli-runtime/oauth-helper.ts :15
var http = require('http'); - net agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/bridge/child-supervisor.ts :23
import * as net from 'node:net'; - net agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/bridge/upstream-client.ts :61
const res = await fetch(url, { - net agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/port.ts :7
import * as net from 'node:net'; - net agentfront-frontmcp-8cbeff6/libs/cli/src/commands/pm/health.ts :6
import * as http from 'http'; - net agentfront-frontmcp-8cbeff6/libs/cli/src/commands/skills/publish.ts :67
res = await fetch(url, { - net agentfront-frontmcp-8cbeff6/libs/edge/src/index.ts :243
SessionDurableObject: new (state: unknown, env: unknown) => { fetch(request: Request): Promise<Response> }; - net agentfront-frontmcp-8cbeff6/libs/edge/src/session-host.ts :30
get(id: unknown): { fetch(request: Request): Promise<Response> }; - net agentfront-frontmcp-8cbeff6/libs/observability/src/logging/sinks/otlp.sink.ts :109
const response = await fetch(this.endpoint, { - net agentfront-frontmcp-8cbeff6/libs/observability/src/otel/otel.types.ts :204
/** Instrument outbound fetch() calls (default: true) */ - net agentfront-frontmcp-8cbeff6/libs/observability/src/otel/spans/fetch.span.ts :4
* Wraps fetch() calls made via FrontMcpContext.fetch() to create - net agentfront-frontmcp-8cbeff6/libs/observability/src/telemetry/telemetry.accessor.ts :26
* const res = await this.fetch('https://api.example.com'); - net agentfront-frontmcp-8cbeff6/libs/observability/src/telemetry/telemetry.context-extension.ts :29
* const data = await this.fetch(url); - net agentfront-frontmcp-8cbeff6/libs/protocol/src/node-server-types.ts :1
export { IncomingMessage, ServerResponse as HttpServerResponse } from 'http'; - net agentfront-frontmcp-8cbeff6/libs/sdk/src/adapter/adapter.instance.ts :92
const result = await adapter.fetch(); - net agentfront-frontmcp-8cbeff6/libs/sdk/src/auth/authorization/orchestrated.context-extension.ts :42
* const response = await fetch('https://api.github.com/user/repos', { - net agentfront-frontmcp-8cbeff6/libs/sdk/src/auth/flows/oauth.callback.flow.ts :1145
return auth.fetch(input, init); - net agentfront-frontmcp-8cbeff6/libs/sdk/src/auth/flows/oauth.connect.flow.ts :308
return auth.fetch(input, init); - net agentfront-frontmcp-8cbeff6/libs/sdk/src/auth/instances/instance.local-primary-auth.ts :1110
override fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response> { - net agentfront-frontmcp-8cbeff6/libs/sdk/src/auth/instances/instance.remote-primary-auth.ts :24
override fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response> { - net agentfront-frontmcp-8cbeff6/libs/sdk/src/common/dynamic/dynamic.adapter.ts :106
abstract fetch(): Promise<FrontMcpAdapterResponse> | FrontMcpAdapterResponse; - net agentfront-frontmcp-8cbeff6/libs/sdk/src/common/interfaces/adapter.interface.ts :13
* Called by the SDK before fetch() if implemented. - net agentfront-frontmcp-8cbeff6/libs/sdk/src/common/interfaces/execution-context.interface.ts :256
* When FrontMcpContext is available, delegates to ctx.fetch() which: - net agentfront-frontmcp-8cbeff6/libs/sdk/src/common/interfaces/internal/primary-auth-provider.interface.ts :35
* // auth.fetch('MY endpoint ') - net agentfront-frontmcp-8cbeff6/libs/sdk/src/common/types/options/skills-http/interfaces.ts :59
* const skills = await fetch('https://api.example.com/llm.txt'); - net agentfront-frontmcp-8cbeff6/libs/sdk/src/context/frontmcp-context.provider.ts :30
* const response = await ctx.fetch('https://api.example.com/data'); - net agentfront-frontmcp-8cbeff6/libs/sdk/src/context/frontmcp-context.ts :313
* Set the credential middleware for `this.fetch()` provider-based credential injection. - net agentfront-frontmcp-8cbeff6/libs/sdk/src/esm-loader/esm-module-loader.ts :191
response = await fetch(url, { - net agentfront-frontmcp-8cbeff6/libs/sdk/src/esm-loader/version-resolver.ts :70
response = await fetch(packageUrl, { - net agentfront-frontmcp-8cbeff6/libs/sdk/src/scope/flows/http.request.flow.ts :50
// Web-fetch (V8-isolate / Cloudflare Worker) MCP handling. Runs FIRST and, - net agentfront-frontmcp-8cbeff6/libs/sdk/src/server/adapters/express.host.adapter.ts :2
import * as http from 'node:http'; - net agentfront-frontmcp-8cbeff6/libs/sdk/src/server/server.validation.ts :211
// web-fetch (worker) path. If it reaches the Node renderer, stream it - net agentfront-frontmcp-8cbeff6/libs/sdk/src/skill/providers/external-skill.provider.ts :105
* const response = await fetch(`${this.apiUrl}/skills/${skillId}`); - net agentfront-frontmcp-8cbeff6/libs/sdk/src/skill/skill.utils.ts :161
const response = await fetch(source.url); - net agentfront-frontmcp-8cbeff6/libs/sdk/src/transport/adapters/base-sse-transport.ts :1
import { type IncomingMessage, type ServerResponse } from 'node:http'; - net agentfront-frontmcp-8cbeff6/libs/sdk/src/transport/adapters/sse-transport.ts :11
import type { ServerResponse } from 'http'; - net agentfront-frontmcp-8cbeff6/libs/sdk/src/transport/web-response.renderer.ts :3
* Web `Response`. This is the web-fetch (worker) analog of the Node - net agentfront-frontmcp-8cbeff6/libs/ui/src/auth/vanilla/auth-flow.ts :212
return fetch(buildGetUrl(url, entries), { - net agentfront-frontmcp-8cbeff6/libs/uipack/src/shell/custom-shell-resolver.ts :133
const response = await fetch(url, { signal: controller.signal }); - net agentfront-frontmcp-8cbeff6/libs/utils/src/crypto/pkce/pkce.ts :148
* await fetch(webhookUrl, { - net agentfront-frontmcp-8cbeff6/plugins/plugin-cache/src/cache.types.ts :55
* fetch('/mcp', { headers: { 'x-frontmcp-disable-cache': 'true' } }) - net agentfront-frontmcp-8cbeff6/plugins/plugin-dashboard/src/html/html.generator.ts :486
fetch(url, {
secrets 15
- secrets agentfront-frontmcp-8cbeff6/libs/adapters/src/openapi/openapi.adapter.ts :143
` staticAuth: { jwt: process.env.API_TOKEN }\n\n` + - secrets agentfront-frontmcp-8cbeff6/libs/adapters/src/openapi/openapi.security.ts :320
` 3. Add staticAuth: { jwt: process.env.API_TOKEN }\n` + - secrets agentfront-frontmcp-8cbeff6/libs/adapters/src/openapi/openapi.types.ts :745
* jwt: process.env.API_JWT_TOKEN, - secrets agentfront-frontmcp-8cbeff6/libs/auth/src/session/vercel-kv-session.store.ts :32
* @default process.env.KV_REST_API_TOKEN - secrets agentfront-frontmcp-8cbeff6/libs/sdk/src/agent/adapters/adapter.factory.ts :299
* apiKey: process.env.OPENAI_API_KEY, - secrets agentfront-frontmcp-8cbeff6/libs/sdk/src/agent/adapters/index.ts :30
* apiKey: process.env.OPENAI_API_KEY, - secrets agentfront-frontmcp-8cbeff6/libs/sdk/src/agent/adapters/openai.adapter.ts :31
* apiKey: process.env.GROQ_API_KEY, - secrets agentfront-frontmcp-8cbeff6/libs/sdk/src/common/interfaces/channel.interface.ts :55
* this.client = new WhatsAppClient(process.env['WA_TOKEN']); - secrets agentfront-frontmcp-8cbeff6/libs/sdk/src/common/types/options/redis/interfaces.ts :87
* @default process.env.KV_REST_API_TOKEN - secrets agentfront-frontmcp-8cbeff6/libs/sdk/src/common/types/options/redis/schema.ts :112
* @default process.env.KV_REST_API_TOKEN - secrets agentfront-frontmcp-8cbeff6/libs/sdk/src/common/types/options/skills-http/interfaces.ts :342
* signer: new Hs256AuditSigner(process.env.AUDIT_SECRET, 'audit-prod'), - secrets agentfront-frontmcp-8cbeff6/libs/utils/src/storage/adapters/upstash.ts :62
* token: process.env.UPSTASH_REDIS_REST_TOKEN, - secrets agentfront-frontmcp-8cbeff6/libs/utils/src/storage/adapters/vercel-kv.ts :59
* token: process.env.KV_REST_API_TOKEN, - secrets agentfront-frontmcp-8cbeff6/libs/utils/src/storage/types.ts :428
* @default process.env.KV_REST_API_TOKEN - secrets agentfront-frontmcp-8cbeff6/plugins/plugin-remember/src/remember.crypto.ts :46
process.env['REMEMBER_SECRET'] || process.env['MCP_MEMORY_SECRET'] || process.env['MCP_SESSION_SECRET'];
database 17
- db agentfront-frontmcp-8cbeff6/apps/demo/src/apps/employee-time/providers/redis.provider.ts :2
import Redis, { Redis as RedisClient } from 'ioredis'; - db agentfront-frontmcp-8cbeff6/apps/demo/src/apps/expenses/providers/redis.provider.ts :3
import Redis, { Redis as RedisClient } from 'ioredis'; - db agentfront-frontmcp-8cbeff6/libs/auth/src/session/redis-session.store.ts :2
import type { Redis } from 'ioredis'; - db agentfront-frontmcp-8cbeff6/libs/sdk/src/job/store/job-definition-store.factory.ts :55
const Redis = require('ioredis'); - db agentfront-frontmcp-8cbeff6/libs/sdk/src/job/store/job-state-store.factory.ts :33
const Redis = require('ioredis'); - db agentfront-frontmcp-8cbeff6/libs/sdk/src/skill/cache/skill-http-cache.factory.ts :153
const Redis = require('ioredis'); - db agentfront-frontmcp-8cbeff6/libs/sdk/src/transport/event-stores/redis.event-store.ts :92
const Redis = require('ioredis'); - db agentfront-frontmcp-8cbeff6/libs/storage-sqlite/src/better-sqlite3-loader.ts :20
* plain `require('better-sqlite3')` below resolves the addon **relative to the - db agentfront-frontmcp-8cbeff6/libs/storage-sqlite/src/open-database.ts :15
import type Database from 'better-sqlite3'; - db agentfront-frontmcp-8cbeff6/libs/storage-sqlite/src/sqlite-event.store.ts :8
import type Database from 'better-sqlite3'; - db agentfront-frontmcp-8cbeff6/libs/storage-sqlite/src/sqlite-kv.store.ts :8
import type Database from 'better-sqlite3'; - db agentfront-frontmcp-8cbeff6/libs/storage-sqlite/src/sqlite-task.store.ts :29
import type Database from 'better-sqlite3'; - db agentfront-frontmcp-8cbeff6/libs/utils/src/storage/adapters/redis.ts :22
return require('ioredis').default || require('ioredis'); - db agentfront-frontmcp-8cbeff6/plugins/plugin-cache/src/cache.types.ts :1
import { Redis as RedisClient } from 'ioredis'; - db agentfront-frontmcp-8cbeff6/plugins/plugin-cache/src/providers/cache-redis.provider.ts :1
import Redis, { Redis as RedisClient } from 'ioredis'; - db agentfront-frontmcp-8cbeff6/plugins/plugin-remember/src/providers/remember-redis.provider.ts :1
import Redis, { Redis as RedisClient } from 'ioredis'; - db agentfront-frontmcp-8cbeff6/plugins/plugin-remember/src/remember.types.ts :1
import { type Redis as RedisClient } from 'ioredis';
install hooks 2
- prepare agentfront-frontmcp-8cbeff6/libs/cli/package.json :34
npm run build - prepare agentfront-frontmcp-8cbeff6/package.json :14
husky
declared dependencies 93
- @modelcontextprotocol/sdk@1.29.0
- @enclave-vm/core@^2.15.1
- @huggingface/transformers@^3.2.2
- @noble/ciphers@^2.2.0
- @noble/hashes@^2.2.0
- @opentelemetry/api@^1.9.1
- @opentelemetry/sdk-trace-base@^2.8.0
- @rspack/core@^1.3.12
- ioredis@^5.11.1
- jose@^6.2.3
- mcp-from-openapi@2.5.1
- openapi-types@^12.1.3
- reflect-metadata@^0.2.2
- vectoriadb@^2.3.2
- yaml@^2.9.0
- zod@^4.4.3
- @anthropic-ai/sdk@^0.104.1
- @emotion/react@^11.14.0
- @emotion/styled@^11.14.1
- @eslint/js@^10.0.1
- @ianvs/prettier-plugin-sort-imports@^4.7.1
- @mdx-js/mdx@^3.1.1
- @mui/material@^9.1.1
- @nx/esbuild@22.7.5
- @nx/eslint@22.7.5
- @nx/eslint-plugin@22.7.5
- @nx/jest@22.7.5
- @nx/js@22.7.5
- @nx/nest@22.7.5
- @nx/node@22.7.5
- @nx/vite@22.7.5
- @nx/web@22.7.5
- @nx/webpack@22.7.5
- @nx/workspace@22.7.5
- @playwright/test@^1.60.0
- @swc-node/register@~1.11.1
- @swc/core@~1.15.41
- @swc/helpers@~0.5.23
- @swc/jest@~0.2.38
- @testing-library/dom@^10.4.1
- @testing-library/react@^16.3.2
- @types/better-sqlite3@^7.6.13
- @types/jest@^30.0.0
- @types/node@^24.0.0
- @vercel/kv@^3.0.0
- @vitejs/plugin-react@^6.0.2
- @xyflow/react@^12.11.0
- autoprefixer@^10.5.0
- better-sqlite3@^12.10.0
- dompurify@^3.4.10
- esbuild@^0.28.1
- eslint@^10.5.0
- eslint-config-prettier@^10.1.8
- eslint-plugin-unused-imports@^4.4.1
- husky@^9.1.7
- identity-obj-proxy@^3.0.0
- jest@~30.2.0
- jest-environment-jsdom@~30.2.0
- jest-environment-node@~30.2.0
- jest-util@~30.2.0
- jsonc-eslint-parser@^3.1.0
- katex@^0.17.0
- leaflet@^1.9.4
- lint-staged@^17.0.7
- mermaid@^11.15.0
- nx@22.7.5
- nyc@^18.0.0
- openai@^6.42.0
- pdfjs-dist@^6.0.227
- postcss@^8.5.15
- prettier@~3.6.2
- react@^19.2.7
- react-dom@^19.2.7
- react-leaflet@^5.0.0
- react-markdown@^10.1.0
- react-pdf@^10.4.1
- react-player@^3.4.0
- react-router-dom@^7.17.0
- recharts@^3.8.1
- rehype-highlight@^7.0.2
- rehype-raw@^7.0.0
- remark-gfm@^4.0.1
- tailwindcss@^4.3.1
- testcontainers@^11.14.0
- ts-jest@^29.4.0
- ts-node@10.9.2
- tslib@^2.8.1
- typescript@~5.9.2
- typescript-eslint@^8.61.0
- verdaccio@6.7.2
- vite@^8.0.16
- webpack-cli@^5.1.4
- wrangler@^4.100.0
obfuscation 5
- dynamic require()/import() agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/adapters/distributed.ts :31
require('${mainModulePath}'); - dynamic require()/import() agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/adapters/lambda.ts :43
require('${mainModulePath}'); - dynamic require()/import() agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/adapters/vercel.ts :79
require('${mainModulePath}'); - dynamic require()/import() agentfront-frontmcp-8cbeff6/libs/cli/src/commands/build/exec/cli-runtime/generate-cli-entry.ts :136
var _dMod = require(${JSON.stringify('../' + serverBundleFilename)}); - dynamic require()/import() agentfront-frontmcp-8cbeff6/plugins/plugin-dashboard/src/html/html.generator.ts :92
import('${safeEntrypoint}').then(mod => {
transport_posture 2
- network-listening, binds all interfaces, no auth detected agentfront-frontmcp-8cbeff6/libs/cli/src/commands/dev/__tests__/inspector.spec.ts :53
transport: { default: 'http', http: { port: 9000, host: '0.0.0.0', path: '/api/mcp' } }, - network-listening, binds all interfaces, no auth detected agentfront-frontmcp-8cbeff6/libs/cli/src/commands/eject/__tests__/mcp-client.spec.ts :115
transport: { default: 'http', http: { port: 4321, host: '0.0.0.0', path: '/api/mcp' } },