Skip to main content

API Reference (Auto)

This section is autogenerated from TypeScript source files using TypeDoc. Each area is grouped into collapsible sections.
Run pnpm docs:generate after API changes to refresh this section.

Core exports

@fentaris/core / ConsoleLoggerDriverDefined in: packages/core/src/logging/logger.ts:77Console-based logger driver.

Implements

  • LoggerDriver

Constructors

Constructor

new ConsoleLoggerDriver(): ConsoleLoggerDriver

Returns

ConsoleLoggerDriver

Methods

write()

write(entry): void
Defined in: packages/core/src/logging/logger.ts:82Write the log entry to the console.

Parameters

entry
LogEntry

Returns

void

Implementation of

LoggerDriver.write
@fentaris/core / DefaultErrorMapperDefined in: packages/core/src/errors/errors.ts:18Default error mapper for upstream and governance errors.

Implements

  • ErrorMapper

Constructors

Constructor

new DefaultErrorMapper(): DefaultErrorMapper

Returns

DefaultErrorMapper

Methods

mapError()

mapError(error): object
Defined in: packages/core/src/errors/errors.ts:19

Parameters

error
unknown

Returns

object
code
code: number
message
message: string

Implementation of

ErrorMapper.mapError
@fentaris/core / FentarisAuthDefined in: packages/core/src/auth/auth.ts:92Unified local auth configuration.

Methods

getBinding()

getBinding(serverName): { credential: string; type: "bearer"; } | { credential: string; header: string; type: "header"; } | { credential: string; env: string; type: "env"; } | undefined
Defined in: packages/core/src/auth/auth.ts:186

Parameters

serverName
string

Returns

{ credential: string; type: "bearer"; } | { credential: string; header: string; type: "header"; } | { credential: string; env: string; type: "env"; } | undefined

identityStrategy()

identityStrategy(options?): IdentityStrategy
Defined in: packages/core/src/auth/auth.ts:182

Parameters

options?
header?
string
name?
string

Returns

IdentityStrategy

resolveApiKey()

resolveApiKey(apiKey): string | null
Defined in: packages/core/src/auth/auth.ts:172

Parameters

apiKey
string

Returns

string | null

resolveCredential()

resolveCredential(reference, subject): CredentialResolution | null
Defined in: packages/core/src/auth/auth.ts:190

Parameters

reference
string
subject
ResolvedSubject

Returns

CredentialResolution | null

compareApiKey()

static compareApiKey(candidate, provided): boolean
Defined in: packages/core/src/auth/auth.ts:168Compare a stored raw or hashed API key with a provided raw key.

Parameters

candidate
string
provided
string

Returns

boolean

decryptCredentials()

static decryptCredentials(envelope, key): object
Defined in: packages/core/src/auth/auth.ts:151Decrypt and validate a local credentials envelope.

Parameters

envelope
unknown
key
string | Buffer<ArrayBufferLike>

Returns

object
defaults
defaults: Record<string, string>
groups
groups: Record<string, Record<string, string>>
users
users: Record<string, { apiKeys: string[]; credentials: Record<string, string>; }>

encryptCredentials()

static encryptCredentials(credentials, key): { algorithm: "aes-256-gcm"; ciphertext: string; iv: string; salt: string; tag: string; version: 1; } | { algorithm: "aes-256-gcm"; ciphertext: string; iv: string; kdf: { iterations: number; keyLength: 32; name: "pbkdf2-sha256"; salt: string; }; tag: string; version: 2; }
Defined in: packages/core/src/auth/auth.ts:124Build an encrypted credentials envelope for local auth files.

Parameters

credentials
defaults
Record<string, string> = ...
groups
Record<string, Record<string, string>> = ...
users
Record<string, { apiKeys: string[]; credentials: Record<string, string>; }> = ...
key
string | Buffer<ArrayBufferLike>

Returns

{ algorithm: "aes-256-gcm"; ciphertext: string; iv: string; salt: string; tag: string; version: 1; } | { algorithm: "aes-256-gcm"; ciphertext: string; iv: string; kdf: { iterations: number; keyLength: 32; name: "pbkdf2-sha256"; salt: string; }; tag: string; version: 2; }

hashApiKey()

static hashApiKey(apiKey): string
Defined in: packages/core/src/auth/auth.ts:160Return the supported API-key hash encoding for local credentials.

Parameters

apiKey
string

Returns

string

local()

static local(options): Promise<FentarisAuth>
Defined in: packages/core/src/auth/auth.ts:105Load local encrypted credentials and upstream auth bindings from a directory.

Parameters

options
LocalAuthOptions

Returns

Promise<FentarisAuth>
@fentaris/core / FentarisConfigErrorDefined in: packages/core/src/config/error.ts:8Error thrown when Fentaris configuration validation reports error diagnostics.

Extends

  • Error

Constructors

Constructor

new FentarisConfigError(diagnostics, message?): FentarisConfigError
Defined in: packages/core/src/config/error.ts:11

Parameters

diagnostics
readonly FentarisDiagnostic[]
message?
string

Returns

FentarisConfigError

Overrides

Error.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

Error.cause

diagnostics

readonly diagnostics: FentarisDiagnostic[]
Defined in: packages/core/src/config/error.ts:9

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

Error.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

Error.name

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

Error.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

Error.stackTraceLimit

Methods

format()

format(options?): string
Defined in: packages/core/src/config/error.ts:17

Parameters

options?
FentarisDiagnosticFormatterOptions = {}

Returns

string

toJSON()

toJSON(): object
Defined in: packages/core/src/config/error.ts:21

Returns

object
diagnostics
diagnostics: FentarisDiagnostic[]
message
message: string
name
name: string

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

Error.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace
@fentaris/core / FentarisExtensionErrorDefined in: packages/core/src/profiler/errors.ts:47Runtime profiler, event, sink, and runtime error APIs.

Extends

  • FentarisRuntimeError

Constructors

Constructor

new FentarisExtensionError(message, options?): FentarisExtensionError
Defined in: packages/core/src/profiler/errors.ts:48

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisExtensionError

Overrides

FentarisRuntimeError.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

FentarisRuntimeError.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

Inherited from

FentarisRuntimeError.code

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

Inherited from

FentarisRuntimeError.context

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

Inherited from

FentarisRuntimeError.hints

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

FentarisRuntimeError.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

FentarisRuntimeError.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

Inherited from

FentarisRuntimeError.severity

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

FentarisRuntimeError.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

FentarisRuntimeError.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

FentarisRuntimeError.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

FentarisRuntimeError.prepareStackTrace
@fentaris/core / FentarisMcpErrorDefined in: packages/core/src/profiler/errors.ts:29Runtime profiler, event, sink, and runtime error APIs.

Extends

  • FentarisRuntimeError

Constructors

Constructor

new FentarisMcpError(message, options?): FentarisMcpError
Defined in: packages/core/src/profiler/errors.ts:30

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisMcpError

Overrides

FentarisRuntimeError.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

FentarisRuntimeError.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

Inherited from

FentarisRuntimeError.code

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

Inherited from

FentarisRuntimeError.context

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

Inherited from

FentarisRuntimeError.hints

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

FentarisRuntimeError.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

FentarisRuntimeError.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

Inherited from

FentarisRuntimeError.severity

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

FentarisRuntimeError.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

FentarisRuntimeError.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

FentarisRuntimeError.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

FentarisRuntimeError.prepareStackTrace
@fentaris/core / FentarisPolicyErrorDefined in: packages/core/src/profiler/errors.ts:41Runtime profiler, event, sink, and runtime error APIs.

Extends

  • FentarisRuntimeError

Constructors

Constructor

new FentarisPolicyError(message, options?): FentarisPolicyError
Defined in: packages/core/src/profiler/errors.ts:42

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisPolicyError

Overrides

FentarisRuntimeError.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

FentarisRuntimeError.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

Inherited from

FentarisRuntimeError.code

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

Inherited from

FentarisRuntimeError.context

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

Inherited from

FentarisRuntimeError.hints

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

FentarisRuntimeError.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

FentarisRuntimeError.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

Inherited from

FentarisRuntimeError.severity

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

FentarisRuntimeError.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

FentarisRuntimeError.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

FentarisRuntimeError.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

FentarisRuntimeError.prepareStackTrace
@fentaris/core / FentarisRuntimeErrorDefined in: packages/core/src/profiler/errors.ts:13Runtime profiler, event, sink, and runtime error APIs.

Extends

  • Error

Extended by

  • FentarisExtensionError
  • FentarisMcpError
  • FentarisPolicyError
  • FentarisTimeoutError
  • FentarisTransportError

Constructors

Constructor

new FentarisRuntimeError(message, options?): FentarisRuntimeError
Defined in: packages/core/src/profiler/errors.ts:19

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisRuntimeError

Overrides

Error.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

Error.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

Error.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

Error.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

Error.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

Error.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

Error.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace
@fentaris/core / FentarisTimeoutErrorDefined in: packages/core/src/profiler/errors.ts:53Runtime profiler, event, sink, and runtime error APIs.

Extends

  • FentarisRuntimeError

Constructors

Constructor

new FentarisTimeoutError(message, options?): FentarisTimeoutError
Defined in: packages/core/src/profiler/errors.ts:54

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisTimeoutError

Overrides

FentarisRuntimeError.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

FentarisRuntimeError.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

Inherited from

FentarisRuntimeError.code

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

Inherited from

FentarisRuntimeError.context

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

Inherited from

FentarisRuntimeError.hints

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

FentarisRuntimeError.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

FentarisRuntimeError.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

Inherited from

FentarisRuntimeError.severity

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

FentarisRuntimeError.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

FentarisRuntimeError.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

FentarisRuntimeError.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

FentarisRuntimeError.prepareStackTrace
@fentaris/core / FentarisTransportErrorDefined in: packages/core/src/profiler/errors.ts:35Runtime profiler, event, sink, and runtime error APIs.

Extends

  • FentarisRuntimeError

Constructors

Constructor

new FentarisTransportError(message, options?): FentarisTransportError
Defined in: packages/core/src/profiler/errors.ts:36

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisTransportError

Overrides

FentarisRuntimeError.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

FentarisRuntimeError.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

Inherited from

FentarisRuntimeError.code

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

Inherited from

FentarisRuntimeError.context

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

Inherited from

FentarisRuntimeError.hints

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

FentarisRuntimeError.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

FentarisRuntimeError.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

Inherited from

FentarisRuntimeError.severity

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

FentarisRuntimeError.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

FentarisRuntimeError.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

FentarisRuntimeError.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

FentarisRuntimeError.prepareStackTrace
@fentaris/core / GroupDefined in: packages/core/src/governance/governance.ts:43First-class group declaration that owns users and policy.

Constructors

Constructor

new Group(options): Group
Defined in: packages/core/src/governance/governance.ts:52

Parameters

options
GroupOptions

Returns

Group

Properties

credentials

readonly credentials: CredentialSourceMap
Defined in: packages/core/src/governance/governance.ts:48

id

readonly id: string
Defined in: packages/core/src/governance/governance.ts:44

metadata?

readonly optional metadata?: Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:50

name?

readonly optional name?: string
Defined in: packages/core/src/governance/governance.ts:45

policy

readonly policy: PolicyContract
Defined in: packages/core/src/governance/governance.ts:47

servers

readonly servers: McpServer[]
Defined in: packages/core/src/governance/governance.ts:49

users

readonly users: User[]
Defined in: packages/core/src/governance/governance.ts:46
@fentaris/core / HttpProxyExposureTransportDefined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:52HTTP Streamable MCP downstream proxy exposure.

Implements

  • ProxyExposureTransport<HttpProxyExposureHandle>

Constructors

Constructor

new HttpProxyExposureTransport(options?): HttpProxyExposureTransport
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:60Create an HTTP proxy exposure transport.

Parameters

options?
HttpProxyExposureTransportOptions = {}

Returns

HttpProxyExposureTransport

Methods

listen()

listen(runtime): Promise<HttpProxyExposureHandle>
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:69

Parameters

runtime
ProxyRuntime

Returns

Promise<HttpProxyExposureHandle>

Implementation of

ProxyExposureTransport.listen
@fentaris/core / HttpTransportDefined in: packages/core/src/transports/client/HttpTransport.ts:31HTTP-based MCP transport adapter.

Implements

  • FentarisTransport

Constructors

Constructor

new HttpTransport(options): HttpTransport
Defined in: packages/core/src/transports/client/HttpTransport.ts:39Create a new HTTP transport.

Parameters

options
HttpTransportOptions

Returns

HttpTransport

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/transports/client/HttpTransport.ts:68

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

FentarisTransport.callTool

close()

close(): Promise<void>
Defined in: packages/core/src/transports/client/HttpTransport.ts:72

Returns

Promise<void>

Implementation of

FentarisTransport.close

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/transports/client/HttpTransport.ts:64

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

Implementation of

FentarisTransport.listTools

withEnv()

withEnv(env): HttpTransport
Defined in: packages/core/src/transports/client/HttpTransport.ts:52Return a copy with explicitly mapped env-derived headers merged in.

Parameters

env
Record<string, string>

Returns

HttpTransport
@fentaris/core / InProcessIsolationDefined in: packages/core/src/isolation/isolation.ts:14In-process per-user isolation runtime.

Implements

  • Isolation

Constructors

Constructor

new InProcessIsolation(options?): InProcessIsolation
Defined in: packages/core/src/isolation/isolation.ts:23Create an in-process isolation runtime.

Parameters

options?
maxConcurrency?
number

Returns

InProcessIsolation

Methods

close()

close(): void
Defined in: packages/core/src/isolation/isolation.ts:47

Returns

void

Implementation of

Isolation.close

queue()

queue(userId, fn, timeout?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/isolation/isolation.ts:30

Parameters

userId
string
fn
() => MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
timeout?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

Isolation.queue
@fentaris/core / JsonConsoleLoggerDriverDefined in: packages/core/src/logging/logger.ts:104Console driver that writes one JSON log entry per line.

Implements

  • LoggerDriver

Constructors

Constructor

new JsonConsoleLoggerDriver(options?): JsonConsoleLoggerDriver
Defined in: packages/core/src/logging/logger.ts:111Create a JSON console logger driver.

Parameters

options?
JsonConsoleLoggerDriverOptions = {}

Returns

JsonConsoleLoggerDriver

Methods

write()

write(entry): void
Defined in: packages/core/src/logging/logger.ts:119Write the log entry as a single JSON line.

Parameters

entry
LogEntry

Returns

void

Implementation of

LoggerDriver.write
@fentaris/core / LocalSecretsBackendDefined in: packages/core/src/secrets/local-backend.ts:18Local encrypted secrets backend backed by credentials.enc.json.

Implements

  • SecretsBackend

Constructors

Constructor

new LocalSecretsBackend(options): LocalSecretsBackend
Defined in: packages/core/src/secrets/local-backend.ts:24

Parameters

options
LocalSecretsBackendOptions

Returns

LocalSecretsBackend

Properties

provider

readonly provider: "local"
Defined in: packages/core/src/secrets/local-backend.ts:19

Implementation of

SecretsBackend.provider

Methods

addUserApiKey()

addUserApiKey(userId, apiKey): Promise<boolean>
Defined in: packages/core/src/secrets/local-backend.ts:81Add a hashed API key for a local user identity.

Parameters

userId
string
apiKey
string

Returns

Promise<boolean>

credentialsExist()

credentialsExist(): Promise<boolean>
Defined in: packages/core/src/secrets/local-backend.ts:157

Returns

Promise<boolean>

has()

has(ref, scope): Promise<boolean>
Defined in: packages/core/src/secrets/local-backend.ts:47

Parameters

ref
string
scope
SecretScope

Returns

Promise<boolean>

Implementation of

SecretsBackend.has

initEmpty()

initEmpty(): Promise<void>
Defined in: packages/core/src/secrets/local-backend.ts:153

Returns

Promise<void>

listRefs()

listRefs(): Promise<SecretRef[]>
Defined in: packages/core/src/secrets/local-backend.ts:39

Returns

Promise<SecretRef[]>

Implementation of

SecretsBackend.listRefs

removeUserApiKey()

removeUserApiKey(userId, apiKey): Promise<boolean>
Defined in: packages/core/src/secrets/local-backend.ts:99Remove a local user API key by matching its raw value.

Parameters

userId
string
apiKey
string

Returns

Promise<boolean>

set()

set(ref, value, scope): Promise<void>
Defined in: packages/core/src/secrets/local-backend.ts:61

Parameters

ref
string
value
string
scope
SecretScope

Returns

Promise<void>

Implementation of

SecretsBackend.set

unset()

unset(ref, scope): Promise<boolean>
Defined in: packages/core/src/secrets/local-backend.ts:120

Parameters

ref
string
scope
SecretScope

Returns

Promise<boolean>

Implementation of

SecretsBackend.unset

open()

static open(options): Promise<LocalSecretsBackend>
Defined in: packages/core/src/secrets/local-backend.ts:34Create a backend when the encrypted store may not exist yet.

Parameters

options
LocalSecretsBackendOptions

Returns

Promise<LocalSecretsBackend>
@fentaris/core / LoggerDefined in: packages/core/src/logging/logger.ts:191Structured logger with level filtering.

Constructors

Constructor

new Logger(options?): Logger
Defined in: packages/core/src/logging/logger.ts:204Create a new logger instance.

Parameters

options?
LoggerOptions = {}

Returns

Logger

Methods

annotate()

annotate(key, value): this
Defined in: packages/core/src/logging/logger.ts:236Add mutable metadata that will be included in future log writes.

Parameters

key
string
value
unknown

Returns

this

child()

child(context): Logger
Defined in: packages/core/src/logging/logger.ts:217Create a child logger with merged context.

Parameters

context
Record<string, unknown>

Returns

Logger

debug()

debug(message, metadata?): void
Defined in: packages/core/src/logging/logger.ts:254Emit a debug log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

error()

error(message, metadata?): void
Defined in: packages/core/src/logging/logger.ts:278Emit an error log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

fatal()

fatal(message, metadata?): void
Defined in: packages/core/src/logging/logger.ts:286Emit a fatal log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

info()

info(message, metadata?): void
Defined in: packages/core/src/logging/logger.ts:262Emit an info log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

setTag()

setTag(key, value): this
Defined in: packages/core/src/logging/logger.ts:245Add a tag to future log writes.

Parameters

key
string
value
unknown

Returns

this

warn()

warn(message, metadata?): void
Defined in: packages/core/src/logging/logger.ts:270Emit a warning log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void
@fentaris/core / McpProxyDefined in: packages/core/src/proxy/McpProxy.ts:258HTTP proxy for multiple MCP servers.

Constructors

Constructor

new McpProxy(options?): McpProxy
Defined in: packages/core/src/proxy/McpProxy.ts:301Create a new MCP proxy instance.

Parameters

options?
McpProxyOptions = {}

Returns

McpProxy

Methods

addGroupUsers()

addGroupUsers(groupId, users): void
Defined in: packages/core/src/proxy/McpProxy.ts:1615

Parameters

groupId
string
users
User[]

Returns

void

assertGroupHandleKnown()

assertGroupHandleKnown(groupId): void
Defined in: packages/core/src/proxy/McpProxy.ts:1655

Parameters

groupId
string

Returns

void

assertServerHandleVisible()

assertServerHandleVisible(serverName, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:1627

Parameters

serverName
string
groupId?
string

Returns

void

callTool()

callTool(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/proxy/McpProxy.ts:892Call a proxied tool with middleware dispatch.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

close()

close(): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:708Close the HTTP server and all backends.

Returns

Promise<void>

complete()

complete(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1393Complete a proxied prompt or resource-template argument.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

emitSessionEnd()

emitSessionEnd(context): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1500Emit a downstream session end lifecycle event.

Parameters

context
LifecycleHookContext

Returns

Promise<void>

emitSessionStart()

emitSessionStart(context): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1462Emit a downstream session start lifecycle event.

Parameters

context
LifecycleHookContext

Returns

Promise<void>

getPrompt()

getPrompt(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1348Get a proxied prompt from its owning upstream server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

group()

group(groupId): ProxyGroupHandle
Defined in: packages/core/src/proxy/McpProxy.ts:507Register or retrieve a scoped group handle.

Parameters

groupId
string

Returns

ProxyGroupHandle

health()

health(): Promise<HealthReport>
Defined in: packages/core/src/proxy/McpProxy.ts:756Run configured runtime health checks.

Returns

Promise<HealthReport>

listen()

listen<THandle>(transport): Promise<THandle>
Defined in: packages/core/src/proxy/McpProxy.ts:654Start the proxy with an explicit downstream exposure transport.

Type Parameters

THandle
THandle extends ProxyExposureHandle

Parameters

transport
ProxyExposureTransport<THandle>

Returns

Promise<THandle>

listPrompts()

listPrompts(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1288List prompts across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

listResources()

listResources(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1103List resources across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

listResourceTemplates()

listResourceTemplates(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1222List resource templates across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

listTools()

listTools(params?, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:812List tools across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

local()

local(name): ProxyLocalHandle
Defined in: packages/core/src/proxy/McpProxy.ts:497Register or retrieve a named local MCP capability namespace.

Parameters

name
string

Returns

ProxyLocalHandle

mcp()

Call Signature

mcp(name): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:426Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
Returns
ProxyMcpHandle

Call Signature

mcp(name, options): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:427Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
options
ProxyMcpDeclarationOptions
Returns
ProxyMcpHandle

Call Signature

mcp(name, server): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:428Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
server
McpServer
Returns
ProxyMcpHandle

Call Signature

mcp(config): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:429Register or retrieve a scoped upstream MCP handle.
Parameters
config
McpServerOptions
Returns
ProxyMcpHandle

mcpHealth()

mcpHealth(name): Promise<HealthCheckResult>
Defined in: packages/core/src/proxy/McpProxy.ts:803Check a configured upstream MCP server health.

Parameters

name
string

Returns

Promise<HealthCheckResult>

on()

Call Signature

on(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:516Register an event hook.
Parameters
event
"call"
handler
ToolCallHook
Returns
this

Call Signature

on(event, filter, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:521Register a filtered event hook.
Parameters
event
"call"
filter
ToolCallHookFilter
handler
ToolCallHook
Returns
this

Call Signature

on(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:526Register a unified proxy event handler.
Parameters
event
ProxyEventName
handler
ProxyEventHandler
Returns
this

Call Signature

on(event, filter, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:531Register a filtered unified proxy event handler.
Parameters
event
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
this

onLifecycle()

onLifecycle(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:565Register a lifecycle hook.

Parameters

event
LifecycleHookEvent
handler
LifecycleHook

Returns

this

onListTools()

onListTools(hook): this
Defined in: packages/core/src/proxy/McpProxy.ts:580Register a hook that can transform listed tools.

Parameters

hook
ListToolsHook

Returns

this

operation()

operation(operation, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:374Register a global operation route for governed non-tool operations.

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

this

pingMcp()

pingMcp(name): Promise<HealthCheckResult>
Defined in: packages/core/src/proxy/McpProxy.ts:794Ping a configured upstream MCP server by listing tools.

Parameters

name
string

Returns

Promise<HealthCheckResult>

policy()

policy(name): Policy
Defined in: packages/core/src/proxy/McpProxy.ts:383Register or retrieve a named app-level policy declaration.

Parameters

name
string

Returns

Policy

readResource()

readResource(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1169Read a proxied resource from its owning upstream server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

ready()

ready(options?): Promise<RuntimeLifecycleSnapshot>
Defined in: packages/core/src/proxy/McpProxy.ts:716Wait for the runtime to reach readiness.

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<RuntimeLifecycleSnapshot>

registerGroupEvent()

registerGroupEvent(groupId, eventName, filter, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:1603

Parameters

groupId
string
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler

Returns

void

registerGroupMiddleware()

registerGroupMiddleware(groupId, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:1593

Parameters

groupId
string
handler
Middleware

Returns

void

registerGroupOperation()

registerGroupOperation(groupId, operation, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:1598

Parameters

groupId
string
operation
ProxyOperation
handler
ProxyMiddleware

Returns

void

registerServerEvent()

registerServerEvent(serverName, eventName, filter, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:1580

Parameters

serverName
string
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
groupId?
string

Returns

void

registerServerMiddleware()

registerServerMiddleware(serverName, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:1565

Parameters

serverName
string
handler
Middleware
groupId?
string

Returns

void

registerServerOperation()

registerServerOperation(serverName, operation, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:1575

Parameters

serverName
string
operation
ProxyOperation
handler
ProxyMiddleware
groupId?
string

Returns

void

registerServerTool()

registerServerTool(serverName, pattern, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:1570

Parameters

serverName
string
pattern
string
handler
ProxyMiddleware
groupId?
string

Returns

void

resolveHttpUser()

resolveHttpUser(req): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1445Resolve user context from an HTTP downstream request.

Parameters

req
IncomingMessage

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

resolveStdioUser()

resolveStdioUser(): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1453Resolve user context for non-HTTP stdio downstream exposure.

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

server()

Call Signature

server(name): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:474Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
Returns
ProxyMcpHandle

Call Signature

server(name, options): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:475Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
options
ProxyMcpDeclarationOptions
Returns
ProxyMcpHandle

Call Signature

server(name, server): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:476Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
server
McpServer
Returns
ProxyMcpHandle

Call Signature

server(config): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:477Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
config
McpServerOptions
Returns
ProxyMcpHandle

setGroupPolicy()

setGroupPolicy(groupId, policy): void
Defined in: packages/core/src/proxy/McpProxy.ts:1621

Parameters

groupId
string
policy
string | PolicyContract

Returns

void

start()

Call Signature

start(onStarted?): Promise<Server<typeof IncomingMessage, typeof ServerResponse>>
Defined in: packages/core/src/proxy/McpProxy.ts:589Start the HTTP server.
Parameters
onStarted?
() => void
Returns
Promise<Server<typeof IncomingMessage, typeof ServerResponse>>

Call Signature

start(options?, onStarted?): Promise<Server<typeof IncomingMessage, typeof ServerResponse>>
Defined in: packages/core/src/proxy/McpProxy.ts:594Start the HTTP server with optional overrides.
Parameters
options?
McpProxyStartOptions
onStarted?
() => void
Returns
Promise<Server<typeof IncomingMessage, typeof ServerResponse>>

state()

state(): RuntimeLifecycleSnapshot
Defined in: packages/core/src/proxy/McpProxy.ts:748Inspect the current runtime lifecycle state.

Returns

RuntimeLifecycleSnapshot

stop()

stop(options?): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:724Stop the runtime and close owned resources.

Parameters

options?
McpProxyStopOptions = {}

Returns

Promise<void>

tool()

tool(pattern, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:365Register a global tool route with a public server.tool pattern.

Parameters

pattern
string
handler
ProxyMiddleware

Returns

this

use()

Call Signature

use(middleware): this
Defined in: packages/core/src/proxy/McpProxy.ts:353Register a middleware handler.
Parameters
middleware
ProxyMiddleware
Returns
this

Call Signature

use(middleware): this
Defined in: packages/core/src/proxy/McpProxy.ts:354Register a middleware handler.
Parameters
middleware
LegacyMiddleware
Returns
this

usePolicy()

usePolicy(policyNameOrPolicy): this
Defined in: packages/core/src/proxy/McpProxy.ts:399Apply a named or concrete policy as the global proxy policy.

Parameters

policyNameOrPolicy
string | PolicyContract

Returns

this
@fentaris/core / McpServerDefined in: packages/core/src/server/McpServer.ts:90MCP server wrapper with optional per-user env injection.

Constructors

Constructor

new McpServer(options): McpServer
Defined in: packages/core/src/server/McpServer.ts:105Create a new MCP server wrapper.

Parameters

options
McpServerOptions

Returns

McpServer

Properties

displayName

readonly displayName: string
Defined in: packages/core/src/server/McpServer.ts:92

name

readonly name: string
Defined in: packages/core/src/server/McpServer.ts:91

Methods

callTool()

callTool(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/server/McpServer.ts:129Call a tool for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

close()

close(): Promise<void>
Defined in: packages/core/src/server/McpServer.ts:263Close all transports.

Returns

Promise<void>

complete()

complete(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/server/McpServer.ts:213Complete a prompt or resource argument for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

getCredentialBindings()

getCredentialBindings(): ServerCredentialBinding[]
Defined in: packages/core/src/server/McpServer.ts:274Credential bindings declared with this server.

Returns

ServerCredentialBinding[]

getPrompt()

getPrompt(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:200Get a prompt for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

listPrompts()

listPrompts(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:187List prompts for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

listResources()

listResources(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:145List resources for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

listResourceTemplates()

listResourceTemplates(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:171List resource templates for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

listTools()

listTools(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:121List tools for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

readResource()

readResource(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/server/McpServer.ts:158Read a resource for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

supportsCompletions()

supportsCompletions(): boolean
Defined in: packages/core/src/server/McpServer.ts:255Whether the configured transport exposes completion operations.

Returns

boolean

supportsPrompts()

supportsPrompts(): boolean
Defined in: packages/core/src/server/McpServer.ts:247Whether the configured transport exposes prompt operations.

Returns

boolean

supportsResources()

supportsResources(): boolean
Defined in: packages/core/src/server/McpServer.ts:239Whether the configured transport exposes resource operations.

Returns

boolean

withProxyContext()

withProxyContext<T>(context, run): Promise<T>
Defined in: packages/core/src/server/McpServer.ts:226Run a server operation with a governed proxy context when the transport supports it.

Type Parameters

T
T

Parameters

context
ProxyContext
run
() => Promise<T>

Returns

Promise<T>
@fentaris/core / MemoryRateLimitStoreDefined in: packages/core/src/rate-limit/rateLimit.ts:21In-memory rate limit store with expiring buckets.

Implements

  • RateLimitStore

Constructors

Constructor

new MemoryRateLimitStore(): MemoryRateLimitStore

Returns

MemoryRateLimitStore

Methods

consume()

consume(key, window, limit): Promise<boolean>
Defined in: packages/core/src/rate-limit/rateLimit.ts:36

Parameters

key
string
window
number
limit
number

Returns

Promise<boolean>

Implementation of

RateLimitStore.consume

consumeMany()

consumeMany(limits): Promise<boolean>
Defined in: packages/core/src/rate-limit/rateLimit.ts:56

Parameters

limits
RateLimitBucket[]

Returns

Promise<boolean>

Implementation of

RateLimitStore.consumeMany

get()

get(key): Promise<number>
Defined in: packages/core/src/rate-limit/rateLimit.ts:82

Parameters

key
string

Returns

Promise<number>

Implementation of

RateLimitStore.get

increment()

increment(key, window): Promise<number>
Defined in: packages/core/src/rate-limit/rateLimit.ts:24

Parameters

key
string
window
number

Returns

Promise<number>

Implementation of

RateLimitStore.increment

reset()

reset(key): Promise<void>
Defined in: packages/core/src/rate-limit/rateLimit.ts:86

Parameters

key
string

Returns

Promise<void>

Implementation of

RateLimitStore.reset
@fentaris/core / MemoryRegistryDefined in: packages/core/src/registry/registry.ts:26Development registry backed by in-memory maps.

Implements

  • Registry

Constructors

Constructor

new MemoryRegistry(options?): MemoryRegistry
Defined in: packages/core/src/registry/registry.ts:35Create an in-memory registry.

Parameters

options?
secrets?
Record<string, Record<string, string>>
tokens?
Record<string, Record<string, string>>
users?
Record<string, UserContext>

Returns

MemoryRegistry

Methods

getSecrets()

getSecrets(userId): Promise<Record<string, string> | null>
Defined in: packages/core/src/registry/registry.ts:84

Parameters

userId
string

Returns

Promise<Record<string, string> | null>

Implementation of

Registry.getSecrets

getTokens()

getTokens(userId): Promise<Record<string, string> | null>
Defined in: packages/core/src/registry/registry.ts:88

Parameters

userId
string

Returns

Promise<Record<string, string> | null>

Implementation of

Registry.getTokens

getUser()

getUser(userId): Promise<UserContext | null>
Defined in: packages/core/src/registry/registry.ts:80

Parameters

userId
string

Returns

Promise<UserContext | null>

Implementation of

Registry.getUser

setSecrets()

setSecrets(userId, secrets): this
Defined in: packages/core/src/registry/registry.ts:66Store or replace user secrets.

Parameters

userId
string
secrets
Record<string, string>

Returns

this

setTokens()

setTokens(userId, tokens): this
Defined in: packages/core/src/registry/registry.ts:75Store or replace user tokens.

Parameters

userId
string
tokens
Record<string, string>

Returns

this

setUser()

setUser(userId, user): this
Defined in: packages/core/src/registry/registry.ts:57Store or replace a user record.

Parameters

userId
string
user
UserContext

Returns

this
@fentaris/core / MissingHttpTransportCredentialErrorDefined in: packages/core/src/transports/auth/transportAuth.ts:44Error thrown before an upstream HTTP-family request when required credentials are missing.

Extends

  • Error

Constructors

Constructor

new MissingHttpTransportCredentialError(message?): MissingHttpTransportCredentialError
Defined in: packages/core/src/transports/auth/transportAuth.ts:47

Parameters

message?
string = "Missing required upstream HTTP transport credentials"

Returns

MissingHttpTransportCredentialError

Overrides

Error.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

Error.cause

code

readonly code: -32040 = FentarisErrorCode.Unauthorized
Defined in: packages/core/src/transports/auth/transportAuth.ts:45

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

Error.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

Error.name

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

Error.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

Error.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

Error.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace
@fentaris/core / PolicyDefined in: packages/core/src/governance/governance.ts:97Fluent policy declaration.

Implements

  • PolicyContract

Constructors

Constructor

new Policy(options): Policy
Defined in: packages/core/src/governance/governance.ts:104

Parameters

options
description?
string
metadata?
{[key: string]: unknown; maxDailyCalls?: number; requiresApproval?: boolean; }
metadata.maxDailyCalls?
number
metadata.requiresApproval?
boolean
name
string

Returns

Policy

Properties

description?

readonly optional description?: string
Defined in: packages/core/src/governance/governance.ts:99

Implementation of

PolicyContract.description

metadata?

readonly optional metadata?: object
Defined in: packages/core/src/governance/governance.ts:100

Index Signature

[key: string]: unknown

maxDailyCalls?

optional maxDailyCalls?: number

requiresApproval?

optional requiresApproval?: boolean

Implementation of

PolicyContract.metadata

name

readonly name: string
Defined in: packages/core/src/governance/governance.ts:98

Implementation of

PolicyContract.name

Methods

allow()

allow(serverName, toolName, options?): this
Defined in: packages/core/src/governance/governance.ts:134Add an allow permission.

Parameters

serverName
string
toolName
string
options?
ToolPermissionOptions = {}

Returns

this

allowCapability()

allowCapability(serverName, permission): this
Defined in: packages/core/src/governance/governance.ts:150Add an allow permission for any governed MCP operation.

Parameters

serverName
string
permission
CapabilityPermissionOptions

Returns

this

deny()

deny(serverName, toolName, options?): this
Defined in: packages/core/src/governance/governance.ts:142Add a deny permission.

Parameters

serverName
string
toolName
string
options?
ToolPermissionOptions = {}

Returns

this

denyCapability()

denyCapability(serverName, permission): this
Defined in: packages/core/src/governance/governance.ts:158Add a deny permission for any governed MCP operation.

Parameters

serverName
string
permission
CapabilityPermissionOptions

Returns

this

evaluate()

evaluate(request, user, context?): Promise<PolicyDecision>
Defined in: packages/core/src/governance/governance.ts:197

Parameters

request
ToolCallRequest | CapabilityOperationRequest
user
UserContext
context?
MiddlewareContext

Returns

Promise<PolicyDecision>

Implementation of

PolicyContract.evaluate

getCapabilityPermissions()

getCapabilityPermissions(serverName): CapabilityPermission[]
Defined in: packages/core/src/governance/governance.ts:169

Parameters

serverName
string

Returns

CapabilityPermission[]

Implementation of

PolicyContract.getCapabilityPermissions

getDeclaredPermissions()

getDeclaredPermissions(): object[]
Defined in: packages/core/src/governance/governance.ts:189Return policy declarations for static configuration validation.

Returns

object[]

getDeclaredServerNames()

getDeclaredServerNames(): string[]
Defined in: packages/core/src/governance/governance.ts:181Return the server names explicitly declared by this policy.

Returns

string[]

getPermissions()

getPermissions(serverName): ToolPermission[]
Defined in: packages/core/src/governance/governance.ts:162

Parameters

serverName
string

Returns

ToolPermission[]

Implementation of

PolicyContract.getPermissions

mcp()

mcp(serverName): PolicyMcpBuilder
Defined in: packages/core/src/governance/governance.ts:126Select an upstream MCP server for fluent permission declarations.

Parameters

serverName
string

Returns

PolicyMcpBuilder

allowAll()

static allowAll(name?): Policy
Defined in: packages/core/src/governance/governance.ts:118Create an allow-all policy.

Parameters

name?
string = "allow-all"

Returns

Policy
@fentaris/core / PolicyMcpBuilderDefined in: packages/core/src/governance/governance.ts:292Builder returned by policy.mcp(name).

Constructors

Constructor

new PolicyMcpBuilder(policy, serverName): PolicyMcpBuilder
Defined in: packages/core/src/governance/governance.ts:293

Parameters

policy
Policy
serverName
string

Returns

PolicyMcpBuilder

Methods

allow()

allow(toolName, options?): Policy
Defined in: packages/core/src/governance/governance.ts:298

Parameters

toolName
string
options?
ToolPermissionOptions = {}

Returns

Policy

allowCapability()

allowCapability(permission): Policy
Defined in: packages/core/src/governance/governance.ts:306

Parameters

permission
CapabilityPermissionOptions

Returns

Policy

deny()

deny(toolName, options?): Policy
Defined in: packages/core/src/governance/governance.ts:302

Parameters

toolName
string
options?
ToolPermissionOptions = {}

Returns

Policy

denyCapability()

denyCapability(permission): Policy
Defined in: packages/core/src/governance/governance.ts:310

Parameters

permission
CapabilityPermissionOptions

Returns

Policy
@fentaris/core / RedisLoggerDriverDefined in: packages/core/src/logging/logger.ts:169Redis-backed logger driver that appends JSON log entries to a list.

Implements

  • LoggerDriver

Constructors

Constructor

new RedisLoggerDriver(options): RedisLoggerDriver
Defined in: packages/core/src/logging/logger.ts:177Create a Redis logger driver.

Parameters

options
RedisLoggerDriverOptions

Returns

RedisLoggerDriver

Methods

write()

write(entry): Promise<void>
Defined in: packages/core/src/logging/logger.ts:182

Parameters

entry
LogEntry

Returns

Promise<void>

Implementation of

LoggerDriver.write
@fentaris/core / RedisRegistryDefined in: packages/core/src/registry/registry.ts:101Redis-backed registry using JSON values.

Implements

  • Registry

Constructors

Constructor

new RedisRegistry(options): RedisRegistry
Defined in: packages/core/src/registry/registry.ts:109Create a Redis-backed registry.

Parameters

options
RedisRegistryOptions

Returns

RedisRegistry

Methods

getSecrets()

getSecrets(userId): Promise<Record<string, string> | null>
Defined in: packages/core/src/registry/registry.ts:142

Parameters

userId
string

Returns

Promise<Record<string, string> | null>

Implementation of

Registry.getSecrets

getTokens()

getTokens(userId): Promise<Record<string, string> | null>
Defined in: packages/core/src/registry/registry.ts:146

Parameters

userId
string

Returns

Promise<Record<string, string> | null>

Implementation of

Registry.getTokens

getUser()

getUser(userId): Promise<UserContext | null>
Defined in: packages/core/src/registry/registry.ts:138

Parameters

userId
string

Returns

Promise<UserContext | null>

Implementation of

Registry.getUser

setSecrets()

setSecrets(userId, secrets): Promise<void>
Defined in: packages/core/src/registry/registry.ts:126Store or replace user secrets.

Parameters

userId
string
secrets
Record<string, string>

Returns

Promise<void>

setTokens()

setTokens(userId, tokens): Promise<void>
Defined in: packages/core/src/registry/registry.ts:134Store or replace user tokens.

Parameters

userId
string
tokens
Record<string, string>

Returns

Promise<void>

setUser()

setUser(userId, user): Promise<void>
Defined in: packages/core/src/registry/registry.ts:118Store or replace a user record.

Parameters

userId
string
user
UserContext

Returns

Promise<void>
@fentaris/core / ResponseControllerDefined in: packages/core/src/types/middleware.ts:93Helper for returning allow/deny responses from middleware.

Constructors

Constructor

new ResponseController(): ResponseController

Returns

ResponseController

Methods

continue()

continue(): undefined
Defined in: packages/core/src/types/middleware.ts:128Allow middleware to continue without overriding the response.

Returns

undefined

deny()

deny(message): object
Defined in: packages/core/src/types/middleware.ts:102Deny a tool call with a message.

Parameters

message
string

Returns

object
_meta?
optional _meta?: object
Index Signature
[key: string]: unknown
_meta.io.modelcontextprotocol/related-task?
optional io.modelcontextprotocol/related-task?: object
If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
taskId: string
_meta.progressToken?
optional progressToken?: string | number
If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
content
content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]
isError?
optional isError?: boolean
structuredContent?
optional structuredContent?: object
Index Signature
[key: string]: unknown

fail()

fail(code, message): object
Defined in: packages/core/src/types/middleware.ts:113Return a structured MCP-style error without throwing.

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: object
Index Signature
[key: string]: unknown
_meta.io.modelcontextprotocol/related-task?
optional io.modelcontextprotocol/related-task?: object
If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
taskId: string
_meta.progressToken?
optional progressToken?: string | number
If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
content
content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]
isError?
optional isError?: boolean
structuredContent?
optional structuredContent?: object
Index Signature
[key: string]: unknown

injectToAgent()

injectToAgent(message): void
Defined in: packages/core/src/types/middleware.ts:136Add guidance for the calling agent to the eventual tool response.

Parameters

message
string

Returns

void

on()

on(event, handler): void
Defined in: packages/core/src/types/middleware.ts:146Register a response event handler.

Parameters

event
"error"
handler
(error) => MaybePromise<void>

Returns

void
@fentaris/core / RuntimeProfilerDefined in: packages/core/src/profiler/profiler.ts:168Runtime profiler, event, sink, and runtime error APIs.

Constructors

Constructor

new RuntimeProfiler(config): RuntimeProfiler
Defined in: packages/core/src/profiler/profiler.ts:169

Parameters

config
NormalizedRuntimeProfiler | null

Returns

RuntimeProfiler

Methods

emit()

emit(event): Promise<void>
Defined in: packages/core/src/profiler/profiler.ts:171

Parameters

event
RuntimeEvent

Returns

Promise<void>
@fentaris/core / SimplePolicyDefined in: packages/core/src/policy/policy.ts:10Default policy implementation with RBAC-style permissions.

Implements

  • PolicyContract

Constructors

Constructor

new SimplePolicy(options): SimplePolicy
Defined in: packages/core/src/policy/policy.ts:21Create a new policy.

Parameters

options
capabilityPermissions?
Record<string, CapabilityPermission[]>
description?
string
metadata?
{[key: string]: unknown; maxDailyCalls?: number; requiresApproval?: boolean; }
metadata.maxDailyCalls?
number
metadata.requiresApproval?
boolean
name
string
permissions
Record<string, ToolPermission[]>

Returns

SimplePolicy

Properties

description?

readonly optional description?: string
Defined in: packages/core/src/policy/policy.ts:12

Implementation of

PolicyContract.description

metadata?

readonly optional metadata?: object
Defined in: packages/core/src/policy/policy.ts:15

Index Signature

[key: string]: unknown

maxDailyCalls?

optional maxDailyCalls?: number

requiresApproval?

optional requiresApproval?: boolean

Implementation of

PolicyContract.metadata

name

readonly name: string
Defined in: packages/core/src/policy/policy.ts:11

Implementation of

PolicyContract.name

Methods

evaluate()

evaluate(request, user, context?): Promise<PolicyDecision>
Defined in: packages/core/src/policy/policy.ts:58Evaluate if a tool call is allowed.

Parameters

request
ToolCallRequest | CapabilityOperationRequest
user
UserContext
context?
MiddlewareContext

Returns

Promise<PolicyDecision>

Implementation of

PolicyContract.evaluate

getCapabilityPermissions()

getCapabilityPermissions(serverName): CapabilityPermission[]
Defined in: packages/core/src/policy/policy.ts:47Get operation-based permissions for a server, including adapted tool permissions.

Parameters

serverName
string

Returns

CapabilityPermission[]

Implementation of

PolicyContract.getCapabilityPermissions

getPermissions()

getPermissions(serverName): ToolPermission[]
Defined in: packages/core/src/policy/policy.ts:39Get permissions for a server.

Parameters

serverName
string

Returns

ToolPermission[]

Implementation of

PolicyContract.getPermissions
@fentaris/core / SlidingWindowRateLimiterDefined in: packages/core/src/rate-limit/rateLimit.ts:109Sliding-window rate limiter with optional daily quota.

Implements

  • RateLimiter

Constructors

Constructor

new SlidingWindowRateLimiter(options): SlidingWindowRateLimiter
Defined in: packages/core/src/rate-limit/rateLimit.ts:119Create a sliding-window limiter.

Parameters

options
keyPrefix?
string
maxDailyCalls?
number
maxPerWindow?
number
store?
RateLimitStore
windowMs?
number

Returns

SlidingWindowRateLimiter

Properties

metadata

readonly metadata: { maxDailyCalls?: number; maxPerWindow?: number; windowMs?: number; } | undefined
Defined in: packages/core/src/rate-limit/rateLimit.ts:110

Implementation of

RateLimiter.metadata

Methods

checkLimit()

checkLimit(key): Promise<boolean>
Defined in: packages/core/src/rate-limit/rateLimit.ts:135

Parameters

key
string

Returns

Promise<boolean>

Implementation of

RateLimiter.checkLimit

consume()

consume(key): Promise<boolean>
Defined in: packages/core/src/rate-limit/rateLimit.ts:152

Parameters

key
string

Returns

Promise<boolean>

Implementation of

RateLimiter.consume

getRemainingCalls()

getRemainingCalls(key): Promise<number>
Defined in: packages/core/src/rate-limit/rateLimit.ts:179

Parameters

key
string

Returns

Promise<number>

Implementation of

RateLimiter.getRemainingCalls

recordCall()

recordCall(key): Promise<void>
Defined in: packages/core/src/rate-limit/rateLimit.ts:172

Parameters

key
string

Returns

Promise<void>

Implementation of

RateLimiter.recordCall
@fentaris/core / SseMcpTransportDefined in: packages/core/src/transports/client/SseMcpTransport.ts:46Native MCP SSE upstream transport.

Implements

  • FentarisTransport

Constructors

Constructor

new SseMcpTransport(options, user?): SseMcpTransport
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:57Create a native MCP SSE transport.

Parameters

options
SseMcpTransportOptions
user?
UserContext = {}

Returns

SseMcpTransport

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:84

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

FentarisTransport.callTool

close()

close(): Promise<void>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:142

Returns

Promise<void>

Implementation of

FentarisTransport.close

complete()

complete(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:133

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

Implementation of

FentarisTransport.complete

getPrompt()

getPrompt(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:124

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

Implementation of

FentarisTransport.getPrompt

listPrompts()

listPrompts(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:115

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

Implementation of

FentarisTransport.listPrompts

listResources()

listResources(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:88

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

Implementation of

FentarisTransport.listResources

listResourceTemplates()

listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:106

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

Implementation of

FentarisTransport.listResourceTemplates

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:75

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

Implementation of

FentarisTransport.listTools

readResource()

readResource(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:97

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

Implementation of

FentarisTransport.readResource

withUser()

withUser(user): SseMcpTransport
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:71Return a copy bound to the current proxy user context.

Parameters

user
UserContext

Returns

SseMcpTransport
@fentaris/core / SseProxyExposureTransportDefined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:52SSE MCP downstream proxy exposure.

Implements

  • ProxyExposureTransport<SseProxyExposureHandle>

Constructors

Constructor

new SseProxyExposureTransport(options?): SseProxyExposureTransport
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:60Create an SSE proxy exposure transport.

Parameters

options?
SseProxyExposureTransportOptions = {}

Returns

SseProxyExposureTransport

Methods

listen()

listen(runtime): Promise<SseProxyExposureHandle>
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:70

Parameters

runtime
ProxyRuntime

Returns

Promise<SseProxyExposureHandle>

Implementation of

ProxyExposureTransport.listen
@fentaris/core / StdioProxyExposureTransportDefined in: packages/core/src/transports/exposure/StdioProxyExposureTransport.ts:23Stdio MCP downstream proxy exposure.

Implements

  • ProxyExposureTransport

Constructors

Constructor

new StdioProxyExposureTransport(options?): StdioProxyExposureTransport
Defined in: packages/core/src/transports/exposure/StdioProxyExposureTransport.ts:30Create a stdio proxy exposure transport.

Parameters

options?
StdioProxyExposureTransportOptions = {}

Returns

StdioProxyExposureTransport

Methods

listen()

listen(runtime): Promise<ProxyExposureHandle>
Defined in: packages/core/src/transports/exposure/StdioProxyExposureTransport.ts:34

Parameters

runtime
ProxyRuntime

Returns

Promise<ProxyExposureHandle>

Implementation of

ProxyExposureTransport.listen
@fentaris/core / StdioTransportDefined in: packages/core/src/transports/client/StdioTransport.ts:41Stdio-based MCP transport implementation.

Implements

  • FentarisTransport

Constructors

Constructor

new StdioTransport(options): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:50Create a new stdio transport.

Parameters

options
StdioTransportOptions

Returns

StdioTransport

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:89Call a tool on the MCP server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

FentarisTransport.callTool

close()

close(): Promise<void>
Defined in: packages/core/src/transports/client/StdioTransport.ts:151Close the underlying client connection.

Returns

Promise<void>

Implementation of

FentarisTransport.close

complete()

complete(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:138

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

Implementation of

FentarisTransport.complete

getPrompt()

getPrompt(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:129

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

Implementation of

FentarisTransport.getPrompt

listPrompts()

listPrompts(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:120

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

Implementation of

FentarisTransport.listPrompts

listResources()

listResources(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:93

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

Implementation of

FentarisTransport.listResources

listResourceTemplates()

listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:111

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

Implementation of

FentarisTransport.listResourceTemplates

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:76List tools exposed by the MCP server.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

Implementation of

FentarisTransport.listTools

readResource()

readResource(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:102

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

Implementation of

FentarisTransport.readResource

withEnv()

withEnv(env): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:62Return a copy with merged environment variables.

Parameters

env
Record<string, string>

Returns

StdioTransport
@fentaris/core / StreamableHttpMcpTransportDefined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:46Native MCP Streamable HTTP upstream transport for http:// and https:// servers.

Implements

  • FentarisTransport

Constructors

Constructor

new StreamableHttpMcpTransport(options, user?): StreamableHttpMcpTransport
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:57Create a native MCP Streamable HTTP transport.

Parameters

options
StreamableHttpMcpTransportOptions
user?
UserContext = {}

Returns

StreamableHttpMcpTransport

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:84

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

FentarisTransport.callTool

close()

close(): Promise<void>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:142

Returns

Promise<void>

Implementation of

FentarisTransport.close

complete()

complete(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:133

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

Implementation of

FentarisTransport.complete

getPrompt()

getPrompt(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:124

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

Implementation of

FentarisTransport.getPrompt

listPrompts()

listPrompts(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:115

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

Implementation of

FentarisTransport.listPrompts

listResources()

listResources(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:88

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

Implementation of

FentarisTransport.listResources

listResourceTemplates()

listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:106

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

Implementation of

FentarisTransport.listResourceTemplates

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:75

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

Implementation of

FentarisTransport.listTools

readResource()

readResource(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:97

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

Implementation of

FentarisTransport.readResource

withUser()

withUser(user): StreamableHttpMcpTransport
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:71Return a copy bound to the current proxy user context.

Parameters

user
UserContext

Returns

StreamableHttpMcpTransport
@fentaris/core / UserDefined in: packages/core/src/governance/governance.ts:13First-class non-sensitive subject declaration.

Constructors

Constructor

new User(id, metadata?): User
Defined in: packages/core/src/governance/governance.ts:23

Parameters

id
string
metadata?
UserOptions = {}

Returns

User

Properties

apiKeys

readonly apiKeys: CredentialSource[]
Defined in: packages/core/src/governance/governance.ts:20

credentials

readonly credentials: CredentialSourceMap
Defined in: packages/core/src/governance/governance.ts:21

displayName?

readonly optional displayName?: string
Defined in: packages/core/src/governance/governance.ts:15

email?

readonly optional email?: string
Defined in: packages/core/src/governance/governance.ts:16

id

readonly id: string
Defined in: packages/core/src/governance/governance.ts:14

metadata?

readonly optional metadata?: Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:19

tenant?

readonly optional tenant?: Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:18

tenantId?

readonly optional tenantId?: string
Defined in: packages/core/src/governance/governance.ts:17
@fentaris/core / allow
allow(toolName, options?): ToolPermission
Defined in: packages/core/src/governance/governance.ts:363Helper to declare an allow permission.

Parameters

toolName

string

options?

ToolPermissionOptions = {}

Returns

ToolPermission
@fentaris/core / allowAll
allowAll(name?): Policy
Defined in: packages/core/src/governance/governance.ts:395Helper to declare an allow-all policy.

Parameters

name?

string

Returns

Policy
@fentaris/core / allowCapability
allowCapability(permission): CapabilityPermission
Defined in: packages/core/src/governance/governance.ts:379Helper to declare an allow capability permission.

Parameters

permission

CapabilityPermissionOptions

Returns

CapabilityPermission
@fentaris/core / apiKeyIdentityStrategy
apiKeyIdentityStrategy(options): IdentityStrategy
Defined in: packages/core/src/auth/auth.ts:223API-key identity strategy backed by encrypted local auth storage.

Parameters

options

auth

FentarisAuthstring

name?

string

Returns

IdentityStrategy
@fentaris/core / assertValidFentarisConfig
assertValidFentarisConfig(config, options?): FentarisConfigValidationResult
Defined in: packages/core/src/config/validation.ts:81Validate Fentaris configuration and throw on error-severity diagnostics.

Parameters

config

McpProxyOptions

options?

FentarisConfigValidationOptions = {}

Returns

FentarisConfigValidationResult
@fentaris/core / bearer
bearer(credential): BearerCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:341Apply a credential as an Authorization bearer token.

Parameters

credential

CredentialReference

Returns

BearerCredentialAuth
@fentaris/core / bearerTokenIdentityStrategy
bearerTokenIdentityStrategy(options): IdentityStrategy
Defined in: packages/core/src/identity/identity.ts:45Create a strategy that resolves identity from bearer tokens.

Parameters

options

authorizationHeader?

string

name?

string

resolveToken

(token) => UserContext | Promise<UserContext | null> | null

Returns

IdentityStrategy
@fentaris/core / buildSubjectIndex
buildSubjectIndex(groups): SubjectIndex
Defined in: packages/core/src/governance/governance.ts:473First-class governance declaration APIs.

Parameters

groups

Group[]

Returns

SubjectIndex
@fentaris/core / createProxy
createProxy(options?): McpProxy
Defined in: packages/core/src/proxy/McpProxy.ts:2667Create a Fentaris proxy with the express-like routing API.

Parameters

options?

McpProxyOptions = {}

Returns

McpProxy
@fentaris/core / createRuntimeEvent
createRuntimeEvent<N>(event): RuntimeEvent<N>
Defined in: packages/core/src/profiler/profiler.ts:270Runtime profiler, event, sink, and runtime error APIs.

Type Parameters

N

N extends keyof RuntimeEventMap

Parameters

event

object & Record<string, unknown>

Returns

RuntimeEvent<N>
@fentaris/core / credential
credential(reference): CredentialReference
Defined in: packages/core/src/credentials/credentials.ts:70Reference a credential by logical name from server configuration.

Parameters

reference

string

Returns

CredentialReference
@fentaris/core / credentialEnv
credentialEnv(name): CredentialEnvSource
Defined in: packages/core/src/credentials/credentials.ts:94Resolve a value from an environment variable.

Parameters

name

string

Returns

CredentialEnvSource
@fentaris/core / credentialJson
credentialJson(path, options?): CredentialJsonSource
Defined in: packages/core/src/credentials/credentials.ts:82Resolve a value from the encrypted local credentials JSON.

Parameters

path

string

options?

CredentialJsonOptions = {}

Returns

CredentialJsonSource
@fentaris/core / credentialsToRefs
credentialsToRefs(credentials): SecretRef[]
Defined in: packages/core/src/secrets/local-backend.ts:184Convert decrypted local credentials to secret refs.

Parameters

credentials

defaults

Record<string, string> = ...

groups

Record<string, Record<string, string>> = ...

users

Record<string, { apiKeys: string[]; credentials: Record<string, string>; }> = ...

Returns

SecretRef[]
@fentaris/core / decodeSecretScope
decodeSecretScope(encoded): SecretScope
Defined in: packages/core/src/secrets/types.ts:87Decode a manifest scope string to a secret scope.

Parameters

encoded

string

Returns

SecretScope
@fentaris/core / defineFentarisConfig
defineFentarisConfig<TConfig>(config): TConfig
Defined in: packages/core/src/config/validation.ts:35Preserve TypeScript inference for Fentaris configuration objects.

Type Parameters

TConfig

TConfig extends McpProxyOptions

Parameters

config

TConfig

Returns

TConfig
@fentaris/core / deny
deny(toolName, options?): ToolPermission
Defined in: packages/core/src/governance/governance.ts:371Helper to declare a deny permission.

Parameters

toolName

string

options?

ToolPermissionOptions = {}

Returns

ToolPermission
@fentaris/core / denyCapability
denyCapability(permission): CapabilityPermission
Defined in: packages/core/src/governance/governance.ts:387Helper to declare a deny capability permission.

Parameters

permission

CapabilityPermissionOptions

Returns

CapabilityPermission
@fentaris/core / diffManifest
diffManifest(required, stored): SecretsManifestDiff
Defined in: packages/core/src/secrets/manifest.ts:53Compare required manifest entries against stored secret refs.

Parameters

required

SecretsManifestEntry[]

stored

SecretRef[]

Returns

SecretsManifestDiff
@fentaris/core / encodeSecretScope
encodeSecretScope(scope): string
Defined in: packages/core/src/secrets/types.ts:73Encode a secret scope to manifest string form.

Parameters

scope

SecretScope

Returns

string
@fentaris/core / filterToolsByPolicy
filterToolsByPolicy<TTool>(tools, serverName, policy): TTool[]
Defined in: packages/core/src/policy/policy.ts:131Filter tools by policy.

Type Parameters

TTool

TTool extends object

Parameters

tools

TTool[]

serverName

string

policy

PolicyContract

Returns

TTool[]
@fentaris/core / formatFentarisDiagnostics
formatFentarisDiagnostics(diagnostics, options?): string
Defined in: packages/core/src/config/format.ts:7Format diagnostics for humans or JSON-oriented tooling.

Parameters

diagnostics

readonly FentarisDiagnostic[]

options?

FentarisDiagnosticFormatterOptions = {}

Returns

string
@fentaris/core / fromProxyToolName
fromProxyToolName(proxyToolName): object
Defined in: packages/core/src/naming/nameMapping.ts:37Split a proxied tool name into server and tool parts.

Parameters

proxyToolName

string

Returns

object

serverName

serverName: string

toolName

toolName: string
@fentaris/core / functionProfilerSink
functionProfilerSink(write, name?): ProfilerSink
Defined in: packages/core/src/profiler/profiler.ts:279Runtime profiler, event, sink, and runtime error APIs.

Parameters

write

ProfilerFunctionSink

name?

string = "function"

Returns

ProfilerSink
@fentaris/core / getCapabilityPermission
getCapabilityPermission(permissions, request): CapabilityPermission | undefined
Defined in: packages/core/src/policy/policy.ts:239Return the effective capability permission, preferring exact matches over wildcards.

Parameters

permissions

CapabilityPermission[]

request

CapabilityOperationRequest

Returns

CapabilityPermission | undefined
@fentaris/core / getToolPermission
getToolPermission(permissions, toolName): ToolPermission | undefined
Defined in: packages/core/src/policy/policy.ts:144Return the effective permission for a tool, preferring exact matches over wildcard permissions.

Parameters

permissions

ToolPermission[]

toolName

string

Returns

ToolPermission | undefined
@fentaris/core / group
group(options): Group
Defined in: packages/core/src/governance/governance.ts:347Helper to declare a group.

Parameters

options

GroupOptions

Returns

Group
@fentaris/core / header
header(name, credential): HeaderCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:349Apply a credential as a named request header.

Parameters

name

string

credential

CredentialReference

Returns

HeaderCredentialAuth
@fentaris/core / headerIdentityStrategy
headerIdentityStrategy(options?): IdentityStrategy
Defined in: packages/core/src/identity/identity.ts:8Create a strategy that resolves identity from request headers.

Parameters

options?

metadataHeaders?

Record<string, string>

name?

string

userIdHeader?

string

Returns

IdentityStrategy
@fentaris/core / health
health(options?): HealthBuilder
Defined in: packages/core/src/health/health.ts:142Runtime lifecycle and health APIs.

Parameters

options?

HealthBuilderOptions = {}

Returns

HealthBuilder
@fentaris/core / isCapabilityAllowedByPermissions
isCapabilityAllowedByPermissions(permissions, request): boolean
Defined in: packages/core/src/policy/policy.ts:250Check whether a capability is allowed by a permission set.

Parameters

permissions

CapabilityPermission[]

request

CapabilityOperationRequest

Returns

boolean
@fentaris/core / isToolAllowedByPermissions
isToolAllowedByPermissions(permissions, toolName): boolean
Defined in: packages/core/src/policy/policy.ts:155Check whether a tool is allowed by a permission set.

Parameters

permissions

ToolPermission[]

toolName

string

Returns

boolean
@fentaris/core / jsonConsoleLogger
jsonConsoleLogger(options?): Logger
Defined in: packages/core/src/logging/logger.ts:140Create a logger that writes structured JSON entries to stdout.

Parameters

options?

JsonConsoleLoggerOptions = {}

Returns

Logger
@fentaris/core / jsonProfilerSink
jsonProfilerSink(writer?): ProfilerSink
Defined in: packages/core/src/profiler/profiler.ts:305Runtime profiler, event, sink, and runtime error APIs.

Parameters

writer?

(line) => void

Returns

ProfilerSink
@fentaris/core / limit
limit(limiter): Pick<ToolPermissionOptions, "limiter">
Defined in: packages/core/src/governance/governance.ts:403Permission helper for limiters.

Parameters

limiter

RateLimiter | undefined

Returns

Pick<ToolPermissionOptions, "limiter">
@fentaris/core / loggerProfilerSink
loggerProfilerSink(options): ProfilerSink
Defined in: packages/core/src/profiler/profiler.ts:283Runtime profiler, event, sink, and runtime error APIs.

Parameters

options

LoggerSinkOptions

Returns

ProfilerSink
@fentaris/core / manifestEntryKey
manifestEntryKey(entry): string
Defined in: packages/core/src/secrets/types.ts:112Stable key for manifest entries.

Parameters

entry

SecretsManifestEntry

Returns

string
@fentaris/core / manifestFromSecretRefs
manifestFromSecretRefs(refs, envVars?): SecretsManifest
Defined in: packages/core/src/secrets/manifest.ts:72Build manifest entries from credential secret refs.

Parameters

refs

SecretRef[]

envVars?

string[] = []

Returns

SecretsManifest
@fentaris/core / manifestsEqual
manifestsEqual(left, right): boolean
Defined in: packages/core/src/secrets/manifest.ts:88Compare two manifests for equality (order-insensitive).

Parameters

left

SecretsManifestSecretsManifest

Returns

boolean
@fentaris/core / mcp
mcp(name, options): McpServer
Defined in: packages/core/src/server/McpServer.ts:333Create an upstream MCP server declaration.

Parameters

name

string

options

Omit<McpServerOptions, "name">

Returns

McpServer
@fentaris/core / normalizeRuntimeError
normalizeRuntimeError(error, options?): FentarisRuntimeError
Defined in: packages/core/src/profiler/errors.ts:64Runtime profiler, event, sink, and runtime error APIs.

Parameters

error

unknown

options?

FentarisRuntimeErrorOptions = {}

Returns

FentarisRuntimeError
@fentaris/core / normalizeRuntimeProfiler
normalizeRuntimeProfiler(config, logger?): NormalizedRuntimeProfiler | null
Defined in: packages/core/src/profiler/profiler.ts:133Runtime profiler, event, sink, and runtime error APIs.

Parameters

config

RuntimeProfilerConfig

logger?

Logger

Returns

NormalizedRuntimeProfiler | null
@fentaris/core / parseManifest
parseManifest(value): SecretsManifest
Defined in: packages/core/src/secrets/manifest.ts:28Parse and validate a secrets manifest.

Parameters

value

unknown

Returns

SecretsManifest
@fentaris/core / policy
policy(name, options?): Policy
Defined in: packages/core/src/governance/governance.ts:355Helper to declare a policy.

Parameters

name

string

options?

description?

string

metadata?

{[key: string]: unknown; maxDailyCalls?: number; requiresApproval?: boolean; }

metadata.maxDailyCalls?

number

metadata.requiresApproval?

boolean

Returns

Policy
@fentaris/core / prettyProfilerSink
prettyProfilerSink(options?): ProfilerSink
Defined in: packages/core/src/profiler/profiler.ts:294Runtime profiler, event, sink, and runtime error APIs.

Parameters

options?

ProfilerPrettySinkOptions = {}

Returns

ProfilerSink
@fentaris/core / profiler
profiler(): ProfilerBuilder
Defined in: packages/core/src/profiler/profiler.ts:129Runtime profiler, event, sink, and runtime error APIs.

Returns

ProfilerBuilder
@fentaris/core / rateLimitKey
rateLimitKey(request, user): string
Defined in: packages/core/src/rate-limit/rateLimit.ts:274Build a stable rate-limit key for a user/server/tool tuple.

Parameters

request

ToolCallRequest

user

UserContext

Returns

string
@fentaris/core / rateLimitMiddleware
rateLimitMiddleware(options?): Middleware
Defined in: packages/core/src/rate-limit/rateLimit.ts:282Middleware helper that enforces a rate limiter before forwarding tool calls.

Parameters

options?

key?

(request, user) => string

limiter?

RateLimiter

message?

string

Returns

Middleware
@fentaris/core / redactProfilerValue
redactProfilerValue<T>(value, options): T
Defined in: packages/core/src/profiler/redaction.ts:58Runtime profiler, event, sink, and runtime error APIs.

Type Parameters

T

T

Parameters

value

T

options

NormalizedProfilerRedaction

Returns

T
@fentaris/core / renderRuntimeError
renderRuntimeError(error): string
Defined in: packages/core/src/profiler/errors.ts:108Runtime profiler, event, sink, and runtime error APIs.

Parameters

error

unknown

Returns

string
@fentaris/core / resolveHttpTransportHeaders
resolveHttpTransportHeaders(options, user?): Promise<Record<string, string>>
Defined in: packages/core/src/transports/auth/transportAuth.ts:57Resolve outbound HTTP-family transport headers for a user context.

Parameters

options

HttpTransportAuthOptions | undefined

user?

UserContext = {}

Returns

Promise<Record<string, string>>
@fentaris/core / runtimeErrorEvent
runtimeErrorEvent(error, context?): RuntimeProfilerErrorPayload
Defined in: packages/core/src/profiler/errors.ts:118Runtime profiler, event, sink, and runtime error APIs.

Parameters

error

unknown

context?

RuntimeErrorContext = {}

Returns

RuntimeProfilerErrorPayload
@fentaris/core / runtimeErrorToEventPayload
runtimeErrorToEventPayload(error): RuntimeProfilerErrorPayload
Defined in: packages/core/src/profiler/profiler.ts:314Runtime profiler, event, sink, and runtime error APIs.

Parameters

error

unknown

Returns

RuntimeProfilerErrorPayload
@fentaris/core / secretRefKey
secretRefKey(ref, scope): string
Defined in: packages/core/src/secrets/types.ts:104Stable key for comparing secret references.

Parameters

ref

string

scope

SecretScope

Returns

string
@fentaris/core / sensitive
sensitive(metadata?): Pick<ToolPermissionOptions, "sensitive">
Defined in: packages/core/src/governance/governance.ts:464Permission helper for sensitive-operation metadata.

Parameters

metadata?

Record<string, unknown> = {}

Returns

Pick<ToolPermissionOptions, "sensitive">
@fentaris/core / serializeManifest
serializeManifest(manifest): string
Defined in: packages/core/src/secrets/manifest.ts:40Serialize a secrets manifest to JSON.

Parameters

manifest

SecretsManifest

Returns

string
@fentaris/core / stdio
stdio(options): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:201Create a stdio upstream transport.

Parameters

options

StdioTransportOptions

Returns

StdioTransport
@fentaris/core / streamableHttp
streamableHttp(options): StreamableHttpMcpTransport
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:200Create a Streamable HTTP upstream transport.

Parameters

options

StreamableHttpMcpTransportOptions

Returns

StreamableHttpMcpTransport
@fentaris/core / toCapabilityPermissions
toCapabilityPermissions(serverName, permissions): CapabilityPermission[]
Defined in: packages/core/src/policy/policy.ts:164Return operation-based permissions adapted from tool permissions.

Parameters

serverName

string

permissions

ToolPermission[]

Returns

CapabilityPermission[]
@fentaris/core / toCapabilityRequest
toCapabilityRequest(request): CapabilityOperationRequest
Defined in: packages/core/src/policy/policy.ts:187Normalize a legacy tool-call request into a capability request.

Parameters

request

ToolCallRequest | CapabilityOperationRequest

Returns

CapabilityOperationRequest
@fentaris/core / toProxyToolName
toProxyToolName(serverName, toolName): string
Defined in: packages/core/src/naming/nameMapping.ts:28Combine server and tool names into a proxied tool name.

Parameters

serverName

string

toolName

string

Returns

string
@fentaris/core / toRuntimeErrorPayload
toRuntimeErrorPayload(error): RuntimeProfilerErrorPayload
Defined in: packages/core/src/profiler/errors.ts:95Runtime profiler, event, sink, and runtime error APIs.

Parameters

error

unknown

Returns

RuntimeProfilerErrorPayload
@fentaris/core / user
user(id, metadata?): User
Defined in: packages/core/src/governance/governance.ts:339Helper to declare a user.

Parameters

id

string

metadata?

UserOptions = {}

Returns

User
@fentaris/core / validateFentarisConfig
validateFentarisConfig(config, options?): FentarisConfigValidationResult
Defined in: packages/core/src/config/validation.ts:43Validate Fentaris configuration and return structured diagnostics.

Parameters

config

McpProxyOptions

options?

FentarisConfigValidationOptions = {}

Returns

FentarisConfigValidationResult
@fentaris/core / IsolationDefined in: packages/core/src/types/policy.ts:127Isolation runtime for per-user execution.

Methods

close()

close(): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:133

Returns

MaybePromise<void>

queue()

queue(userId, fn, timeout?): MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/types/policy.ts:128

Parameters

userId
string
fn
() => MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
timeout?
number

Returns

MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
@fentaris/core / PolicyContractDefined in: packages/core/src/types/policy.ts:59Policy for RBAC-style permission enforcement.

Properties

description?

optional description?: string
Defined in: packages/core/src/types/policy.ts:61

metadata?

optional metadata?: object
Defined in: packages/core/src/types/policy.ts:69

Index Signature

[key: string]: unknown

maxDailyCalls?

optional maxDailyCalls?: number

requiresApproval?

optional requiresApproval?: boolean

name

name: string
Defined in: packages/core/src/types/policy.ts:60

Methods

evaluate()

evaluate(request, user, context?): MaybePromise<PolicyDecision>
Defined in: packages/core/src/types/policy.ts:64

Parameters

request
ToolCallRequest | CapabilityOperationRequest
user
UserContext
context?
MiddlewareContext

Returns

MaybePromise<PolicyDecision>

getCapabilityPermissions()?

optional getCapabilityPermissions(serverName): CapabilityPermission[]
Defined in: packages/core/src/types/policy.ts:63

Parameters

serverName
string

Returns

CapabilityPermission[]

getPermissions()

getPermissions(serverName): ToolPermission[]
Defined in: packages/core/src/types/policy.ts:62

Parameters

serverName
string

Returns

ToolPermission[]
@fentaris/core / RateLimiterDefined in: packages/core/src/types/policy.ts:102Rate limiter with sliding window and quota support.

Properties

metadata?

optional metadata?: object
Defined in: packages/core/src/types/policy.ts:107

maxDailyCalls?

optional maxDailyCalls?: number

maxPerWindow?

optional maxPerWindow?: number

windowMs?

optional windowMs?: number

Methods

checkLimit()

checkLimit(key): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:104

Parameters

key
string

Returns

MaybePromise<boolean>

consume()

consume(key): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:103

Parameters

key
string

Returns

MaybePromise<boolean>

getRemainingCalls()

getRemainingCalls(key): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:106

Parameters

key
string

Returns

MaybePromise<number>

recordCall()

recordCall(key): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:105

Parameters

key
string

Returns

MaybePromise<void>
@fentaris/core / RateLimitStoreDefined in: packages/core/src/types/policy.ts:90Rate limit store for distributed tracking.

Methods

consume()

consume(key, window, limit): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:92

Parameters

key
string
window
number
limit
number

Returns

MaybePromise<boolean>

consumeMany()?

optional consumeMany(limits): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:93

Parameters

limits
object[]

Returns

MaybePromise<boolean>

get()

get(key): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:94

Parameters

key
string

Returns

MaybePromise<number>

increment()

increment(key, window): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:91

Parameters

key
string
window
number

Returns

MaybePromise<number>

reset()

reset(key): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:95

Parameters

key
string

Returns

MaybePromise<void>
@fentaris/core / RegistryDefined in: packages/core/src/types/policy.ts:80Registry for resolving user data and secrets.

Methods

getSecrets()

getSecrets(userId): MaybePromise<Record<string, string> | null>
Defined in: packages/core/src/types/policy.ts:82

Parameters

userId
string

Returns

MaybePromise<Record<string, string> | null>

getTokens()

getTokens(userId): MaybePromise<Record<string, string> | null>
Defined in: packages/core/src/types/policy.ts:83

Parameters

userId
string

Returns

MaybePromise<Record<string, string> | null>

getUser()

getUser(userId): MaybePromise<UserContext | null>
Defined in: packages/core/src/types/policy.ts:81

Parameters

userId
string

Returns

MaybePromise<UserContext | null>
@fentaris/core / SecretsBackendDefined in: packages/core/src/secrets/types.ts:61Secrets storage backend contract.

Properties

provider

readonly provider: SecretsProvider
Defined in: packages/core/src/secrets/types.ts:62

Methods

has()

has(ref, scope): Promise<boolean>
Defined in: packages/core/src/secrets/types.ts:64

Parameters

ref
string
scope
SecretScope

Returns

Promise<boolean>

listRefs()

listRefs(): Promise<SecretRef[]>
Defined in: packages/core/src/secrets/types.ts:63

Returns

Promise<SecretRef[]>

set()

set(ref, value, scope): Promise<void>
Defined in: packages/core/src/secrets/types.ts:65

Parameters

ref
string
value
string
scope
SecretScope

Returns

Promise<void>

unset()

unset(ref, scope): Promise<boolean>
Defined in: packages/core/src/secrets/types.ts:66

Parameters

ref
string
scope
SecretScope

Returns

Promise<boolean>
@fentaris/core / ApprovalDecisionController
ApprovalDecisionController = object
Defined in: packages/core/src/types/shared.ts:142Ergonomic helpers for approval callbacks.

Methods

approve()

approve(metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:143

Parameters

metadata?
Record<string, unknown>

Returns

ApprovalResult

deny()

deny(reason?, metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:144

Parameters

reason?
string
metadata?
Record<string, unknown>

Returns

ApprovalResult

pending()

pending(reason?, metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:145

Parameters

reason?
string
metadata?
Record<string, unknown>

Returns

ApprovalResult
@fentaris/core / ApprovalHandler
ApprovalHandler<TRequest> = (request, context) => MaybePromise<ApprovalResult>
Defined in: packages/core/src/types/shared.ts:168Permission approval callback.

Type Parameters

TRequest

TRequest

Parameters

request

TRequest

context

MiddlewareContext

Returns

MaybePromise<ApprovalResult>
@fentaris/core / ApprovalMetadata
ApprovalMetadata = object
Defined in: packages/core/src/types/shared.ts:58Safe approval metadata exposed through policy decisions and logs.

Properties

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:63

reason?

optional reason?: string
Defined in: packages/core/src/types/shared.ts:60

requestId?

optional requestId?: string
Defined in: packages/core/src/types/shared.ts:62

status

status: "approved" | "denied" | "pending"
Defined in: packages/core/src/types/shared.ts:59

url?

optional url?: string
Defined in: packages/core/src/types/shared.ts:61
@fentaris/core / ApprovalResult
ApprovalResult = boolean | { approved: boolean; metadata?: Record<string, unknown>; reason?: string; } | { metadata?: Record<string, unknown>; reason?: string; requestId?: string; status: "approved" | "denied" | "pending"; url?: string; }
Defined in: packages/core/src/types/shared.ts:123Structured result for permission approval callbacks.
@fentaris/core / AutoLogOptions
AutoLogOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:218Auto-log configuration for proxied tool calls.

Properties

enabled?

optional enabled?: boolean
Defined in: packages/core/src/proxy/McpProxy.ts:219

failureLevel?

optional failureLevel?: "warn" | "error"
Defined in: packages/core/src/proxy/McpProxy.ts:222

startLevel?

optional startLevel?: "debug" | "info"
Defined in: packages/core/src/proxy/McpProxy.ts:220

successLevel?

optional successLevel?: "debug" | "info"
Defined in: packages/core/src/proxy/McpProxy.ts:221
@fentaris/core / BearerCredentialAuth
BearerCredentialAuth = object
Defined in: packages/core/src/server/McpServer.ts:44MCP server option types.

Properties

credential

credential: CredentialReference
Defined in: packages/core/src/server/McpServer.ts:46

type

type: "bearer"
Defined in: packages/core/src/server/McpServer.ts:45
@fentaris/core / CapabilityOperationRequest
CapabilityOperationRequest = object
Defined in: packages/core/src/types/mcp-operation.ts:111Normalized request used for operation-based policy evaluation.

Properties

operation

operation: McpOperationName
Defined in: packages/core/src/types/mcp-operation.ts:113

raw?

optional raw?: unknown
Defined in: packages/core/src/types/mcp-operation.ts:116

serverName

serverName: string
Defined in: packages/core/src/types/mcp-operation.ts:112

target?

optional target?: string
Defined in: packages/core/src/types/mcp-operation.ts:114

targetKind?

optional targetKind?: CapabilityTargetKind
Defined in: packages/core/src/types/mcp-operation.ts:115
@fentaris/core / CapabilityPermission
CapabilityPermission = object
Defined in: packages/core/src/types/policy.ts:34Operation-based permission model for governed MCP capabilities.

Properties

approval?

optional approval?: ApprovalHandler<CapabilityOperationRequest>
Defined in: packages/core/src/types/policy.ts:41

effect?

optional effect?: "allow" | "deny"
Defined in: packages/core/src/types/policy.ts:39

limiter?

optional limiter?: RateLimiter
Defined in: packages/core/src/types/policy.ts:40

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:42

operation

operation: McpOperationName | "*"
Defined in: packages/core/src/types/policy.ts:36

server?

optional server?: string
Defined in: packages/core/src/types/policy.ts:35

target?

optional target?: string
Defined in: packages/core/src/types/policy.ts:37

targetKind?

optional targetKind?: CapabilityTargetKind
Defined in: packages/core/src/types/policy.ts:38
@fentaris/core / CapabilityPermissionOptions
CapabilityPermissionOptions = Omit<CapabilityPermission, "effect"> & object
Defined in: packages/core/src/governance/governance.ts:330Operation-based permission helper options.

Type Declaration

metadata?

optional metadata?: Record<string, unknown>

sensitive?

optional sensitive?: boolean | Record<string, unknown>
@fentaris/core / CapabilityTargetKind
CapabilityTargetKind = "tool" | "resource" | "resourceTemplate" | "prompt" | "completion"
Defined in: packages/core/src/types/mcp-operation.ts:105Capability target selector kind for policy permissions.
@fentaris/core / CompleteParams
CompleteParams = CompleteRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:46Request/result aliases for MCP completion operations.
@fentaris/core / CompleteResponse
CompleteResponse = CompleteResult
Defined in: packages/core/src/types/mcp-operation.ts:47Core middleware and transport types.
@fentaris/core / CredentialEnvSource
CredentialEnvSource = object
Defined in: packages/core/src/credentials/credentials.ts:44Environment variable credential source.

Properties

[credentialSourceMarker]

readonly [credentialSourceMarker]: true
Defined in: packages/core/src/credentials/credentials.ts:45

name

readonly name: string
Defined in: packages/core/src/credentials/credentials.ts:47

type

readonly type: "env"
Defined in: packages/core/src/credentials/credentials.ts:46
@fentaris/core / CredentialJsonOptions
CredentialJsonOptions = object
Defined in: packages/core/src/credentials/credentials.ts:60Options for encrypted local JSON credential lookup.

Properties

file?

optional file?: string
Defined in: packages/core/src/credentials/credentials.ts:61

key?

optional key?: string
Defined in: packages/core/src/credentials/credentials.ts:62

keyEnv?

optional keyEnv?: string
Defined in: packages/core/src/credentials/credentials.ts:63
@fentaris/core / CredentialJsonSource
CredentialJsonSource = object
Defined in: packages/core/src/credentials/credentials.ts:31Encrypted local JSON credential source.

Properties

[credentialSourceMarker]

readonly [credentialSourceMarker]: true
Defined in: packages/core/src/credentials/credentials.ts:32

file?

readonly optional file?: string
Defined in: packages/core/src/credentials/credentials.ts:35

key?

readonly optional key?: string
Defined in: packages/core/src/credentials/credentials.ts:36

keyEnv?

readonly optional keyEnv?: string
Defined in: packages/core/src/credentials/credentials.ts:37

path

readonly path: string
Defined in: packages/core/src/credentials/credentials.ts:34

type

readonly type: "json"
Defined in: packages/core/src/credentials/credentials.ts:33
@fentaris/core / CredentialReference
CredentialReference = object
Defined in: packages/core/src/credentials/credentials.ts:16Logical credential reference resolved against the current subject.

Properties

[credentialReferenceMarker]

readonly [credentialReferenceMarker]: true
Defined in: packages/core/src/credentials/credentials.ts:17

reference

readonly reference: string
Defined in: packages/core/src/credentials/credentials.ts:18
@fentaris/core / CredentialResolution
CredentialResolution = CredentialSourceMetadata & object
Defined in: packages/core/src/auth/auth.ts:84

Type Declaration

value

value: string
@fentaris/core / CredentialSource
CredentialSource = CredentialJsonSource | CredentialEnvSource
Defined in: packages/core/src/credentials/credentials.ts:25Concrete source for a credential value.
@fentaris/core / CredentialSourceMap
CredentialSourceMap = Record<string, CredentialSource>
Defined in: packages/core/src/credentials/credentials.ts:54Credential source map declared on users, groups, or defaults.
@fentaris/core / CredentialSourceMetadata
CredentialSourceMetadata = object
Defined in: packages/core/src/types/shared.ts:47Credential source metadata safe to expose in middleware and logs.

Properties

groupId?

optional groupId?: string
Defined in: packages/core/src/types/shared.ts:51

reference

reference: string
Defined in: packages/core/src/types/shared.ts:48

source

source: "user" | "group" | "default"
Defined in: packages/core/src/types/shared.ts:49

userId?

optional userId?: string
Defined in: packages/core/src/types/shared.ts:50
@fentaris/core / EnvResolver
EnvResolver = Record<string, EnvValue> | ((user) => Record<string, string>)
Defined in: packages/core/src/server/McpServer.ts:36Resolve environment variables per user.
@fentaris/core / EnvValue
EnvValue = string | CredentialReference
Defined in: packages/core/src/server/McpServer.ts:30Resolve environment variables per user.
@fentaris/core / ErrorMapper
ErrorMapper = object
Defined in: packages/core/src/types/policy.ts:140Error mapper for standardized MCP error responses.

Methods

mapError()

mapError(error, context): object
Defined in: packages/core/src/types/policy.ts:141

Parameters

error
unknown
context
serverName?
string
toolName?
string

Returns

object
code
code: number
message
message: string
@fentaris/core / FentarisConfigPath
FentarisConfigPath = (string | number)[]
Defined in: packages/core/src/config/diagnostics.ts:11Semantic path into a TypeScript Fentaris config object.
@fentaris/core / FentarisConfigValidationOptions
FentarisConfigValidationOptions = object
Defined in: packages/core/src/config/validation.ts:20Options for explicit configuration validation.

Properties

requirePolicyServerVisibility?

optional requirePolicyServerVisibility?: boolean
Defined in: packages/core/src/config/validation.ts:28Require policies to reference servers already visible in the config being validated.Defaults to true. Fentaris uses false internally while composing an app so app.mcp(...) can register upstream MCP servers before startup validation runs.
@fentaris/core / FentarisConfigValidationResult
FentarisConfigValidationResult = object
Defined in: packages/core/src/config/diagnostics.ts:74Result returned from explicit config validation.

Properties

diagnostics

diagnostics: FentarisDiagnostic[]
Defined in: packages/core/src/config/diagnostics.ts:76

errors

errors: FentarisDiagnostic[]
Defined in: packages/core/src/config/diagnostics.ts:77

infos

infos: FentarisDiagnostic[]
Defined in: packages/core/src/config/diagnostics.ts:79

valid

valid: boolean
Defined in: packages/core/src/config/diagnostics.ts:75

warnings

warnings: FentarisDiagnostic[]
Defined in: packages/core/src/config/diagnostics.ts:78
@fentaris/core / FentarisDiagnostic
FentarisDiagnostic = object
Defined in: packages/core/src/config/diagnostics.ts:36Structured, renderer-independent configuration diagnostic.

Properties

code

code: string
Defined in: packages/core/src/config/diagnostics.ts:38

docsUrl?

optional docsUrl?: string
Defined in: packages/core/src/config/diagnostics.ts:43

hint?

optional hint?: string
Defined in: packages/core/src/config/diagnostics.ts:42

message

message: string
Defined in: packages/core/src/config/diagnostics.ts:40

path?

optional path?: FentarisConfigPath
Defined in: packages/core/src/config/diagnostics.ts:41
optional related?: FentarisDiagnosticRelatedEntry[]
Defined in: packages/core/src/config/diagnostics.ts:44

severity

severity: FentarisDiagnosticSeverity
Defined in: packages/core/src/config/diagnostics.ts:37

suggestions?

optional suggestions?: FentarisDiagnosticSuggestion[]
Defined in: packages/core/src/config/diagnostics.ts:45

title

title: string
Defined in: packages/core/src/config/diagnostics.ts:39
@fentaris/core / FentarisDiagnosticFormat
FentarisDiagnosticFormat = "pretty" | "plain" | "compact" | "json"
Defined in: packages/core/src/config/diagnostics.ts:52Diagnostic formatter mode.
@fentaris/core / FentarisDiagnosticFormatterOptions
FentarisDiagnosticFormatterOptions = object
Defined in: packages/core/src/config/diagnostics.ts:58Options for rendering diagnostics.

Properties

color?

optional color?: "auto" | "always" | "never" | boolean
Defined in: packages/core/src/config/diagnostics.ts:60

format?

optional format?: FentarisDiagnosticFormat
Defined in: packages/core/src/config/diagnostics.ts:59

includeInfo?

optional includeInfo?: boolean
Defined in: packages/core/src/config/diagnostics.ts:63

includeWarnings?

optional includeWarnings?: boolean
Defined in: packages/core/src/config/diagnostics.ts:62

terminal?

optional terminal?: object
Defined in: packages/core/src/config/diagnostics.ts:64

env?

optional env?: Record<string, string | undefined>

isTTY?

optional isTTY?: boolean

unicode?

optional unicode?: "auto" | "always" | "never" | boolean
Defined in: packages/core/src/config/diagnostics.ts:61
@fentaris/core / FentarisDiagnosticRelatedEntry
FentarisDiagnosticRelatedEntry = object
Defined in: packages/core/src/config/diagnostics.ts:17Additional config location related to a diagnostic.

Properties

message

message: string
Defined in: packages/core/src/config/diagnostics.ts:19

path?

optional path?: FentarisConfigPath
Defined in: packages/core/src/config/diagnostics.ts:18
@fentaris/core / FentarisDiagnosticSeverity
FentarisDiagnosticSeverity = "error" | "warning" | "info"
Defined in: packages/core/src/config/diagnostics.ts:5Severity assigned to a configuration diagnostic.
@fentaris/core / FentarisDiagnosticSuggestion
FentarisDiagnosticSuggestion = object
Defined in: packages/core/src/config/diagnostics.ts:26Suggested remediation for a configuration diagnostic.

Properties

message?

optional message?: string
Defined in: packages/core/src/config/diagnostics.ts:28

path?

optional path?: FentarisConfigPath
Defined in: packages/core/src/config/diagnostics.ts:29

title

title: string
Defined in: packages/core/src/config/diagnostics.ts:27
@fentaris/core / FentarisTransport
FentarisTransport = object
Defined in: packages/core/src/types/transport.ts:21Transport interface for MCP client interactions.

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>; isError?: z.ZodOptional<z.ZodBoolean>; structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }>
Defined in: packages/core/src/types/transport.ts:23

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
arguments?
z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>
name
z.ZodString
task?
z.ZodOptional<z.ZodObject<{ ttl: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>; isError?: z.ZodOptional<z.ZodBoolean>; structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }>

close()

close(): Promise<void>
Defined in: packages/core/src/types/transport.ts:30

Returns

Promise<void>

complete()?

optional complete(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; completion: z.ZodObject<{ hasMore: z.ZodOptional<z.ZodBoolean>; total: z.ZodOptional<z.ZodNumber>; values: z.ZodArray<z.ZodString>; }, z.core.$loose>; }>
Defined in: packages/core/src/types/transport.ts:29

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
argument
z.ZodObject<{ name: z.ZodString; value: z.ZodString; }, z.core.$strip>
context?
z.ZodOptional<z.ZodObject<{ arguments: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; }, z.core.$strip>>
ref
z.ZodUnion<readonly [z.ZodObject<{ name: z.ZodString; type: z.ZodLiteral<"ref/prompt">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"ref/resource">; uri: z.ZodString; }, z.core.$strip>]>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; completion: z.ZodObject<{ hasMore: z.ZodOptional<z.ZodBoolean>; total: z.ZodOptional<z.ZodNumber>; values: z.ZodArray<z.ZodString>; }, z.core.$loose>; }>

getPrompt()?

optional getPrompt(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; description?: z.ZodOptional<z.ZodString>; messages: z.ZodArray<z.ZodObject<{ content: z.ZodUnion<readonly [z.ZodObject<{ _meta: …; annotations: …; text: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; description: …; icons: …; mimeType: …; name: …; size: …; title: …; type: …; uri: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; resource: …; type: …; }, z.core.$strip>]>; role: z.ZodEnum<{ assistant: "assistant"; user: "user"; }>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:28

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
arguments?
z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>
name
z.ZodString

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; description?: z.ZodOptional<z.ZodString>; messages: z.ZodArray<z.ZodObject<{ content: z.ZodUnion<readonly [z.ZodObject<{ _meta: …; annotations: …; text: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; description: …; icons: …; mimeType: …; name: …; size: …; title: …; type: …; uri: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; resource: …; type: …; }, z.core.$strip>]>; role: z.ZodEnum<{ assistant: "assistant"; user: "user"; }>; }, z.core.$strip>>; }>

listPrompts()?

optional listPrompts(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; prompts: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{ description: z.ZodOptional<…>; name: z.ZodString; required: z.ZodOptional<…>; }, z.core.$strip>>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:27

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; prompts: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{ description: z.ZodOptional<…>; name: z.ZodString; required: z.ZodOptional<…>; }, z.core.$strip>>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>

listResources()?

optional listResources(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resources: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; size: z.ZodOptional<z.ZodNumber>; title: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:24

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resources: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; size: z.ZodOptional<z.ZodNumber>; title: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>>; }>

listResourceTemplates()?

optional listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resourceTemplates: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; uriTemplate: z.ZodString; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:26

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resourceTemplates: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; uriTemplate: z.ZodString; }, z.core.$strip>>; }>

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; tools: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; annotations: z.ZodOptional<z.ZodObject<{ destructiveHint: z.ZodOptional<z.ZodBoolean>; idempotentHint: z.ZodOptional<z.ZodBoolean>; openWorldHint: z.ZodOptional<z.ZodBoolean>; readOnlyHint: z.ZodOptional<z.ZodBoolean>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; execution: z.ZodOptional<z.ZodObject<{ taskSupport: z.ZodOptional<z.ZodEnum<…>>; }, z.core.$strip>>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; inputSchema: z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<…, …>>>; required: z.ZodOptional<z.ZodArray<z.ZodString>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>; name: z.ZodString; outputSchema: z.ZodOptional<z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<…, …>>; required: z.ZodOptional<z.ZodArray<…>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:22

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; tools: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; annotations: z.ZodOptional<z.ZodObject<{ destructiveHint: z.ZodOptional<z.ZodBoolean>; idempotentHint: z.ZodOptional<z.ZodBoolean>; openWorldHint: z.ZodOptional<z.ZodBoolean>; readOnlyHint: z.ZodOptional<z.ZodBoolean>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; execution: z.ZodOptional<z.ZodObject<{ taskSupport: z.ZodOptional<z.ZodEnum<…>>; }, z.core.$strip>>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; inputSchema: z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<…, …>>>; required: z.ZodOptional<z.ZodArray<z.ZodString>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>; name: z.ZodString; outputSchema: z.ZodOptional<z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<…, …>>; required: z.ZodOptional<z.ZodArray<…>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>

readResource()?

optional readResource(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; contents: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; mimeType: z.ZodOptional<z.ZodString>; text: z.ZodString; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; blob: z.ZodString; mimeType: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>]>>; }>
Defined in: packages/core/src/types/transport.ts:25

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
uri
z.ZodString

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; contents: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; mimeType: z.ZodOptional<z.ZodString>; text: z.ZodString; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; blob: z.ZodString; mimeType: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>]>>; }>
@fentaris/core / GetPromptParams
GetPromptParams = GetPromptRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:39Core middleware and transport types.
@fentaris/core / GetPromptResponse
GetPromptResponse = GetPromptResult
Defined in: packages/core/src/types/mcp-operation.ts:40Core middleware and transport types.
@fentaris/core / GovernanceContext
GovernanceContext = MiddlewareContext & object
Defined in: packages/core/src/types/policy.ts:151Extended middleware context with governance.

Type Declaration

identity?

optional identity?: IdentityMetadata

policy?

optional policy?: PolicyContract

policyDecision?

optional policyDecision?: PolicyDecision

rateLimiter?

optional rateLimiter?: RateLimiter

registry?

optional registry?: Registry
@fentaris/core / GroupMembership
GroupMembership = object
Defined in: packages/core/src/types/shared.ts:37Configured group membership metadata for a resolved subject.

Properties

id

id: string
Defined in: packages/core/src/types/shared.ts:38

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:40

name?

optional name?: string
Defined in: packages/core/src/types/shared.ts:39
@fentaris/core / GroupOptions
GroupOptions = object
Defined in: packages/core/src/governance/governance.ts:74Group declaration options.

Properties

credentials?

optional credentials?: CredentialSourceMap
Defined in: packages/core/src/governance/governance.ts:79

id

id: string
Defined in: packages/core/src/governance/governance.ts:75

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:81

name?

optional name?: string
Defined in: packages/core/src/governance/governance.ts:76

policy

policy: PolicyContract
Defined in: packages/core/src/governance/governance.ts:78

servers?

optional servers?: McpServer[]
Defined in: packages/core/src/governance/governance.ts:80

users

users: User[]
Defined in: packages/core/src/governance/governance.ts:77
@fentaris/core / HeaderCredentialAuth
HeaderCredentialAuth = object
Defined in: packages/core/src/server/McpServer.ts:49MCP server option types.

Properties

credential

credential: CredentialReference
Defined in: packages/core/src/server/McpServer.ts:52
header: string
Defined in: packages/core/src/server/McpServer.ts:51

type

type: "header"
Defined in: packages/core/src/server/McpServer.ts:50
@fentaris/core / HealthBuilderOptions
HealthBuilderOptions = object
Defined in: packages/core/src/health/health.ts:33

Properties

checks?

optional checks?: boolean
Defined in: packages/core/src/health/health.ts:34

include?

optional include?: HealthIncludeCategory[]
Defined in: packages/core/src/health/health.ts:35

timeoutMs?

optional timeoutMs?: number
Defined in: packages/core/src/health/health.ts:36
@fentaris/core / HealthCheckContext
HealthCheckContext = object
Defined in: packages/core/src/health/health.ts:86

Properties

auth

auth: object
Defined in: packages/core/src/health/health.ts:92

state()

state(): HealthCheckResult
Returns
HealthCheckResult

identity

identity: object
Defined in: packages/core/src/health/health.ts:93

state()

state(): HealthCheckResult
Returns
HealthCheckResult

policy

policy: object
Defined in: packages/core/src/health/health.ts:91

state()

state(): HealthCheckResult
Returns
HealthCheckResult

runtime

runtime: HealthRuntimeContext
Defined in: packages/core/src/health/health.ts:87

Methods

group()

group(id): HealthGroupContext
Defined in: packages/core/src/health/health.ts:89

Parameters

id
string

Returns

HealthGroupContext

mcp()

mcp(name): HealthServerContext
Defined in: packages/core/src/health/health.ts:88

Parameters

name
string

Returns

HealthServerContext

transport()

transport(nameOrType?): HealthTransportContext
Defined in: packages/core/src/health/health.ts:90

Parameters

nameOrType?
string

Returns

HealthTransportContext
@fentaris/core / HealthCheckHandler
HealthCheckHandler = (ctx) => HealthStatus | Partial<HealthCheckResult> | Promise<HealthStatus | Partial<HealthCheckResult>>
Defined in: packages/core/src/health/health.ts:28

Parameters

ctx

HealthCheckContext

Returns

HealthStatus | Partial<HealthCheckResult> | Promise<HealthStatus | Partial<HealthCheckResult>>
@fentaris/core / HealthCheckResult
HealthCheckResult = object
Defined in: packages/core/src/health/health.ts:10

Properties

checkedAt

checkedAt: Date
Defined in: packages/core/src/health/health.ts:15

durationMs

durationMs: number
Defined in: packages/core/src/health/health.ts:14

error?

optional error?: ReturnType<typeof runtimeErrorToEventPayload>
Defined in: packages/core/src/health/health.ts:17

message?

optional message?: string
Defined in: packages/core/src/health/health.ts:13

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/health/health.ts:16

name

name: string
Defined in: packages/core/src/health/health.ts:11

status

status: HealthStatus
Defined in: packages/core/src/health/health.ts:12
@fentaris/core / HealthConfig
HealthConfig = boolean | HealthBuilder | HealthBuilderOptions & object
Defined in: packages/core/src/health/health.ts:39
@fentaris/core / HealthGroupContext
HealthGroupContext = object
Defined in: packages/core/src/health/health.ts:77

Properties

id

readonly id: string
Defined in: packages/core/src/health/health.ts:78

Methods

servers()

servers(): object[]
Defined in: packages/core/src/health/health.ts:79

Returns

object[]
@fentaris/core / HealthIncludeCategory
HealthIncludeCategory = "runtime" | "mcp" | "transport" | "groups"
Defined in: packages/core/src/health/health.ts:8
@fentaris/core / HealthReport
HealthReport = object
Defined in: packages/core/src/health/health.ts:20

Properties

checkedAt

checkedAt: Date
Defined in: packages/core/src/health/health.ts:22

checks

checks: HealthCheckResult[]
Defined in: packages/core/src/health/health.ts:24

durationMs

durationMs: number
Defined in: packages/core/src/health/health.ts:23

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/health/health.ts:25

status

status: HealthStatus
Defined in: packages/core/src/health/health.ts:21
@fentaris/core / HealthRuntimeContext
HealthRuntimeContext = object
Defined in: packages/core/src/health/health.ts:66

Methods

state()

state(): RuntimeLifecycleSnapshot
Defined in: packages/core/src/health/health.ts:67

Returns

RuntimeLifecycleSnapshot
@fentaris/core / HealthServerContext
HealthServerContext = object
Defined in: packages/core/src/health/health.ts:70

Properties

name

readonly name: string
Defined in: packages/core/src/health/health.ts:71

Methods

health()

health(): Promise<HealthCheckResult>
Defined in: packages/core/src/health/health.ts:74

Returns

Promise<HealthCheckResult>

ping()

ping(): Promise<HealthCheckResult>
Defined in: packages/core/src/health/health.ts:73

Returns

Promise<HealthCheckResult>

state()

state(): HealthCheckResult
Defined in: packages/core/src/health/health.ts:72

Returns

HealthCheckResult
@fentaris/core / HealthStatus
HealthStatus = "ok" | "degraded" | "down" | "unknown"
Defined in: packages/core/src/health/health.ts:7
@fentaris/core / HealthTransportContext
HealthTransportContext = object
Defined in: packages/core/src/health/health.ts:82

Methods

state()

state(): HealthCheckResult
Defined in: packages/core/src/health/health.ts:83

Returns

HealthCheckResult
@fentaris/core / HttpProxyExposureHandle
HttpProxyExposureHandle = ProxyExposureHandle & object
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:29Active HTTP proxy exposure handle.

Type Declaration

server

server: HttpServer
@fentaris/core / HttpProxyExposureTransportOptions
HttpProxyExposureTransportOptions = object
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:18Options for HTTP downstream proxy exposure.

Properties

host?

optional host?: string
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:20

onStarted?

optional onStarted?: () => void
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:22

Returns

void

path?

optional path?: string
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:21

port?

optional port?: number
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:19
@fentaris/core / HttpTransportApiKeyAuth
HttpTransportApiKeyAuth = { header: string; required?: boolean; value: string; } | { header: string; required?: boolean; resolve: (context) => MaybePromise<string | null | undefined>; }
Defined in: packages/core/src/transports/auth/transportAuth.ts:16API key auth options for HTTP-family MCP transports.
@fentaris/core / HttpTransportAuthContext
HttpTransportAuthContext = object
Defined in: packages/core/src/transports/auth/transportAuth.ts:8User-aware HTTP-family auth resolver context.

Properties

user

user: UserContext
Defined in: packages/core/src/transports/auth/transportAuth.ts:9
@fentaris/core / HttpTransportAuthOptions
HttpTransportAuthOptions = object
Defined in: packages/core/src/transports/auth/transportAuth.ts:32Shared auth options for HTTP-family upstream MCP transports.

Properties

apiKey?

optional apiKey?: HttpTransportApiKeyAuth
Defined in: packages/core/src/transports/auth/transportAuth.ts:35

bearerToken?

optional bearerToken?: string | ((context) => MaybePromise<string | null | undefined>)
Defined in: packages/core/src/transports/auth/transportAuth.ts:34

headers?

optional headers?: Record<string, string>
Defined in: packages/core/src/transports/auth/transportAuth.ts:33

required?

optional required?: boolean
Defined in: packages/core/src/transports/auth/transportAuth.ts:37

resolveHeaders?

optional resolveHeaders?: (context) => MaybePromise<Record<string, string> | null | undefined>
Defined in: packages/core/src/transports/auth/transportAuth.ts:36

Parameters

context
HttpTransportAuthContext

Returns

MaybePromise<Record<string, string> | null | undefined>
@fentaris/core / HttpTransportEnvHeaderMap
HttpTransportEnvHeaderMap = Record<string, string> | ((env) => Record<string, string>)
Defined in: packages/core/src/transports/client/HttpTransport.ts:11HTTP transport option types.
@fentaris/core / HttpTransportOptions
HttpTransportOptions = object
Defined in: packages/core/src/transports/client/HttpTransport.ts:17Options for HTTP transport.

Properties

auth?

optional auth?: HttpTransportAuthOptions
Defined in: packages/core/src/transports/client/HttpTransport.ts:21

authToken?

optional authToken?: string
Defined in: packages/core/src/transports/client/HttpTransport.ts:20

baseUrl

baseUrl: string
Defined in: packages/core/src/transports/client/HttpTransport.ts:18

envHeaderMap?

optional envHeaderMap?: HttpTransportEnvHeaderMap
Defined in: packages/core/src/transports/client/HttpTransport.ts:22

fetch?

optional fetch?: typeof fetch
Defined in: packages/core/src/transports/client/HttpTransport.ts:24

headers?

optional headers?: Record<string, string>
Defined in: packages/core/src/transports/client/HttpTransport.ts:19

network?

optional network?: UpstreamHttpNetworkOptions
Defined in: packages/core/src/transports/client/HttpTransport.ts:23
@fentaris/core / IdentityMetadata
IdentityMetadata = object
Defined in: packages/core/src/types/shared.ts:112Identity metadata resolved at the proxy edge.

Properties

authenticated?

optional authenticated?: boolean
Defined in: packages/core/src/types/shared.ts:114

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:116

strategy?

optional strategy?: string
Defined in: packages/core/src/types/shared.ts:113

userId?

optional userId?: string
Defined in: packages/core/src/types/shared.ts:115
@fentaris/core / IdentityResolverOptions
IdentityResolverOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:229Identity resolver configuration for proxy-edge auth.

Properties

required?

optional required?: boolean
Defined in: packages/core/src/proxy/McpProxy.ts:231

strategy

strategy: IdentityStrategy
Defined in: packages/core/src/proxy/McpProxy.ts:230
@fentaris/core / IdentityStrategy
IdentityStrategy = object
Defined in: packages/core/src/types/policy.ts:118Identity resolution strategy.

Properties

name

name: string
Defined in: packages/core/src/types/policy.ts:119

Methods

resolve()

resolve(request): MaybePromise<UserContext | null>
Defined in: packages/core/src/types/policy.ts:120

Parameters

request
headers?
Record<string, string>

Returns

MaybePromise<UserContext | null>
@fentaris/core / JsonConsoleLoggerDriverOptions
JsonConsoleLoggerDriverOptions = object
Defined in: packages/core/src/logging/logger.ts:96JSON console logger driver options.

Properties

writeLine?

optional writeLine?: (line) => void
Defined in: packages/core/src/logging/logger.ts:97

Parameters

line
string

Returns

void
@fentaris/core / JsonConsoleLoggerOptions
JsonConsoleLoggerOptions = Omit<LoggerOptions, "driver"> & JsonConsoleLoggerDriverOptions
Defined in: packages/core/src/logging/logger.ts:134JSON stdout logger factory options.
@fentaris/core / LegacyMiddleware
LegacyMiddleware = (request, context, next) => MaybePromise<CallToolResult | void>
Defined in: packages/core/src/types/middleware.ts:247Legacy middleware function signature.

Parameters

request

ToolCallRequest

context

MiddlewareContext

next

Next

Returns

MaybePromise<CallToolResult | void>
@fentaris/core / LifecycleHook
LifecycleHook = (event, context) => MaybePromise<void>
Defined in: packages/core/src/types/middleware.ts:55Hook invoked for proxy lifecycle events.

Parameters

event

LifecycleHookEvent

context

LifecycleHookContext

Returns

MaybePromise<void>
@fentaris/core / LifecycleHookContext
LifecycleHookContext = object
Defined in: packages/core/src/types/middleware.ts:41Lifecycle hook context.

Properties

error?

optional error?: Error
Defined in: packages/core/src/types/middleware.ts:47

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:44

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:48

request?

optional request?: ToolCallRequest
Defined in: packages/core/src/types/middleware.ts:46

sessionId?

optional sessionId?: string
Defined in: packages/core/src/types/middleware.ts:45

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:43

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:42
@fentaris/core / LifecycleHookEvent
LifecycleHookEvent = "sessionStart" | "sessionEnd" | "toolFailure"
Defined in: packages/core/src/types/middleware.ts:35Lifecycle event names emitted by the proxy.
@fentaris/core / ListPromptsParams
ListPromptsParams = ListPromptsRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:37Request/result aliases for MCP server prompt operations.
@fentaris/core / ListPromptsResponse
ListPromptsResponse = ListPromptsResult
Defined in: packages/core/src/types/mcp-operation.ts:38Core middleware and transport types.
@fentaris/core / ListResourcesParams
ListResourcesParams = ListResourcesRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:26Request/result aliases for MCP server resource operations.
@fentaris/core / ListResourcesResponse
ListResourcesResponse = ListResourcesResult
Defined in: packages/core/src/types/mcp-operation.ts:27Core middleware and transport types.
@fentaris/core / ListResourceTemplatesParams
ListResourceTemplatesParams = ListResourceTemplatesRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:30Core middleware and transport types.
@fentaris/core / ListResourceTemplatesResponse
ListResourceTemplatesResponse = ListResourceTemplatesResult
Defined in: packages/core/src/types/mcp-operation.ts:31Core middleware and transport types.
@fentaris/core / ListToolsContext
ListToolsContext = object
Defined in: packages/core/src/types/middleware.ts:79Context passed to list tool hooks.

Properties

credentialSources?

optional credentialSources?: CredentialSourceMetadata[]
Defined in: packages/core/src/types/middleware.ts:86

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:82

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:83

policy?

optional policy?: PolicyContract
Defined in: packages/core/src/types/middleware.ts:84

policyDecision?

optional policyDecision?: PolicyDecision
Defined in: packages/core/src/types/middleware.ts:85

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:81

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:80
@fentaris/core / ListToolsHook
ListToolsHook = (tools, context) => MaybePromise<ListToolsResult["tools"] | ListToolsResult | void>
Defined in: packages/core/src/types/middleware.ts:70Hook invoked after upstream tool discovery and before returning tools to the client.

Parameters

tools

ListToolsResult["tools"]

context

ListToolsContext

Returns

MaybePromise<ListToolsResult["tools"] | ListToolsResult | void>
@fentaris/core / LocalAuthOptions
LocalAuthOptions = object
Defined in: packages/core/src/auth/auth.ts:76

Properties

credentialsFile?

optional credentialsFile?: string
Defined in: packages/core/src/auth/auth.ts:79

dir

dir: string
Defined in: packages/core/src/auth/auth.ts:77

key

key: string | Buffer
Defined in: packages/core/src/auth/auth.ts:78

upstreamAuth?

optional upstreamAuth?: UpstreamAuthBindings
Defined in: packages/core/src/auth/auth.ts:81

upstreamAuthFile?

optional upstreamAuthFile?: string
Defined in: packages/core/src/auth/auth.ts:80
@fentaris/core / LocalCompletionHandler
LocalCompletionHandler = (ctx, params) => MaybePromise<CompleteResult>
Defined in: packages/core/src/local/declarations.ts:84Local completion handler.

Parameters

ctx

ProxyContext

params

CompleteRequest["params"]

Returns

MaybePromise<CompleteResult>
@fentaris/core / LocalCompletionReference
LocalCompletionReference = { name: string; type: "ref/prompt"; } | { type: "ref/resource"; uriTemplate: string; }
Defined in: packages/core/src/local/declarations.ts:93Reference used to bind a local completion handler.
@fentaris/core / LocalCredentials
LocalCredentials = z.infer<typeof localCredentialsSchema>
Defined in: packages/core/src/auth/auth.ts:72
@fentaris/core / LocalPromptHandler
LocalPromptHandler = (ctx, params) => MaybePromise<GetPromptResult>
Defined in: packages/core/src/local/declarations.ts:75Local prompt handler.

Parameters

ctx

ProxyContext

params

GetPromptRequest["params"]

Returns

MaybePromise<GetPromptResult>
@fentaris/core / LocalPromptMetadata
LocalPromptMetadata = Omit<Prompt, "name">
Defined in: packages/core/src/local/declarations.ts:51Metadata accepted when declaring a local prompt.
@fentaris/core / LocalResourceHandler
LocalResourceHandler = (ctx, params) => MaybePromise<ReadResourceResult>
Defined in: packages/core/src/local/declarations.ts:66Local resource read handler.

Parameters

ctx

ProxyContext

params

ReadResourceRequest["params"]

Returns

MaybePromise<ReadResourceResult>
@fentaris/core / LocalResourceMetadata
LocalResourceMetadata = Omit<Resource, "uri">
Defined in: packages/core/src/local/declarations.ts:39Metadata accepted when declaring a local exact resource.
@fentaris/core / LocalResourceTemplateMetadata
LocalResourceTemplateMetadata = Omit<ResourceTemplate, "uriTemplate">
Defined in: packages/core/src/local/declarations.ts:45Metadata accepted when declaring a local resource template.
@fentaris/core / LocalSecretsBackendOptions
LocalSecretsBackendOptions = object
Defined in: packages/core/src/secrets/local-backend.ts:8

Properties

credentialsFile?

optional credentialsFile?: string
Defined in: packages/core/src/secrets/local-backend.ts:11

dir

dir: string
Defined in: packages/core/src/secrets/local-backend.ts:9

key

key: string | Buffer
Defined in: packages/core/src/secrets/local-backend.ts:10
@fentaris/core / LocalToolHandler
LocalToolHandler = (ctx, params) => MaybePromise<CallToolResult>
Defined in: packages/core/src/local/declarations.ts:57Local tool handler.

Parameters

ctx

ProxyContext

params

CallToolRequest["params"]

Returns

MaybePromise<CallToolResult>
@fentaris/core / LocalToolMetadata
LocalToolMetadata = Omit<Tool, "name">
Defined in: packages/core/src/local/declarations.ts:33Metadata accepted when declaring a local tool.
@fentaris/core / LogEntry
LogEntry = object
Defined in: packages/core/src/logging/logger.ts:16Structured log entry payload.

Properties

context

context: Record<string, unknown>
Defined in: packages/core/src/logging/logger.ts:20

level

level: LogLevel
Defined in: packages/core/src/logging/logger.ts:17

message

message: string
Defined in: packages/core/src/logging/logger.ts:18

metadata

metadata: Record<string, unknown>
Defined in: packages/core/src/logging/logger.ts:21

timestamp

timestamp: Date
Defined in: packages/core/src/logging/logger.ts:19
@fentaris/core / LoggerDriver
LoggerDriver = object
Defined in: packages/core/src/logging/logger.ts:28Low-level logger driver interface.

Methods

write()

write(entry): void | Promise<void>
Defined in: packages/core/src/logging/logger.ts:29

Parameters

entry
LogEntry

Returns

void | Promise<void>
@fentaris/core / LoggerOptions
LoggerOptions = object
Defined in: packages/core/src/logging/logger.ts:36Logger configuration options.

Properties

context?

optional context?: Record<string, unknown>
Defined in: packages/core/src/logging/logger.ts:39

driver?

optional driver?: LoggerDriver
Defined in: packages/core/src/logging/logger.ts:38

level?

optional level?: LogLevel
Defined in: packages/core/src/logging/logger.ts:37

onWrite?

optional onWrite?: (entry) => void | Promise<void>
Defined in: packages/core/src/logging/logger.ts:40

Parameters

entry
LogEntry

Returns

void | Promise<void>

redact?

optional redact?: boolean | LoggerRedactionOptions
Defined in: packages/core/src/logging/logger.ts:41
@fentaris/core / LoggerRedactionOptions
LoggerRedactionOptions = object
Defined in: packages/core/src/logging/logger.ts:48Logger redaction configuration.

Properties

enabled?

optional enabled?: boolean
Defined in: packages/core/src/logging/logger.ts:49

keys?

optional keys?: (string | RegExp)[]
Defined in: packages/core/src/logging/logger.ts:51

paths?

optional paths?: string[]
Defined in: packages/core/src/logging/logger.ts:52

redact?

optional redact?: (value, path, key?) => unknown
Defined in: packages/core/src/logging/logger.ts:53

Parameters

value
unknown
path
string[]
key?
string

Returns

unknown

replacement?

optional replacement?: string
Defined in: packages/core/src/logging/logger.ts:50
@fentaris/core / LoggerSinkOptions
LoggerSinkOptions = object
Defined in: packages/core/src/profiler/events.ts:142

Properties

logger

logger: Logger
Defined in: packages/core/src/profiler/events.ts:143
@fentaris/core / LogLevel
LogLevel = "debug" | "info" | "warn" | "error" | "fatal"
Defined in: packages/core/src/logging/logger.ts:10Supported log levels.
@fentaris/core / ManualApprovalOptions
ManualApprovalOptions = object
Defined in: packages/core/src/governance/governance.ts:418Options for an external approval workflow.

Properties

metadata?

optional metadata?: Record<string, unknown> | ((request, context) => Record<string, unknown> | undefined)
Defined in: packages/core/src/governance/governance.ts:422

reason?

optional reason?: string | ((request, context) => string | undefined)
Defined in: packages/core/src/governance/governance.ts:421

requestId?

optional requestId?: string | ((request, context) => string)
Defined in: packages/core/src/governance/governance.ts:419

resolve?

optional resolve?: ApprovalHandler<ToolApprovalRequest>
Defined in: packages/core/src/governance/governance.ts:423

url?

optional url?: string | ((request, context) => string | undefined)
Defined in: packages/core/src/governance/governance.ts:420
@fentaris/core / MaybePromise
MaybePromise<T> = T | Promise<T>
Defined in: packages/core/src/types/shared.ts:8Maybe a promise for async compatibility.

Type Parameters

T

T
@fentaris/core / McpOperationName
McpOperationName = "tools:list" | "tool:call" | "resources:list" | "resource:read" | "resource-templates:list" | "prompts:list" | "prompt:get" | "completion:complete"
Defined in: packages/core/src/types/mcp-operation.ts:91Governed MCP operation names used by capability permissions.
@fentaris/core / McpProxyOptions
McpProxyOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:190Options for creating an MCP proxy server.

Properties

auth?

optional auth?: FentarisAuth
Defined in: packages/core/src/proxy/McpProxy.ts:203

autoLog?

optional autoLog?: boolean | AutoLogOptions
Defined in: packages/core/src/proxy/McpProxy.ts:205

defaults?

optional defaults?: object
Defined in: packages/core/src/proxy/McpProxy.ts:200

credentials?

optional credentials?: CredentialSourceMap

errorMapper?

optional errorMapper?: ErrorMapper
Defined in: packages/core/src/proxy/McpProxy.ts:209

groups?

optional groups?: Group[]
Defined in: packages/core/src/proxy/McpProxy.ts:199

health?

optional health?: HealthConfig
Defined in: packages/core/src/proxy/McpProxy.ts:208

host?

optional host?: string
Defined in: packages/core/src/proxy/McpProxy.ts:193

identity?

optional identity?: IdentityStrategy | IdentityResolverOptions
Defined in: packages/core/src/proxy/McpProxy.ts:197

lifecycle?

optional lifecycle?: RuntimeLifecycleOptions
Defined in: packages/core/src/proxy/McpProxy.ts:207

logger?

optional logger?: Logger
Defined in: packages/core/src/proxy/McpProxy.ts:195

name?

optional name?: string
Defined in: packages/core/src/proxy/McpProxy.ts:210

path?

optional path?: string
Defined in: packages/core/src/proxy/McpProxy.ts:194

policy?

optional policy?: PolicyContract
Defined in: packages/core/src/proxy/McpProxy.ts:198

port?

optional port?: number
Defined in: packages/core/src/proxy/McpProxy.ts:192

profiler?

optional profiler?: RuntimeProfilerConfig
Defined in: packages/core/src/proxy/McpProxy.ts:206

registry?

optional registry?: Registry
Defined in: packages/core/src/proxy/McpProxy.ts:204

servers?

optional servers?: McpServer[]
Defined in: packages/core/src/proxy/McpProxy.ts:191

user?

optional user?: UserContext | ((request) => UserContext | Promise<UserContext>)
Defined in: packages/core/src/proxy/McpProxy.ts:196

version?

optional version?: string
Defined in: packages/core/src/proxy/McpProxy.ts:211
@fentaris/core / McpProxyStartOptions
McpProxyStartOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:238Optional start overrides for the MCP proxy.

Properties

host?

optional host?: string
Defined in: packages/core/src/proxy/McpProxy.ts:240

path?

optional path?: string
Defined in: packages/core/src/proxy/McpProxy.ts:241

port?

optional port?: number
Defined in: packages/core/src/proxy/McpProxy.ts:239

startupTimeoutMs?

optional startupTimeoutMs?: number
Defined in: packages/core/src/proxy/McpProxy.ts:242
@fentaris/core / McpProxyStopOptions
McpProxyStopOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:249Optional stop overrides for the MCP proxy.

Properties

shutdownTimeoutMs?

optional shutdownTimeoutMs?: number
Defined in: packages/core/src/proxy/McpProxy.ts:250
@fentaris/core / McpServerAuth
McpServerAuth = BearerCredentialAuth | HeaderCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:42Server credential application configuration.
@fentaris/core / McpServerOptions
McpServerOptions = object
Defined in: packages/core/src/server/McpServer.ts:64Configuration for an MCP server wrapper.

Properties

auth?

optional auth?: McpServerAuth
Defined in: packages/core/src/server/McpServer.ts:68

displayName?

optional displayName?: string
Defined in: packages/core/src/server/McpServer.ts:66

env?

optional env?: EnvResolver
Defined in: packages/core/src/server/McpServer.ts:69

isolation?

optional isolation?: Isolation
Defined in: packages/core/src/server/McpServer.ts:70

isolationTimeout?

optional isolationTimeout?: number
Defined in: packages/core/src/server/McpServer.ts:71

name

name: string
Defined in: packages/core/src/server/McpServer.ts:65

transport

transport: FentarisTransport
Defined in: packages/core/src/server/McpServer.ts:67
@fentaris/core / Middleware
Middleware = LegacyMiddleware | ProxyMiddleware
Defined in: packages/core/src/types/middleware.ts:266Middleware function signature.
@fentaris/core / MiddlewareContext
MiddlewareContext = object
Defined in: packages/core/src/types/middleware.ts:217Middleware execution context.

Properties

approval

approval: ApprovalDecisionController
Defined in: packages/core/src/types/middleware.ts:221

credentialSources?

optional credentialSources?: CredentialSourceMetadata[]
Defined in: packages/core/src/types/middleware.ts:228

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:220

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:222

policy?

optional policy?: PolicyContract | ProxyPolicyContext
Defined in: packages/core/src/types/middleware.ts:224

policyDecision?

optional policyDecision?: PolicyDecision
Defined in: packages/core/src/types/middleware.ts:225

rateLimiter?

optional rateLimiter?: RateLimiter
Defined in: packages/core/src/types/middleware.ts:227

registry?

optional registry?: Registry
Defined in: packages/core/src/types/middleware.ts:226

res

res: ResponseController
Defined in: packages/core/src/types/middleware.ts:223

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:219

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:218
@fentaris/core / Next
Next = () => Promise<CallToolResult>
Defined in: packages/core/src/types/middleware.ts:235Next middleware handler.

Returns

Promise<CallToolResult>
@fentaris/core / NormalizedProfilerRedaction
NormalizedProfilerRedaction = object
Defined in: packages/core/src/profiler/redaction.ts:14

Properties

custom

custom: (value, path, key?) => unknown[]
Defined in: packages/core/src/profiler/redaction.ts:19

Parameters

value
unknown
path
string[]
key?
string

Returns

unknown

enabled

enabled: boolean
Defined in: packages/core/src/profiler/redaction.ts:15

keys

keys: (string | RegExp)[]
Defined in: packages/core/src/profiler/redaction.ts:17

paths

paths: string[][]
Defined in: packages/core/src/profiler/redaction.ts:18

replacement

replacement: unknown
Defined in: packages/core/src/profiler/redaction.ts:16
@fentaris/core / NormalizedRuntimeProfiler
NormalizedRuntimeProfiler = object
Defined in: packages/core/src/profiler/profiler.ts:52

Properties

failureMode

failureMode: ProfilerFailureMode
Defined in: packages/core/src/profiler/profiler.ts:59

filters

filters: ProfilerFilter[]
Defined in: packages/core/src/profiler/profiler.ts:55

handlers

handlers: RuntimeProfilerHandlerEntry[]
Defined in: packages/core/src/profiler/profiler.ts:57

level

level: RuntimeEventLevel
Defined in: packages/core/src/profiler/profiler.ts:53

onSinkError?

optional onSinkError?: (error, event) => void | Promise<void>
Defined in: packages/core/src/profiler/profiler.ts:60

Parameters

error
FentarisExtensionError
event
RuntimeEvent

Returns

void | Promise<void>

redaction

redaction: NormalizedProfilerRedaction
Defined in: packages/core/src/profiler/profiler.ts:58

sinks

sinks: ProfilerSink[]
Defined in: packages/core/src/profiler/profiler.ts:56

track

track: Set<ProfilerTrack>
Defined in: packages/core/src/profiler/profiler.ts:54
@fentaris/core / PolicyDecision
PolicyDecision = object
Defined in: packages/core/src/types/policy.ts:49Policy evaluation result.

Properties

allowed

allowed: boolean
Defined in: packages/core/src/types/policy.ts:50

metadata?

optional metadata?: PolicyMetadata & Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:52

reason?

optional reason?: string
Defined in: packages/core/src/types/policy.ts:51
@fentaris/core / PolicyMetadata
PolicyMetadata = object
Defined in: packages/core/src/types/shared.ts:70Effective policy metadata safe to expose in middleware and logs.

Properties

approval?

optional approval?: ApprovalMetadata
Defined in: packages/core/src/types/shared.ts:85

denialReason?

optional denialReason?: string
Defined in: packages/core/src/types/shared.ts:84

matchedGroups?

optional matchedGroups?: string[]
Defined in: packages/core/src/types/shared.ts:72

matchedPermissions?

optional matchedPermissions?: object[]
Defined in: packages/core/src/types/shared.ts:73

effect

effect: "allow" | "deny"

groupId?

optional groupId?: string

metadata?

optional metadata?: Record<string, unknown>

operation

operation: McpOperationName

policyName

policyName: string

serverName

serverName: string

target?

optional target?: string

targetKind?

optional targetKind?: CapabilityTargetKind

toolName?

optional toolName?: string

policyName?

optional policyName?: string
Defined in: packages/core/src/types/shared.ts:71
@fentaris/core / ProfilerFailureMode
ProfilerFailureMode = "isolate" | "strict"
Defined in: packages/core/src/profiler/profiler.ts:29
@fentaris/core / ProfilerFilter
ProfilerFilter = object
Defined in: packages/core/src/profiler/events.ts:117

Properties

category?

optional category?: ProfilerTrack | ProfilerTrack[]
Defined in: packages/core/src/profiler/events.ts:118

group?

optional group?: string | string[]
Defined in: packages/core/src/profiler/events.ts:121

level?

optional level?: RuntimeEventLevel
Defined in: packages/core/src/profiler/events.ts:119

minDurationMs?

optional minDurationMs?: number
Defined in: packages/core/src/profiler/events.ts:124

operation?

optional operation?: string | string[]
Defined in: packages/core/src/profiler/events.ts:123

server?

optional server?: string | string[]
Defined in: packages/core/src/profiler/events.ts:120

user?

optional user?: string | string[]
Defined in: packages/core/src/profiler/events.ts:122
@fentaris/core / ProfilerFunctionSink
ProfilerFunctionSink = (event) => void | Promise<void>
Defined in: packages/core/src/profiler/events.ts:136

Parameters

event

RuntimeEvent

Returns

void | Promise<void>
@fentaris/core / ProfilerHandlerOptions
ProfilerHandlerOptions = object
Defined in: packages/core/src/profiler/events.ts:127

Properties

where?

optional where?: ProfilerFilter
Defined in: packages/core/src/profiler/events.ts:128
@fentaris/core / ProfilerObjectConfig
ProfilerObjectConfig = object
Defined in: packages/core/src/profiler/profiler.ts:31

Properties

failureMode?

optional failureMode?: ProfilerFailureMode
Defined in: packages/core/src/profiler/profiler.ts:41

handlers?

optional handlers?: RuntimeProfilerHandlerEntry[]
Defined in: packages/core/src/profiler/profiler.ts:38

level?

optional level?: RuntimeEventLevel
Defined in: packages/core/src/profiler/profiler.ts:33

onSinkError?

optional onSinkError?: (error, event) => void | Promise<void>
Defined in: packages/core/src/profiler/profiler.ts:40

Parameters

error
FentarisExtensionError
event
RuntimeEvent

Returns

void | Promise<void>

preset?

optional preset?: "pretty" | "silent" | "json"
Defined in: packages/core/src/profiler/profiler.ts:32

redact?

optional redact?: boolean | ProfilerRedactionOptions
Defined in: packages/core/src/profiler/profiler.ts:39

sink?

optional sink?: ProfilerSinkLike
Defined in: packages/core/src/profiler/profiler.ts:37

sinks?

optional sinks?: ProfilerSinkLike[]
Defined in: packages/core/src/profiler/profiler.ts:36

track?

optional track?: ProfilerTrack[]
Defined in: packages/core/src/profiler/profiler.ts:34

where?

optional where?: ProfilerFilter
Defined in: packages/core/src/profiler/profiler.ts:35
@fentaris/core / ProfilerPrettySinkOptions
ProfilerPrettySinkOptions = object
Defined in: packages/core/src/profiler/events.ts:138

Properties

writer?

optional writer?: (line) => void
Defined in: packages/core/src/profiler/events.ts:139

Parameters

line
string

Returns

void
@fentaris/core / ProfilerRedactionOptions
ProfilerRedactionOptions = object
Defined in: packages/core/src/profiler/redaction.ts:6

Properties

enabled?

optional enabled?: boolean
Defined in: packages/core/src/profiler/redaction.ts:7

keys?

optional keys?: (string | RegExp)[]
Defined in: packages/core/src/profiler/redaction.ts:9

paths?

optional paths?: (string | string[])[]
Defined in: packages/core/src/profiler/redaction.ts:10

replacement?

optional replacement?: unknown
Defined in: packages/core/src/profiler/redaction.ts:8

rules?

optional rules?: ProfilerRedactionRule[]
Defined in: packages/core/src/profiler/redaction.ts:11
@fentaris/core / ProfilerRedactionRule
ProfilerRedactionRule = { key: string | RegExp; replacement?: unknown; } | { path: string | string[]; replacement?: unknown; } | ((value, path, key?) => unknown)
Defined in: packages/core/src/profiler/redaction.ts:1
@fentaris/core / ProfilerSink
ProfilerSink = object
Defined in: packages/core/src/profiler/events.ts:131

Properties

name?

optional name?: string
Defined in: packages/core/src/profiler/events.ts:132

Methods

write()

write(event): void | Promise<void>
Defined in: packages/core/src/profiler/events.ts:133

Parameters

event
RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeTransportEvent | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeExtensionEvent | RuntimeProfilerEvent | RuntimeEventDimensions & object & object & object | RuntimeEventDimensions & object & object & object

Returns

void | Promise<void>
@fentaris/core / ProfilerSinkLike
ProfilerSinkLike = ProfilerSink | ProfilerFunctionSink
Defined in: packages/core/src/profiler/events.ts:146
@fentaris/core / ProfilerTrack
ProfilerTrack = RuntimeEventCategory
Defined in: packages/core/src/profiler/events.ts:115
@fentaris/core / ProxyAuthContext
ProxyAuthContext = object
Defined in: packages/core/src/types/proxy.ts:73Normalized authentication metadata exposed through the unified context.

Properties

authenticated

authenticated: boolean
Defined in: packages/core/src/types/proxy.ts:75

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/proxy.ts:77

strategy?

optional strategy?: string
Defined in: packages/core/src/types/proxy.ts:74

userId?

optional userId?: string
Defined in: packages/core/src/types/proxy.ts:76
@fentaris/core / ProxyCompletionContext
ProxyCompletionContext = object
Defined in: packages/core/src/types/proxy.ts:137Selected completion metadata.

Properties

argumentName

argumentName: string
Defined in: packages/core/src/types/proxy.ts:141

proxyTarget?

optional proxyTarget?: string
Defined in: packages/core/src/types/proxy.ts:140

refType

refType: "ref/prompt" | "ref/resource"
Defined in: packages/core/src/types/proxy.ts:138

target

target: string
Defined in: packages/core/src/types/proxy.ts:139
@fentaris/core / ProxyContext
ProxyContext = MiddlewareContext & object
Defined in: packages/core/src/types/proxy.ts:148Unified context for new proxy middleware, routes, and events.

Type Declaration

args?

optional args?: CallToolRequest["params"]["arguments"]

auth

auth: ProxyAuthContext

completion?

optional completion?: ProxyCompletionContext

credentials

credentials: object

credentials.sources

sources: CredentialSourceMetadata[]

operation

operation: ProxyOperation

policy

policy: ProxyPolicyContext

prompt?

optional prompt?: ProxyPromptContext

raw?

optional raw?: CallToolRequest["params"] | CompleteRequest["params"] | GetPromptRequest["params"] | ListPromptsRequest["params"] | ListResourcesRequest["params"] | ListResourceTemplatesRequest["params"] | ListToolsRequest["params"] | ReadResourceRequest["params"]

requestId?

optional requestId?: string

resource?

optional resource?: ProxyResourceContext

response

response: ResponseController

server?

optional server?: ProxyServerContext

state

state: Record<string, unknown>

tool?

optional tool?: ProxyToolContext

transport

transport: ProxyTransportContext

continue()

continue(): undefined

Returns

undefined

deny()

deny(message): object

Parameters

message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

error()

error(code, message): object

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

fail()

fail(code, message): object

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

inject()

inject(message): void

Parameters

message
string

Returns

void
@fentaris/core / ProxyEventFilter
ProxyEventFilter = object
Defined in: packages/core/src/types/proxy.ts:228Filter for unified proxy events.

Properties

group?

optional group?: string
Defined in: packages/core/src/types/proxy.ts:230

proxyTool?

optional proxyTool?: string
Defined in: packages/core/src/types/proxy.ts:232

server?

optional server?: string
Defined in: packages/core/src/types/proxy.ts:229

tool?

optional tool?: string
Defined in: packages/core/src/types/proxy.ts:231
@fentaris/core / ProxyEventHandler
ProxyEventHandler = (payload) => MaybePromise<ListToolsResult["tools"] | SdkListToolsResult | void>
Defined in: packages/core/src/types/proxy.ts:252Unified event handler.

Parameters

payload

ProxyEventPayload

Returns

MaybePromise<ListToolsResult["tools"] | SdkListToolsResult | void>
@fentaris/core / ProxyEventName
ProxyEventName = "session:start" | "session:end" | "tools:list:after" | "tool:start" | "tool:success" | "tool:error" | "tool:after" | "resource:start" | "resource:success" | "resource:error" | "resource:after" | "prompt:start" | "prompt:success" | "prompt:error" | "prompt:after" | "completion:start" | "completion:success" | "completion:error" | "completion:after"
Defined in: packages/core/src/types/proxy.ts:203Unified event names emitted by the proxy runtime.
@fentaris/core / ProxyExposureHandle
ProxyExposureHandle = object
Defined in: packages/core/src/types/proxy.ts:306Active downstream proxy exposure handle.

Methods

close()

close(): Promise<void>
Defined in: packages/core/src/types/proxy.ts:307

Returns

Promise<void>
@fentaris/core / ProxyExposureTransport
ProxyExposureTransport<THandle> = object
Defined in: packages/core/src/types/proxy.ts:341Transport interface for exposing the Fentaris proxy to downstream MCP clients.

Type Parameters

THandle

THandle extends ProxyExposureHandle = ProxyExposureHandle

Methods

listen()

listen(runtime): Promise<THandle>
Defined in: packages/core/src/types/proxy.ts:342

Parameters

runtime
ProxyRuntime

Returns

Promise<THandle>
@fentaris/core / ProxyGroupHandle
ProxyGroupHandle = object
Defined in: packages/core/src/types/proxy.ts:289Scoped group handle returned by proxy.group(id).

Properties

id

readonly id: string
Defined in: packages/core/src/types/proxy.ts:290

Methods

mcp()

mcp(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:291

Parameters

name
string

Returns

ProxyMcpHandle

on()

Call Signature

on(eventName, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:298
Parameters
eventName
ProxyEventName
handler
ProxyEventHandler
Returns
ProxyGroupHandle

Call Signature

on(eventName, filter, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:299
Parameters
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
ProxyGroupHandle

operation()

operation(operation, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:297

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

ProxyGroupHandle

policy()

policy(policyNameOrPolicy): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:294

Parameters

policyNameOrPolicy
string | PolicyContract

Returns

ProxyGroupHandle

server()

server(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:292

Parameters

name
string

Returns

ProxyMcpHandle

use()

Call Signature

use(handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:295
Parameters
handler
ProxyMiddleware
Returns
ProxyGroupHandle

Call Signature

use(handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:296
Parameters
handler
LegacyMiddleware
Returns
ProxyGroupHandle

users()

users(…users): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:293

Parameters

users
User[]

Returns

ProxyGroupHandle
@fentaris/core / ProxyHookEvent
ProxyHookEvent = "call"
Defined in: packages/core/src/types/middleware.ts:29Event names supported by the proxy hook system.
@fentaris/core / ProxyLocalHandle
ProxyLocalHandle = object
Defined in: packages/core/src/local/declarations.ts:101Handle returned by app.local(name) for declaring local MCP capabilities.

Properties

name

readonly name: string
Defined in: packages/core/src/local/declarations.ts:102

Methods

completion()

completion(ref, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:107

Parameters

ref
LocalCompletionReference
handler
LocalCompletionHandler

Returns

ProxyLocalHandle

prompt()

prompt(name, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:106

Parameters

name
string
metadata
LocalPromptMetadata
handler
LocalPromptHandler

Returns

ProxyLocalHandle

resource()

resource(uri, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:104

Parameters

uri
string
metadata
LocalResourceMetadata
handler
LocalResourceHandler

Returns

ProxyLocalHandle

resourceTemplate()

resourceTemplate(uriTemplate, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:105

Parameters

uriTemplate
string
metadata
LocalResourceTemplateMetadata
handler
LocalResourceHandler

Returns

ProxyLocalHandle

tool()

tool(name, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:103

Parameters

name
string
metadata
LocalToolMetadata
handler
LocalToolHandler

Returns

ProxyLocalHandle
@fentaris/core / ProxyMcpDeclarationConfig
ProxyMcpDeclarationConfig = McpServerOptions
Defined in: packages/core/src/types/proxy.ts:335Config object for declaring an upstream MCP server through proxy.mcp(config).
@fentaris/core / ProxyMcpDeclarationOptions
ProxyMcpDeclarationOptions = Omit<McpServerOptions, "name">
Defined in: packages/core/src/types/proxy.ts:329Options for declaring an upstream MCP server through proxy.mcp(name, options).
@fentaris/core / ProxyMcpHandle
ProxyMcpHandle = object
Defined in: packages/core/src/types/proxy.ts:260Scoped upstream MCP handle returned by proxy.mcp(name) or proxy.server(name).

Properties

name

readonly name: string
Defined in: packages/core/src/types/proxy.ts:261

Methods

health()

health(): Promise<HealthCheckResult>
Defined in: packages/core/src/types/proxy.ts:269

Returns

Promise<HealthCheckResult>

on()

Call Signature

on(eventName, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:266
Parameters
eventName
ProxyEventName
handler
ProxyEventHandler
Returns
ProxyMcpHandle

Call Signature

on(eventName, filter, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:267
Parameters
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
ProxyMcpHandle

operation()

operation(operation, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:265

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

ProxyMcpHandle

ping()

ping(): Promise<HealthCheckResult>
Defined in: packages/core/src/types/proxy.ts:268

Returns

Promise<HealthCheckResult>

tool()

tool(pattern, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:264

Parameters

pattern
string
handler
ProxyMiddleware

Returns

ProxyMcpHandle

use()

Call Signature

use(handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:262
Parameters
handler
ProxyMiddleware
Returns
ProxyMcpHandle

Call Signature

use(handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:263
Parameters
handler
LegacyMiddleware
Returns
ProxyMcpHandle
@fentaris/core / ProxyMiddleware
ProxyMiddleware = (context, next) => MaybePromise<ProxyOperationResult | void>
Defined in: packages/core/src/types/middleware.ts:257Express-like middleware function signature.

Parameters

context

ProxyContext

next

ProxyNext

Returns

MaybePromise<ProxyOperationResult | void>
@fentaris/core / ProxyNext
ProxyNext = () => Promise<ProxyOperationResult>
Defined in: packages/core/src/types/middleware.ts:241Next handler for unified proxy middleware.

Returns

Promise<ProxyOperationResult>
@fentaris/core / ProxyOperation
ProxyOperation = "tool:call" | "tools:list" | "resources:list" | "resource:read" | "resource-templates:list" | "prompts:list" | "prompt:get" | "completion:complete" | "session:start" | "session:end"
Defined in: packages/core/src/types/mcp-operation.ts:75Operation names handled by the unified proxy context.
@fentaris/core / ProxyOperationHandler
ProxyOperationHandler = ProxyMiddleware
Defined in: packages/core/src/types/proxy.ts:191Express-like handler for a governed MCP operation route.
@fentaris/core / ProxyOperationResult
ProxyOperationResult = CallToolResult | CompleteResult | GetPromptResult | ListPromptsResult | ListResourcesResult | ListResourceTemplatesResult | ListToolsResult | ReadResourceResult
Defined in: packages/core/src/types/mcp-operation.ts:123Result shapes returned by governed proxy operation handlers.
@fentaris/core / ProxyPolicyContext
ProxyPolicyContext = object
Defined in: packages/core/src/types/proxy.ts:84Structured policy metadata exposed through the unified context.

Properties

allowed?

optional allowed?: boolean
Defined in: packages/core/src/types/proxy.ts:85

decision?

optional decision?: PolicyDecision
Defined in: packages/core/src/types/proxy.ts:91

matchedGroups

matchedGroups: string[]
Defined in: packages/core/src/types/proxy.ts:87

matchedPermissions

matchedPermissions: NonNullable<PolicyMetadata["matchedPermissions"]>
Defined in: packages/core/src/types/proxy.ts:88

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/proxy.ts:89

policy?

optional policy?: PolicyContract
Defined in: packages/core/src/types/proxy.ts:90

reason?

optional reason?: string
Defined in: packages/core/src/types/proxy.ts:86

Methods

can()

can(server, tool): MaybePromise<boolean>
Defined in: packages/core/src/types/proxy.ts:92

Parameters

server
string
tool
string

Returns

MaybePromise<boolean>
@fentaris/core / ProxyPromptContext
ProxyPromptContext = object
Defined in: packages/core/src/types/proxy.ts:128Selected prompt metadata.

Properties

name

name: string
Defined in: packages/core/src/types/proxy.ts:129

proxyName

proxyName: string
Defined in: packages/core/src/types/proxy.ts:130
@fentaris/core / ProxyResourceContext
ProxyResourceContext = object
Defined in: packages/core/src/types/proxy.ts:117Selected resource metadata.

Properties

proxyUri?

optional proxyUri?: string
Defined in: packages/core/src/types/proxy.ts:119

proxyUriTemplate?

optional proxyUriTemplate?: string
Defined in: packages/core/src/types/proxy.ts:121

uri?

optional uri?: string
Defined in: packages/core/src/types/proxy.ts:118

uriTemplate?

optional uriTemplate?: string
Defined in: packages/core/src/types/proxy.ts:120
@fentaris/core / ProxyRuntime
ProxyRuntime = object
Defined in: packages/core/src/types/proxy.ts:314Runtime operations shared by downstream proxy exposure transports.

Properties

identityRequired

identityRequired: boolean
Defined in: packages/core/src/types/proxy.ts:322

logger

logger: Logger
Defined in: packages/core/src/types/proxy.ts:321

Methods

createSdkServer()

createSdkServer(user?, identity?, subject?): unknown
Defined in: packages/core/src/types/proxy.ts:315

Parameters

user?
UserContext
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

unknown

emitRuntimeEvent()

emitRuntimeEvent(event): Promise<void>
Defined in: packages/core/src/types/proxy.ts:320

Parameters

event
RuntimeEvent

Returns

Promise<void>

emitSessionEnd()

emitSessionEnd(context): Promise<void>
Defined in: packages/core/src/types/proxy.ts:319

Parameters

context
LifecycleHookContext

Returns

Promise<void>

emitSessionStart()

emitSessionStart(context): Promise<void>
Defined in: packages/core/src/types/proxy.ts:318

Parameters

context
LifecycleHookContext

Returns

Promise<void>

resolveHttpUser()

resolveHttpUser(request): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/types/proxy.ts:316

Parameters

request
unknown

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

resolveStdioUser()

resolveStdioUser(): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/types/proxy.ts:317

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
@fentaris/core / ProxyServerContext
ProxyServerContext = object
Defined in: packages/core/src/types/proxy.ts:99Selected upstream server metadata.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/proxy.ts:101

name

name: string
Defined in: packages/core/src/types/proxy.ts:100
@fentaris/core / ProxyToolContext
ProxyToolContext = object
Defined in: packages/core/src/types/proxy.ts:108Selected tool metadata.

Properties

name

name: string
Defined in: packages/core/src/types/proxy.ts:109

proxyName

proxyName: string
Defined in: packages/core/src/types/proxy.ts:110
@fentaris/core / ProxyToolHandler
ProxyToolHandler = ProxyMiddleware
Defined in: packages/core/src/types/proxy.ts:185Express-like tool route handler signature.
@fentaris/core / ProxyToolPattern
ProxyToolPattern = string
Defined in: packages/core/src/types/proxy.ts:197Public tool pattern using server.tool dot notation and * wildcards.
@fentaris/core / ProxyTransportContext
ProxyTransportContext = object
Defined in: packages/core/src/types/proxy.ts:63Safe downstream transport metadata attached to a proxy operation.

Properties

requestId?

optional requestId?: string
Defined in: packages/core/src/types/proxy.ts:66

sessionId?

optional sessionId?: string
Defined in: packages/core/src/types/proxy.ts:65

type?

optional type?: "http" | "stdio" | "sse" | "unknown"
Defined in: packages/core/src/types/proxy.ts:64
@fentaris/core / ReadResourceParams
ReadResourceParams = ReadResourceRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:28Core middleware and transport types.
@fentaris/core / ReadResourceResponse
ReadResourceResponse = ReadResourceResult
Defined in: packages/core/src/types/mcp-operation.ts:29Core middleware and transport types.
@fentaris/core / RedisLoggerClient
RedisLoggerClient = object
Defined in: packages/core/src/logging/logger.ts:152Minimal Redis-compatible logger client contract.

Methods

rpush()

rpush(key, value): void | Promise<unknown>
Defined in: packages/core/src/logging/logger.ts:153

Parameters

key
string
value
string

Returns

void | Promise<unknown>
@fentaris/core / RedisLoggerDriverOptions
RedisLoggerDriverOptions = object
Defined in: packages/core/src/logging/logger.ts:160Redis logger driver options.

Properties

client

client: RedisLoggerClient
Defined in: packages/core/src/logging/logger.ts:161

key?

optional key?: string
Defined in: packages/core/src/logging/logger.ts:162
@fentaris/core / RedisRegistryClient
RedisRegistryClient = object
Defined in: packages/core/src/registry/registry.ts:8Minimal Redis-compatible client contract.

Methods

get()

get(key): string | Promise<string | null> | null
Defined in: packages/core/src/registry/registry.ts:9

Parameters

key
string

Returns

string | Promise<string | null> | null

set()

set(key, value): unknown
Defined in: packages/core/src/registry/registry.ts:10

Parameters

key
string
value
string

Returns

unknown
@fentaris/core / RedisRegistryOptions
RedisRegistryOptions = object
Defined in: packages/core/src/registry/registry.ts:17Options for Redis-backed registry storage.

Properties

client

client: RedisRegistryClient
Defined in: packages/core/src/registry/registry.ts:18

keyPrefix?

optional keyPrefix?: string
Defined in: packages/core/src/registry/registry.ts:19
@fentaris/core / ResolvedSubject
ResolvedSubject = object
Defined in: packages/core/src/types/shared.ts:92Authenticated subject resolved from user and group declarations.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/shared.ts:94

email?

optional email?: string
Defined in: packages/core/src/types/shared.ts:95

groups

groups: GroupMembership[]
Defined in: packages/core/src/types/shared.ts:98

id

id: string
Defined in: packages/core/src/types/shared.ts:93

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:96

tenant?

optional tenant?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:97

Methods

hasGroup()

hasGroup(groupId): boolean
Defined in: packages/core/src/types/shared.ts:99

Parameters

groupId
string

Returns

boolean
@fentaris/core / RuntimeEvent
RuntimeEvent<N> = N extends RuntimeEventName ? RuntimeEventMap[N] : never
Defined in: packages/core/src/profiler/events.ts:112

Type Parameters

N

N extends RuntimeEventName = RuntimeEventName
@fentaris/core / RuntimeEventBase
RuntimeEventBase<Name, Category, Level> = RuntimeEventDimensions & object
Defined in: packages/core/src/profiler/events.ts:25

Type Declaration

category

category: Category

level

level: Level

message?

optional message?: string

metadata?

optional metadata?: Record<string, unknown>

name

name: Name

timestamp

timestamp: Date

Type Parameters

Name

Name extends string

Category

Category extends RuntimeEventCategory

Level

Level extends RuntimeEventLevel
@fentaris/core / RuntimeEventCategory
RuntimeEventCategory = "lifecycle" | "health" | "mcp" | "policy" | "transport" | "extension" | "errors" | "timeouts" | "profiler"
Defined in: packages/core/src/profiler/events.ts:4
@fentaris/core / RuntimeEventDimensions
RuntimeEventDimensions = object
Defined in: packages/core/src/profiler/events.ts:17

Properties

durationMs?

optional durationMs?: number
Defined in: packages/core/src/profiler/events.ts:22

group?

optional group?: string
Defined in: packages/core/src/profiler/events.ts:19

operation?

optional operation?: string
Defined in: packages/core/src/profiler/events.ts:21

server?

optional server?: string
Defined in: packages/core/src/profiler/events.ts:18

user?

optional user?: string
Defined in: packages/core/src/profiler/events.ts:20
@fentaris/core / RuntimeEventHandler
RuntimeEventHandler<N> = (event) => void | Promise<void>
Defined in: packages/core/src/profiler/events.ts:113

Type Parameters

N

N extends RuntimeEventName = RuntimeEventName

Parameters

event

RuntimeEvent<N>

Returns

void | Promise<void>
@fentaris/core / RuntimeEventLevel
RuntimeEventLevel = "debug" | "info" | "warn" | "error" | "fatal"
Defined in: packages/core/src/profiler/events.ts:15
@fentaris/core / RuntimeEventMap
RuntimeEventMap = object
Defined in: packages/core/src/profiler/events.ts:89

Properties

extension.error

extension.error: RuntimeExtensionEvent
Defined in: packages/core/src/profiler/events.ts:107

health.check.error

health.check.error: Extract<RuntimeHealthEvent, { name: "health.check.error"; }>
Defined in: packages/core/src/profiler/events.ts:104

health.check.start

health.check.start: Extract<RuntimeHealthEvent, { name: "health.check.start"; }>
Defined in: packages/core/src/profiler/events.ts:102

health.check.success

health.check.success: Extract<RuntimeHealthEvent, { name: "health.check.success"; }>
Defined in: packages/core/src/profiler/events.ts:103

health.check.timeout

health.check.timeout: Extract<RuntimeHealthEvent, { name: "health.check.timeout"; }>
Defined in: packages/core/src/profiler/events.ts:105

health.status

health.status: Extract<RuntimeHealthEvent, { name: "health.status"; }>
Defined in: packages/core/src/profiler/events.ts:106

mcp.call.error

mcp.call.error: Extract<RuntimeMcpEvent, { name: "mcp.call.error"; }>
Defined in: packages/core/src/profiler/events.ts:97

mcp.call.start

mcp.call.start: Extract<RuntimeMcpEvent, { name: "mcp.call.start"; }>
Defined in: packages/core/src/profiler/events.ts:95

mcp.call.success

mcp.call.success: Extract<RuntimeMcpEvent, { name: "mcp.call.success"; }>
Defined in: packages/core/src/profiler/events.ts:96

mcp.call.timeout

mcp.call.timeout: Extract<RuntimeMcpEvent, { name: "mcp.call.timeout"; }>
Defined in: packages/core/src/profiler/events.ts:98

policy.allowed

policy.allowed: RuntimePolicyEvent & object
Defined in: packages/core/src/profiler/events.ts:99

Type Declaration

name
name: "policy.allowed"

policy.denied

policy.denied: RuntimePolicyEvent & object
Defined in: packages/core/src/profiler/events.ts:100

Type Declaration

name
name: "policy.denied"

profiler.sink.error

profiler.sink.error: RuntimeProfilerEvent
Defined in: packages/core/src/profiler/events.ts:108

runtime.degraded

runtime.degraded: Extract<RuntimeLifecycleEvent, { name: "runtime.degraded"; }>
Defined in: packages/core/src/profiler/events.ts:92

runtime.error

runtime.error: Extract<RuntimeLifecycleEvent, { name: "runtime.error"; }>
Defined in: packages/core/src/profiler/events.ts:94

runtime.ready

runtime.ready: Extract<RuntimeLifecycleEvent, { name: "runtime.ready"; }>
Defined in: packages/core/src/profiler/events.ts:91

runtime.start

runtime.start: Extract<RuntimeLifecycleEvent, { name: "runtime.start"; }>
Defined in: packages/core/src/profiler/events.ts:90

runtime.stop

runtime.stop: Extract<RuntimeLifecycleEvent, { name: "runtime.stop"; }>
Defined in: packages/core/src/profiler/events.ts:93

transport.error

transport.error: RuntimeTransportEvent
Defined in: packages/core/src/profiler/events.ts:101
@fentaris/core / RuntimeEventName
RuntimeEventName = keyof RuntimeEventMap
Defined in: packages/core/src/profiler/events.ts:111
@fentaris/core / RuntimeExtensionEvent
RuntimeExtensionEvent = RuntimeEventBase<"extension.error", "extension" | "errors", "error"> & object
Defined in: packages/core/src/profiler/events.ts:69

Type Declaration

boundary

boundary: "hook" | "middleware" | "route" | "sink" | "extension"

error

error: RuntimeProfilerErrorPayload
@fentaris/core / RuntimeHealthEvent
RuntimeHealthEvent = RuntimeEventBase<"health.check.start", "health", "debug" | "info"> & object | RuntimeEventBase<"health.check.success", "health", "debug" | "info" | "warn"> & object | RuntimeEventBase<"health.check.error", "health", "error"> & object | RuntimeEventBase<"health.check.timeout", "timeouts", "warn" | "error"> & object | RuntimeEventBase<"health.status", "health", "info" | "warn" | "error"> & object
Defined in: packages/core/src/profiler/events.ts:62
@fentaris/core / RuntimeLifecycle
RuntimeLifecycle = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:44

Methods

health()

health(): Promise<HealthReport>
Defined in: packages/core/src/lifecycle/lifecycle.ts:49

Returns

Promise<HealthReport>

ready()

ready(options?): Promise<RuntimeLifecycleSnapshot>
Defined in: packages/core/src/lifecycle/lifecycle.ts:46

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<RuntimeLifecycleSnapshot>

start()

start(options?): Promise<unknown>
Defined in: packages/core/src/lifecycle/lifecycle.ts:45

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<unknown>

state()

state(): RuntimeLifecycleSnapshot
Defined in: packages/core/src/lifecycle/lifecycle.ts:48

Returns

RuntimeLifecycleSnapshot

stop()

stop(options?): Promise<void>
Defined in: packages/core/src/lifecycle/lifecycle.ts:47

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<void>
@fentaris/core / RuntimeLifecycleEvent
RuntimeLifecycleEvent = RuntimeEventBase<"runtime.start", "lifecycle", "info"> & object | RuntimeEventBase<"runtime.ready", "lifecycle", "info"> & object | RuntimeEventBase<"runtime.degraded", "lifecycle", "warn"> & object | RuntimeEventBase<"runtime.stop", "lifecycle", "info"> & object | RuntimeEventBase<"runtime.error", "errors", "error" | "fatal"> & object
Defined in: packages/core/src/profiler/events.ts:35
@fentaris/core / RuntimeLifecycleMetadata
RuntimeLifecycleMetadata = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:13

Properties

failure?

optional failure?: object
Defined in: packages/core/src/lifecycle/lifecycle.ts:19

code?

optional code?: string

message

message: string

name

name: string

lastTransitionAt

lastTransitionAt: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:18

name

name: string
Defined in: packages/core/src/lifecycle/lifecycle.ts:14

startedAt?

optional startedAt?: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:16

stoppedAt?

optional stoppedAt?: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:17

version

version: string
Defined in: packages/core/src/lifecycle/lifecycle.ts:15
@fentaris/core / RuntimeLifecycleOptions
RuntimeLifecycleOptions = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:31

Properties

shutdownTimeoutMs?

optional shutdownTimeoutMs?: number
Defined in: packages/core/src/lifecycle/lifecycle.ts:33

startupTimeoutMs?

optional startupTimeoutMs?: number
Defined in: packages/core/src/lifecycle/lifecycle.ts:32
@fentaris/core / RuntimeLifecycleSnapshot
RuntimeLifecycleSnapshot = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:26

Properties

metadata

metadata: RuntimeLifecycleMetadata
Defined in: packages/core/src/lifecycle/lifecycle.ts:28

state

state: RuntimeLifecycleState
Defined in: packages/core/src/lifecycle/lifecycle.ts:27
@fentaris/core / RuntimeLifecycleState
RuntimeLifecycleState = "created" | "starting" | "ready" | "degraded" | "stopping" | "stopped" | "failed"
Defined in: packages/core/src/lifecycle/lifecycle.ts:4
@fentaris/core / RuntimeMcpEvent
RuntimeMcpEvent = RuntimeEventBase<"mcp.call.start", "mcp", "debug" | "info"> & object | RuntimeEventBase<"mcp.call.success", "mcp", "debug" | "info" | "warn"> & object | RuntimeEventBase<"mcp.call.error", "errors", "error"> & object | RuntimeEventBase<"mcp.call.timeout", "timeouts", "warn" | "error"> & object
Defined in: packages/core/src/profiler/events.ts:42
@fentaris/core / RuntimePolicyEvent
RuntimePolicyEvent = RuntimeEventBase<"policy.allowed" | "policy.denied", "policy", "info" | "warn"> & object
Defined in: packages/core/src/profiler/events.ts:48

Type Declaration

allowed

allowed: boolean

matchedGroups?

optional matchedGroups?: string[]

matchedPermissions?

optional matchedPermissions?: unknown[]

reason?

optional reason?: string
@fentaris/core / RuntimeProfilerConfig
RuntimeProfilerConfig = ProfilerBuilder | ProfilerObjectConfig | false | undefined
Defined in: packages/core/src/profiler/profiler.ts:44
@fentaris/core / RuntimeProfilerErrorPayload
RuntimeProfilerErrorPayload = object
Defined in: packages/core/src/profiler/events.ts:79

Properties

cause?

optional cause?: RuntimeProfilerErrorPayload | { message: string; name: string; }
Defined in: packages/core/src/profiler/events.ts:86

code

code: string
Defined in: packages/core/src/profiler/events.ts:81

context

context: Record<string, unknown>
Defined in: packages/core/src/profiler/events.ts:85

hints

hints: string[]
Defined in: packages/core/src/profiler/events.ts:84

message

message: string
Defined in: packages/core/src/profiler/events.ts:82

name

name: string
Defined in: packages/core/src/profiler/events.ts:80

severity

severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/events.ts:83
@fentaris/core / RuntimeProfilerEvent
RuntimeProfilerEvent = RuntimeEventBase<"profiler.sink.error", "profiler" | "errors", "error"> & object
Defined in: packages/core/src/profiler/events.ts:74

Type Declaration

error

error: RuntimeProfilerErrorPayload

sink?

optional sink?: string
@fentaris/core / RuntimeProfilerHandlerEntry
RuntimeProfilerHandlerEntry<N> = object
Defined in: packages/core/src/profiler/profiler.ts:46

Type Parameters

N

N extends RuntimeEventName = RuntimeEventName

Properties

eventName?

optional eventName?: N
Defined in: packages/core/src/profiler/profiler.ts:47

handler

handler: RuntimeEventHandler<N>
Defined in: packages/core/src/profiler/profiler.ts:49

where?

optional where?: ProfilerFilter
Defined in: packages/core/src/profiler/profiler.ts:48
@fentaris/core / RuntimeTransportEvent
RuntimeTransportEvent = RuntimeEventBase<"transport.error", "transport" | "errors", "error"> & object
Defined in: packages/core/src/profiler/events.ts:55

Type Declaration

error

error: RuntimeProfilerErrorPayload

requestId?

optional requestId?: string

sessionId?

optional sessionId?: string

transport?

optional transport?: string
@fentaris/core / SecretRef
SecretRef = object
Defined in: packages/core/src/secrets/types.ts:14Reference to a stored secret without exposing its value.

Properties

count

count: number
Defined in: packages/core/src/secrets/types.ts:19Number of API keys for apiKey kind; always 1 for credentials.

kind

kind: "credential" | "apiKey"
Defined in: packages/core/src/secrets/types.ts:17

ref

ref: string
Defined in: packages/core/src/secrets/types.ts:15

scope

scope: SecretScope
Defined in: packages/core/src/secrets/types.ts:16
@fentaris/core / SecretScope
SecretScope = { kind: "default"; } | { id: string; kind: "user"; } | { id: string; kind: "group"; }
Defined in: packages/core/src/secrets/types.ts:5Secret scope for credential storage.
@fentaris/core / SecretsManifest
SecretsManifest = object
Defined in: packages/core/src/secrets/types.ts:26Committable secrets manifest — schema only, no values.

Properties

envVars?

optional envVars?: string[]
Defined in: packages/core/src/secrets/types.ts:29

references

references: SecretsManifestEntry[]
Defined in: packages/core/src/secrets/types.ts:28

version

version: 1
Defined in: packages/core/src/secrets/types.ts:27
@fentaris/core / SecretsManifestDiff
SecretsManifestDiff = object
Defined in: packages/core/src/secrets/types.ts:45Result of comparing required vs stored secret references.

Properties

extra

extra: SecretRef[]
Defined in: packages/core/src/secrets/types.ts:47

missing

missing: SecretsManifestEntry[]
Defined in: packages/core/src/secrets/types.ts:46

stale

stale: SecretsManifestEntry[]
Defined in: packages/core/src/secrets/types.ts:48
@fentaris/core / SecretsManifestEntry
SecretsManifestEntry = object
Defined in: packages/core/src/secrets/types.ts:36Single manifest entry with string scope encoding.

Properties

ref

ref: string
Defined in: packages/core/src/secrets/types.ts:37

scope

scope: string
Defined in: packages/core/src/secrets/types.ts:38
@fentaris/core / SecretsProvider
SecretsProvider = "local" | "fentaris" | "hybrid"
Defined in: packages/core/src/secrets/types.ts:55Secrets storage backend — local now, cloud in Phase 2.
@fentaris/core / ServerCredentialBinding
ServerCredentialBinding = { credential: CredentialReference; type: "bearer"; } | { credential: CredentialReference; header: string; type: "header"; } | { credential: CredentialReference; env: string; type: "env"; }
Defined in: packages/core/src/server/McpServer.ts:55MCP server option types.
@fentaris/core / SseMcpTransportOptions
SseMcpTransportOptions = object
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:31Options for native MCP SSE upstream transport.

Properties

auth?

optional auth?: HttpTransportAuthOptions
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:33

clientName?

optional clientName?: string
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:38

clientVersion?

optional clientVersion?: string
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:39

eventSourceInit?

optional eventSourceInit?: SSEClientTransportOptions["eventSourceInit"]
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:34

fetch?

optional fetch?: SSEClientTransportOptions["fetch"]
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:36

network?

optional network?: UpstreamHttpNetworkOptions
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:37

requestInit?

optional requestInit?: RequestInit
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:35

url

url: string | URL
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:32
@fentaris/core / SseProxyExposureHandle
SseProxyExposureHandle = ProxyExposureHandle & object
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:29Active SSE proxy exposure handle.

Type Declaration

server

server: HttpServer
@fentaris/core / SseProxyExposureTransportOptions
SseProxyExposureTransportOptions = object
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:17Options for SSE downstream proxy exposure.

Properties

host?

optional host?: string
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:19

messagePath?

optional messagePath?: string
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:21

onStarted?

optional onStarted?: () => void
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:22

Returns

void

port?

optional port?: number
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:18

ssePath?

optional ssePath?: string
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:20
@fentaris/core / StdioProxyExposureTransportOptions
StdioProxyExposureTransportOptions = object
Defined in: packages/core/src/transports/exposure/StdioProxyExposureTransport.ts:15Options for stdio downstream proxy exposure.

Properties

user?

optional user?: UserContext | (() => UserContext | Promise<UserContext>)
Defined in: packages/core/src/transports/exposure/StdioProxyExposureTransport.ts:16
@fentaris/core / StdioTransportOptions
StdioTransportOptions = object
Defined in: packages/core/src/transports/client/StdioTransport.ts:28Options for the stdio transport.

Properties

args?

optional args?: string[]
Defined in: packages/core/src/transports/client/StdioTransport.ts:30

clientName?

optional clientName?: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:33

clientVersion?

optional clientVersion?: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:34

command

command: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:29

env?

optional env?: Record<string, string>
Defined in: packages/core/src/transports/client/StdioTransport.ts:31

stderr?

optional stderr?: "inherit" | "pipe" | "overlapped" | "ignore"
Defined in: packages/core/src/transports/client/StdioTransport.ts:32
@fentaris/core / StreamableHttpMcpTransportOptions
StreamableHttpMcpTransportOptions = object
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:31Options for native MCP Streamable HTTP upstream transport.

Properties

auth?

optional auth?: HttpTransportAuthOptions
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:33

clientName?

optional clientName?: string
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:38

clientVersion?

optional clientVersion?: string
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:39

fetch?

optional fetch?: StreamableHTTPClientTransportOptions["fetch"]
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:35

network?

optional network?: UpstreamHttpNetworkOptions
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:37

requestInit?

optional requestInit?: RequestInit
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:34

sessionId?

optional sessionId?: string
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:36

url

url: string | URL
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:32
@fentaris/core / SubjectIndex
SubjectIndex = object
Defined in: packages/core/src/governance/governance.ts:468

Methods

groupsFor()

groupsFor(userId): Group[]
Defined in: packages/core/src/governance/governance.ts:470

Parameters

userId
string

Returns

Group[]

resolve()

resolve(userId): ResolvedSubject | null
Defined in: packages/core/src/governance/governance.ts:469

Parameters

userId
string

Returns

ResolvedSubject | null
@fentaris/core / SubjectMetadata
SubjectMetadata = object
Defined in: packages/core/src/types/shared.ts:25Non-sensitive subject metadata declared in application code.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/shared.ts:26

email?

optional email?: string
Defined in: packages/core/src/types/shared.ts:27

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:30

tenant?

optional tenant?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:29

tenantId?

optional tenantId?: string
Defined in: packages/core/src/types/shared.ts:28
@fentaris/core / ToolApprovalRequest
ToolApprovalRequest = ToolCallRequest & object
Defined in: packages/core/src/types/mcp-operation.ts:65Normalized tool-call request passed to approval callbacks.

Type Declaration

operation

operation: "tool:call"

target

target: string

targetKind

targetKind: "tool"
@fentaris/core / ToolCallHook
ToolCallHook = (request, context) => MaybePromise<void | CallToolResult>
Defined in: packages/core/src/types/middleware.ts:61Hook invoked for matched tool calls.

Parameters

request

ToolCallRequest

context

MiddlewareContext

Returns

MaybePromise<void | CallToolResult>
@fentaris/core / ToolCallHookFilter
ToolCallHookFilter = object
Defined in: packages/core/src/types/middleware.ts:19Filter for proxy call hooks.

Properties

proxyTool?

optional proxyTool?: string
Defined in: packages/core/src/types/middleware.ts:22

server?

optional server?: string
Defined in: packages/core/src/types/middleware.ts:20

tool?

optional tool?: string
Defined in: packages/core/src/types/middleware.ts:21
@fentaris/core / ToolCallRequest
ToolCallRequest = object
Defined in: packages/core/src/types/mcp-operation.ts:53Normalized tool call details for middleware.

Properties

arguments

arguments: CallToolRequest["params"]["arguments"]
Defined in: packages/core/src/types/mcp-operation.ts:57

proxyToolName

proxyToolName: string
Defined in: packages/core/src/types/mcp-operation.ts:56

raw

raw: CallToolRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:58

serverName

serverName: string
Defined in: packages/core/src/types/mcp-operation.ts:54

toolName

toolName: string
Defined in: packages/core/src/types/mcp-operation.ts:55
@fentaris/core / ToolPermission
ToolPermission = object
Defined in: packages/core/src/types/policy.ts:22Tool permission model for policy enforcement.

Properties

approval?

optional approval?: ApprovalHandler<ToolApprovalRequest>
Defined in: packages/core/src/types/policy.ts:26

effect?

optional effect?: "allow" | "deny"
Defined in: packages/core/src/types/policy.ts:24

limiter?

optional limiter?: RateLimiter
Defined in: packages/core/src/types/policy.ts:25

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:27

tool

tool: string
Defined in: packages/core/src/types/policy.ts:23
@fentaris/core / ToolPermissionOptions
ToolPermissionOptions = object
Defined in: packages/core/src/governance/governance.ts:319Permission helper options.

Properties

approval?

optional approval?: ToolPermission["approval"]
Defined in: packages/core/src/governance/governance.ts:321

limiter?

optional limiter?: ToolPermission["limiter"]
Defined in: packages/core/src/governance/governance.ts:320

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:322

sensitive?

optional sensitive?: boolean | Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:323
@fentaris/core / UpstreamAuthBinding
UpstreamAuthBinding = z.infer<typeof upstreamAuthBindingSchema>
Defined in: packages/core/src/auth/auth.ts:73
@fentaris/core / UpstreamAuthBindings
UpstreamAuthBindings = z.infer<typeof upstreamAuthBindingsSchema>
Defined in: packages/core/src/auth/auth.ts:74
@fentaris/core / UpstreamHttpNetworkOptions
UpstreamHttpNetworkOptions = object
Defined in: packages/core/src/transports/client/upstreamUrlGuardrails.ts:9Private-network guardrails for upstream HTTP-family transports.

Properties

allowedPrivateHosts?

optional allowedPrivateHosts?: string[]
Defined in: packages/core/src/transports/client/upstreamUrlGuardrails.ts:11

allowPrivateNetworkUrls?

optional allowPrivateNetworkUrls?: boolean
Defined in: packages/core/src/transports/client/upstreamUrlGuardrails.ts:10

lookup?

optional lookup?: (hostname) => MaybePromise<object[] | { address: string; }>
Defined in: packages/core/src/transports/client/upstreamUrlGuardrails.ts:13

Parameters

hostname
string

Returns

MaybePromise<object[] | { address: string; }>

resolveDns?

optional resolveDns?: boolean
Defined in: packages/core/src/transports/client/upstreamUrlGuardrails.ts:12
@fentaris/core / UserContext
UserContext = object
Defined in: packages/core/src/types/shared.ts:14User context passed through requests.

Indexable

[key: string]: unknown

Properties

id?

optional id?: string
Defined in: packages/core/src/types/shared.ts:15

secrets?

optional secrets?: Record<string, string>
Defined in: packages/core/src/types/shared.ts:16

tokens?

optional tokens?: Record<string, string>
Defined in: packages/core/src/types/shared.ts:17
@fentaris/core / UserOptions
UserOptions = SubjectMetadata & object
Defined in: packages/core/src/governance/governance.ts:88User declaration options.

Type Declaration

apiKeys?

optional apiKeys?: CredentialSource[]

credentials?

optional credentials?: CredentialSourceMap
@fentaris/core / approval
const approval: ApprovalHelper
Defined in: packages/core/src/governance/governance.ts:430Permission helper for approval callbacks.
@fentaris/core / fentaris
const fentaris: (options) => McpProxy = createProxy
Defined in: packages/core/src/proxy/McpProxy.ts:2676Create a Fentaris proxy with the express-like routing API.Create a Fentaris proxy with the express-like routing API.

Parameters

options?

McpProxyOptions = {}

Returns

McpProxy
@fentaris/core / FentarisErrorCode
const FentarisErrorCode: object
Defined in: packages/core/src/errors/errors.ts:7Standard Fentaris MCP-style error codes.

Type Declaration

InternalError

readonly InternalError: -32603 = -32603

PolicyDenied

readonly PolicyDenied: -32030 = -32030

Unauthorized

readonly Unauthorized: -32040 = -32040

UpstreamError

readonly UpstreamError: -32050 = -32050

McpProxy

@fentaris/core / McpProxyDefined in: packages/core/src/proxy/McpProxy.ts:258HTTP proxy for multiple MCP servers.

Constructors

Constructor

new McpProxy(options?): McpProxy
Defined in: packages/core/src/proxy/McpProxy.ts:301Create a new MCP proxy instance.

Parameters

options?
McpProxyOptions = {}

Returns

McpProxy

Methods

addGroupUsers()

addGroupUsers(groupId, users): void
Defined in: packages/core/src/proxy/McpProxy.ts:1615

Parameters

groupId
string
users
User[]

Returns

void

assertGroupHandleKnown()

assertGroupHandleKnown(groupId): void
Defined in: packages/core/src/proxy/McpProxy.ts:1655

Parameters

groupId
string

Returns

void

assertServerHandleVisible()

assertServerHandleVisible(serverName, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:1627

Parameters

serverName
string
groupId?
string

Returns

void

callTool()

callTool(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/proxy/McpProxy.ts:892Call a proxied tool with middleware dispatch.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

close()

close(): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:708Close the HTTP server and all backends.

Returns

Promise<void>

complete()

complete(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1393Complete a proxied prompt or resource-template argument.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

emitSessionEnd()

emitSessionEnd(context): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1500Emit a downstream session end lifecycle event.

Parameters

context
LifecycleHookContext

Returns

Promise<void>

emitSessionStart()

emitSessionStart(context): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1462Emit a downstream session start lifecycle event.

Parameters

context
LifecycleHookContext

Returns

Promise<void>

getPrompt()

getPrompt(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1348Get a proxied prompt from its owning upstream server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

group()

group(groupId): ProxyGroupHandle
Defined in: packages/core/src/proxy/McpProxy.ts:507Register or retrieve a scoped group handle.

Parameters

groupId
string

Returns

ProxyGroupHandle

health()

health(): Promise<HealthReport>
Defined in: packages/core/src/proxy/McpProxy.ts:756Run configured runtime health checks.

Returns

Promise<HealthReport>

listen()

listen<THandle>(transport): Promise<THandle>
Defined in: packages/core/src/proxy/McpProxy.ts:654Start the proxy with an explicit downstream exposure transport.

Type Parameters

THandle
THandle extends ProxyExposureHandle

Parameters

transport
ProxyExposureTransport<THandle>

Returns

Promise<THandle>

listPrompts()

listPrompts(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1288List prompts across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

listResources()

listResources(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1103List resources across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

listResourceTemplates()

listResourceTemplates(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1222List resource templates across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

listTools()

listTools(params?, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:812List tools across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

local()

local(name): ProxyLocalHandle
Defined in: packages/core/src/proxy/McpProxy.ts:497Register or retrieve a named local MCP capability namespace.

Parameters

name
string

Returns

ProxyLocalHandle

mcp()

Call Signature

mcp(name): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:426Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
Returns
ProxyMcpHandle

Call Signature

mcp(name, options): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:427Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
options
ProxyMcpDeclarationOptions
Returns
ProxyMcpHandle

Call Signature

mcp(name, server): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:428Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
server
McpServer
Returns
ProxyMcpHandle

Call Signature

mcp(config): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:429Register or retrieve a scoped upstream MCP handle.
Parameters
config
McpServerOptions
Returns
ProxyMcpHandle

mcpHealth()

mcpHealth(name): Promise<HealthCheckResult>
Defined in: packages/core/src/proxy/McpProxy.ts:803Check a configured upstream MCP server health.

Parameters

name
string

Returns

Promise<HealthCheckResult>

on()

Call Signature

on(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:516Register an event hook.
Parameters
event
"call"
handler
ToolCallHook
Returns
this

Call Signature

on(event, filter, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:521Register a filtered event hook.
Parameters
event
"call"
filter
ToolCallHookFilter
handler
ToolCallHook
Returns
this

Call Signature

on(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:526Register a unified proxy event handler.
Parameters
event
ProxyEventName
handler
ProxyEventHandler
Returns
this

Call Signature

on(event, filter, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:531Register a filtered unified proxy event handler.
Parameters
event
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
this

onLifecycle()

onLifecycle(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:565Register a lifecycle hook.

Parameters

event
LifecycleHookEvent
handler
LifecycleHook

Returns

this

onListTools()

onListTools(hook): this
Defined in: packages/core/src/proxy/McpProxy.ts:580Register a hook that can transform listed tools.

Parameters

hook
ListToolsHook

Returns

this

operation()

operation(operation, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:374Register a global operation route for governed non-tool operations.

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

this

pingMcp()

pingMcp(name): Promise<HealthCheckResult>
Defined in: packages/core/src/proxy/McpProxy.ts:794Ping a configured upstream MCP server by listing tools.

Parameters

name
string

Returns

Promise<HealthCheckResult>

policy()

policy(name): Policy
Defined in: packages/core/src/proxy/McpProxy.ts:383Register or retrieve a named app-level policy declaration.

Parameters

name
string

Returns

Policy

readResource()

readResource(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1169Read a proxied resource from its owning upstream server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

ready()

ready(options?): Promise<RuntimeLifecycleSnapshot>
Defined in: packages/core/src/proxy/McpProxy.ts:716Wait for the runtime to reach readiness.

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<RuntimeLifecycleSnapshot>

registerGroupEvent()

registerGroupEvent(groupId, eventName, filter, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:1603

Parameters

groupId
string
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler

Returns

void

registerGroupMiddleware()

registerGroupMiddleware(groupId, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:1593

Parameters

groupId
string
handler
Middleware

Returns

void

registerGroupOperation()

registerGroupOperation(groupId, operation, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:1598

Parameters

groupId
string
operation
ProxyOperation
handler
ProxyMiddleware

Returns

void

registerServerEvent()

registerServerEvent(serverName, eventName, filter, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:1580

Parameters

serverName
string
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
groupId?
string

Returns

void

registerServerMiddleware()

registerServerMiddleware(serverName, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:1565

Parameters

serverName
string
handler
Middleware
groupId?
string

Returns

void

registerServerOperation()

registerServerOperation(serverName, operation, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:1575

Parameters

serverName
string
operation
ProxyOperation
handler
ProxyMiddleware
groupId?
string

Returns

void

registerServerTool()

registerServerTool(serverName, pattern, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:1570

Parameters

serverName
string
pattern
string
handler
ProxyMiddleware
groupId?
string

Returns

void

resolveHttpUser()

resolveHttpUser(req): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1445Resolve user context from an HTTP downstream request.

Parameters

req
IncomingMessage

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

resolveStdioUser()

resolveStdioUser(): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1453Resolve user context for non-HTTP stdio downstream exposure.

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

server()

Call Signature

server(name): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:474Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
Returns
ProxyMcpHandle

Call Signature

server(name, options): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:475Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
options
ProxyMcpDeclarationOptions
Returns
ProxyMcpHandle

Call Signature

server(name, server): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:476Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
server
McpServer
Returns
ProxyMcpHandle

Call Signature

server(config): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:477Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
config
McpServerOptions
Returns
ProxyMcpHandle

setGroupPolicy()

setGroupPolicy(groupId, policy): void
Defined in: packages/core/src/proxy/McpProxy.ts:1621

Parameters

groupId
string
policy
string | Policy

Returns

void

start()

Call Signature

start(onStarted?): Promise<Server<typeof IncomingMessage, typeof ServerResponse>>
Defined in: packages/core/src/proxy/McpProxy.ts:589Start the HTTP server.
Parameters
onStarted?
() => void
Returns
Promise<Server<typeof IncomingMessage, typeof ServerResponse>>

Call Signature

start(options?, onStarted?): Promise<Server<typeof IncomingMessage, typeof ServerResponse>>
Defined in: packages/core/src/proxy/McpProxy.ts:594Start the HTTP server with optional overrides.
Parameters
options?
McpProxyStartOptions
onStarted?
() => void
Returns
Promise<Server<typeof IncomingMessage, typeof ServerResponse>>

state()

state(): RuntimeLifecycleSnapshot
Defined in: packages/core/src/proxy/McpProxy.ts:748Inspect the current runtime lifecycle state.

Returns

RuntimeLifecycleSnapshot

stop()

stop(options?): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:724Stop the runtime and close owned resources.

Parameters

options?
McpProxyStopOptions = {}

Returns

Promise<void>

tool()

tool(pattern, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:365Register a global tool route with a public server.tool pattern.

Parameters

pattern
string
handler
ProxyMiddleware

Returns

this

use()

Call Signature

use(middleware): this
Defined in: packages/core/src/proxy/McpProxy.ts:353Register a middleware handler.
Parameters
middleware
ProxyMiddleware
Returns
this

Call Signature

use(middleware): this
Defined in: packages/core/src/proxy/McpProxy.ts:354Register a middleware handler.
Parameters
middleware
LegacyMiddleware
Returns
this

usePolicy()

usePolicy(policyNameOrPolicy): this
Defined in: packages/core/src/proxy/McpProxy.ts:399Apply a named or concrete policy as the global proxy policy.

Parameters

policyNameOrPolicy
string | Policy

Returns

this
@fentaris/core / createProxy
createProxy(options?): McpProxy
Defined in: packages/core/src/proxy/McpProxy.ts:2667Create a Fentaris proxy with the express-like routing API.

Parameters

options?

McpProxyOptions = {}

Returns

McpProxy
@fentaris/core / AutoLogOptions
AutoLogOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:218Auto-log configuration for proxied tool calls.

Properties

enabled?

optional enabled?: boolean
Defined in: packages/core/src/proxy/McpProxy.ts:219

failureLevel?

optional failureLevel?: "warn" | "error"
Defined in: packages/core/src/proxy/McpProxy.ts:222

startLevel?

optional startLevel?: "debug" | "info"
Defined in: packages/core/src/proxy/McpProxy.ts:220

successLevel?

optional successLevel?: "debug" | "info"
Defined in: packages/core/src/proxy/McpProxy.ts:221
@fentaris/core / IdentityResolverOptions
IdentityResolverOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:229Identity resolver configuration for proxy-edge auth.

Properties

required?

optional required?: boolean
Defined in: packages/core/src/proxy/McpProxy.ts:231

strategy

strategy: IdentityStrategy
Defined in: packages/core/src/proxy/McpProxy.ts:230
@fentaris/core / McpProxyOptions
McpProxyOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:190Options for creating an MCP proxy server.

Properties

auth?

optional auth?: FentarisAuth
Defined in: packages/core/src/proxy/McpProxy.ts:203

autoLog?

optional autoLog?: boolean | AutoLogOptions
Defined in: packages/core/src/proxy/McpProxy.ts:205

defaults?

optional defaults?: object
Defined in: packages/core/src/proxy/McpProxy.ts:200

credentials?

optional credentials?: CredentialSourceMap

errorMapper?

optional errorMapper?: ErrorMapper
Defined in: packages/core/src/proxy/McpProxy.ts:209

groups?

optional groups?: Group[]
Defined in: packages/core/src/proxy/McpProxy.ts:199

health?

optional health?: HealthConfig
Defined in: packages/core/src/proxy/McpProxy.ts:208

host?

optional host?: string
Defined in: packages/core/src/proxy/McpProxy.ts:193

identity?

optional identity?: IdentityStrategy | IdentityResolverOptions
Defined in: packages/core/src/proxy/McpProxy.ts:197

lifecycle?

optional lifecycle?: RuntimeLifecycleOptions
Defined in: packages/core/src/proxy/McpProxy.ts:207

logger?

optional logger?: Logger
Defined in: packages/core/src/proxy/McpProxy.ts:195

name?

optional name?: string
Defined in: packages/core/src/proxy/McpProxy.ts:210

path?

optional path?: string
Defined in: packages/core/src/proxy/McpProxy.ts:194

policy?

optional policy?: Policy
Defined in: packages/core/src/proxy/McpProxy.ts:198

port?

optional port?: number
Defined in: packages/core/src/proxy/McpProxy.ts:192

profiler?

optional profiler?: RuntimeProfilerConfig
Defined in: packages/core/src/proxy/McpProxy.ts:206

registry?

optional registry?: Registry
Defined in: packages/core/src/proxy/McpProxy.ts:204

servers?

optional servers?: McpServer[]
Defined in: packages/core/src/proxy/McpProxy.ts:191

user?

optional user?: UserContext | ((request) => UserContext | Promise<UserContext>)
Defined in: packages/core/src/proxy/McpProxy.ts:196

version?

optional version?: string
Defined in: packages/core/src/proxy/McpProxy.ts:211
@fentaris/core / McpProxyStartOptions
McpProxyStartOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:238Optional start overrides for the MCP proxy.

Properties

host?

optional host?: string
Defined in: packages/core/src/proxy/McpProxy.ts:240

path?

optional path?: string
Defined in: packages/core/src/proxy/McpProxy.ts:241

port?

optional port?: number
Defined in: packages/core/src/proxy/McpProxy.ts:239

startupTimeoutMs?

optional startupTimeoutMs?: number
Defined in: packages/core/src/proxy/McpProxy.ts:242
@fentaris/core / McpProxyStopOptions
McpProxyStopOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:249Optional stop overrides for the MCP proxy.

Properties

shutdownTimeoutMs?

optional shutdownTimeoutMs?: number
Defined in: packages/core/src/proxy/McpProxy.ts:250
@fentaris/core / fentaris
const fentaris: (options) => McpProxy = createProxy
Defined in: packages/core/src/proxy/McpProxy.ts:2676Create a Fentaris proxy with the express-like routing API.Create a Fentaris proxy with the express-like routing API.

Parameters

options?

McpProxyOptions = {}

Returns

McpProxy

McpServer

@fentaris/core / McpServerDefined in: packages/core/src/server/McpServer.ts:90MCP server wrapper with optional per-user env injection.

Constructors

Constructor

new McpServer(options): McpServer
Defined in: packages/core/src/server/McpServer.ts:105Create a new MCP server wrapper.

Parameters

options
McpServerOptions

Returns

McpServer

Properties

displayName

readonly displayName: string
Defined in: packages/core/src/server/McpServer.ts:92

name

readonly name: string
Defined in: packages/core/src/server/McpServer.ts:91

Methods

callTool()

callTool(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/server/McpServer.ts:129Call a tool for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

close()

close(): Promise<void>
Defined in: packages/core/src/server/McpServer.ts:263Close all transports.

Returns

Promise<void>

complete()

complete(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/server/McpServer.ts:213Complete a prompt or resource argument for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

getCredentialBindings()

getCredentialBindings(): ServerCredentialBinding[]
Defined in: packages/core/src/server/McpServer.ts:274Credential bindings declared with this server.

Returns

ServerCredentialBinding[]

getPrompt()

getPrompt(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:200Get a prompt for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

listPrompts()

listPrompts(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:187List prompts for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

listResources()

listResources(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:145List resources for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

listResourceTemplates()

listResourceTemplates(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:171List resource templates for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

listTools()

listTools(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:121List tools for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

readResource()

readResource(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/server/McpServer.ts:158Read a resource for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

supportsCompletions()

supportsCompletions(): boolean
Defined in: packages/core/src/server/McpServer.ts:255Whether the configured transport exposes completion operations.

Returns

boolean

supportsPrompts()

supportsPrompts(): boolean
Defined in: packages/core/src/server/McpServer.ts:247Whether the configured transport exposes prompt operations.

Returns

boolean

supportsResources()

supportsResources(): boolean
Defined in: packages/core/src/server/McpServer.ts:239Whether the configured transport exposes resource operations.

Returns

boolean

withProxyContext()

withProxyContext<T>(context, run): Promise<T>
Defined in: packages/core/src/server/McpServer.ts:226Run a server operation with a governed proxy context when the transport supports it.

Type Parameters

T
T

Parameters

context
ProxyContext
run
() => Promise<T>

Returns

Promise<T>
@fentaris/core / bearer
bearer(credential): BearerCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:341Apply a credential as an Authorization bearer token.

Parameters

credential

CredentialReference

Returns

BearerCredentialAuth
@fentaris/core / header
header(name, credential): HeaderCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:349Apply a credential as a named request header.

Parameters

name

string

credential

CredentialReference

Returns

HeaderCredentialAuth
@fentaris/core / mcp
mcp(name, options): McpServer
Defined in: packages/core/src/server/McpServer.ts:333Create an upstream MCP server declaration.

Parameters

name

string

options

Omit<McpServerOptions, "name">

Returns

McpServer
@fentaris/core / BearerCredentialAuth
BearerCredentialAuth = object
Defined in: packages/core/src/server/McpServer.ts:44

Properties

credential

credential: CredentialReference
Defined in: packages/core/src/server/McpServer.ts:46

type

type: "bearer"
Defined in: packages/core/src/server/McpServer.ts:45
@fentaris/core / EnvResolver
EnvResolver = Record<string, EnvValue> | ((user) => Record<string, string>)
Defined in: packages/core/src/server/McpServer.ts:36Resolve environment variables per user.
@fentaris/core / EnvValue
EnvValue = string | CredentialReference
Defined in: packages/core/src/server/McpServer.ts:30Resolve environment variables per user.
@fentaris/core / HeaderCredentialAuth
HeaderCredentialAuth = object
Defined in: packages/core/src/server/McpServer.ts:49

Properties

credential

credential: CredentialReference
Defined in: packages/core/src/server/McpServer.ts:52

header

header: string
Defined in: packages/core/src/server/McpServer.ts:51

type

type: "header"
Defined in: packages/core/src/server/McpServer.ts:50
@fentaris/core / McpServerAuth
McpServerAuth = BearerCredentialAuth | HeaderCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:42Server credential application configuration.
@fentaris/core / McpServerOptions
McpServerOptions = object
Defined in: packages/core/src/server/McpServer.ts:64Configuration for an MCP server wrapper.

Properties

auth?

optional auth?: McpServerAuth
Defined in: packages/core/src/server/McpServer.ts:68

displayName?

optional displayName?: string
Defined in: packages/core/src/server/McpServer.ts:66

env?

optional env?: EnvResolver
Defined in: packages/core/src/server/McpServer.ts:69

isolation?

optional isolation?: Isolation
Defined in: packages/core/src/server/McpServer.ts:70

isolationTimeout?

optional isolationTimeout?: number
Defined in: packages/core/src/server/McpServer.ts:71

name

name: string
Defined in: packages/core/src/server/McpServer.ts:65

transport

transport: FentarisTransport
Defined in: packages/core/src/server/McpServer.ts:67
@fentaris/core / ServerCredentialBinding
ServerCredentialBinding = { credential: CredentialReference; type: "bearer"; } | { credential: CredentialReference; header: string; type: "header"; } | { credential: CredentialReference; env: string; type: "env"; }
Defined in: packages/core/src/server/McpServer.ts:55

Transports

@fentaris/core / StdioTransportDefined in: packages/core/src/transports/client/StdioTransport.ts:41Stdio-based MCP transport implementation.

Implements

  • FentarisTransport

Constructors

Constructor

new StdioTransport(options): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:50Create a new stdio transport.

Parameters

options
StdioTransportOptions

Returns

StdioTransport

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:89Call a tool on the MCP server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

FentarisTransport.callTool

close()

close(): Promise<void>
Defined in: packages/core/src/transports/client/StdioTransport.ts:151Close the underlying client connection.

Returns

Promise<void>

Implementation of

FentarisTransport.close

complete()

complete(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:138

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

Implementation of

FentarisTransport.complete

getPrompt()

getPrompt(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:129

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

Implementation of

FentarisTransport.getPrompt

listPrompts()

listPrompts(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:120

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

Implementation of

FentarisTransport.listPrompts

listResources()

listResources(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:93

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

Implementation of

FentarisTransport.listResources

listResourceTemplates()

listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:111

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

Implementation of

FentarisTransport.listResourceTemplates

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:76List tools exposed by the MCP server.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

Implementation of

FentarisTransport.listTools

readResource()

readResource(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:102

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

Implementation of

FentarisTransport.readResource

withEnv()

withEnv(env): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:62Return a copy with merged environment variables.

Parameters

env
Record<string, string>

Returns

StdioTransport
@fentaris/core / stdio
stdio(options): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:201Create a stdio upstream transport.

Parameters

options

StdioTransportOptions

Returns

StdioTransport
@fentaris/core / StdioTransportOptions
StdioTransportOptions = object
Defined in: packages/core/src/transports/client/StdioTransport.ts:28Options for the stdio transport.

Properties

args?

optional args?: string[]
Defined in: packages/core/src/transports/client/StdioTransport.ts:30

clientName?

optional clientName?: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:33

clientVersion?

optional clientVersion?: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:34

command

command: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:29

env?

optional env?: Record<string, string>
Defined in: packages/core/src/transports/client/StdioTransport.ts:31

stderr?

optional stderr?: "inherit" | "pipe" | "overlapped" | "ignore"
Defined in: packages/core/src/transports/client/StdioTransport.ts:32

Logger

@fentaris/core / ConsoleLoggerDriverDefined in: logger.ts:77Console-based logger driver.

Implements

  • LoggerDriver

Constructors

Constructor

new ConsoleLoggerDriver(): ConsoleLoggerDriver

Returns

ConsoleLoggerDriver

Methods

write()

write(entry): void
Defined in: logger.ts:82Write the log entry to the console.

Parameters

entry
LogEntry

Returns

void

Implementation of

LoggerDriver.write
@fentaris/core / JsonConsoleLoggerDriverDefined in: logger.ts:104Console driver that writes one JSON log entry per line.

Implements

  • LoggerDriver

Constructors

Constructor

new JsonConsoleLoggerDriver(options?): JsonConsoleLoggerDriver
Defined in: logger.ts:111Create a JSON console logger driver.

Parameters

options?
JsonConsoleLoggerDriverOptions = {}

Returns

JsonConsoleLoggerDriver

Methods

write()

write(entry): void
Defined in: logger.ts:119Write the log entry as a single JSON line.

Parameters

entry
LogEntry

Returns

void

Implementation of

LoggerDriver.write
@fentaris/core / LoggerDefined in: logger.ts:191Structured logger with level filtering.

Constructors

Constructor

new Logger(options?): Logger
Defined in: logger.ts:204Create a new logger instance.

Parameters

options?
LoggerOptions = {}

Returns

Logger

Methods

annotate()

annotate(key, value): this
Defined in: logger.ts:236Add mutable metadata that will be included in future log writes.

Parameters

key
string
value
unknown

Returns

this

child()

child(context): Logger
Defined in: logger.ts:217Create a child logger with merged context.

Parameters

context
Record<string, unknown>

Returns

Logger

debug()

debug(message, metadata?): void
Defined in: logger.ts:254Emit a debug log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

error()

error(message, metadata?): void
Defined in: logger.ts:278Emit an error log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

fatal()

fatal(message, metadata?): void
Defined in: logger.ts:286Emit a fatal log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

info()

info(message, metadata?): void
Defined in: logger.ts:262Emit an info log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

setTag()

setTag(key, value): this
Defined in: logger.ts:245Add a tag to future log writes.

Parameters

key
string
value
unknown

Returns

this

warn()

warn(message, metadata?): void
Defined in: logger.ts:270Emit a warning log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void
@fentaris/core / RedisLoggerDriverDefined in: logger.ts:169Redis-backed logger driver that appends JSON log entries to a list.

Implements

  • LoggerDriver

Constructors

Constructor

new RedisLoggerDriver(options): RedisLoggerDriver
Defined in: logger.ts:177Create a Redis logger driver.

Parameters

options
RedisLoggerDriverOptions

Returns

RedisLoggerDriver

Methods

write()

write(entry): Promise<void>
Defined in: logger.ts:182

Parameters

entry
LogEntry

Returns

Promise<void>

Implementation of

LoggerDriver.write
@fentaris/core / jsonConsoleLogger
jsonConsoleLogger(options?): Logger
Defined in: logger.ts:140Create a logger that writes structured JSON entries to stdout.

Parameters

options?

JsonConsoleLoggerOptions = {}

Returns

Logger
@fentaris/core / JsonConsoleLoggerDriverOptions
JsonConsoleLoggerDriverOptions = object
Defined in: logger.ts:96JSON console logger driver options.

Properties

writeLine?

optional writeLine?: (line) => void
Defined in: logger.ts:97

Parameters

line
string

Returns

void
@fentaris/core / JsonConsoleLoggerOptions
JsonConsoleLoggerOptions = Omit<LoggerOptions, "driver"> & JsonConsoleLoggerDriverOptions
Defined in: logger.ts:134JSON stdout logger factory options.
@fentaris/core / LogEntry
LogEntry = object
Defined in: logger.ts:16Structured log entry payload.

Properties

context

context: Record<string, unknown>
Defined in: logger.ts:20

level

level: LogLevel
Defined in: logger.ts:17

message

message: string
Defined in: logger.ts:18

metadata

metadata: Record<string, unknown>
Defined in: logger.ts:21

timestamp

timestamp: Date
Defined in: logger.ts:19
@fentaris/core / LoggerDriver
LoggerDriver = object
Defined in: logger.ts:28Low-level logger driver interface.

Methods

write()

write(entry): void | Promise<void>
Defined in: logger.ts:29

Parameters

entry
LogEntry

Returns

void | Promise<void>
@fentaris/core / LoggerOptions
LoggerOptions = object
Defined in: logger.ts:36Logger configuration options.

Properties

context?

optional context?: Record<string, unknown>
Defined in: logger.ts:39

driver?

optional driver?: LoggerDriver
Defined in: logger.ts:38

level?

optional level?: LogLevel
Defined in: logger.ts:37

onWrite?

optional onWrite?: (entry) => void | Promise<void>
Defined in: logger.ts:40

Parameters

entry
LogEntry

Returns

void | Promise<void>

redact?

optional redact?: boolean | LoggerRedactionOptions
Defined in: logger.ts:41
@fentaris/core / LoggerRedactionOptions
LoggerRedactionOptions = object
Defined in: logger.ts:48Logger redaction configuration.

Properties

enabled?

optional enabled?: boolean
Defined in: logger.ts:49

keys?

optional keys?: (string | RegExp)[]
Defined in: logger.ts:51

paths?

optional paths?: string[]
Defined in: logger.ts:52

redact?

optional redact?: (value, path, key?) => unknown
Defined in: logger.ts:53

Parameters

value
unknown
path
string[]
key?
string

Returns

unknown

replacement?

optional replacement?: string
Defined in: logger.ts:50
@fentaris/core / LogLevel
LogLevel = "debug" | "info" | "warn" | "error" | "fatal"
Defined in: logger.ts:10Supported log levels.
@fentaris/core / RedisLoggerClient
RedisLoggerClient = object
Defined in: logger.ts:152Minimal Redis-compatible logger client contract.

Methods

rpush()

rpush(key, value): void | Promise<unknown>
Defined in: logger.ts:153

Parameters

key
string
value
string

Returns

void | Promise<unknown>
@fentaris/core / RedisLoggerDriverOptions
RedisLoggerDriverOptions = object
Defined in: logger.ts:160Redis logger driver options.

Properties

client

client: RedisLoggerClient
Defined in: logger.ts:161

key?

optional key?: string
Defined in: logger.ts:162

Types

@fentaris/core / ResponseControllerDefined in: packages/core/src/types/middleware.ts:93Helper for returning allow/deny responses from middleware.

Constructors

Constructor

new ResponseController(): ResponseController

Returns

ResponseController

Methods

continue()

continue(): undefined
Defined in: packages/core/src/types/middleware.ts:128Allow middleware to continue without overriding the response.

Returns

undefined

deny()

deny(message): object
Defined in: packages/core/src/types/middleware.ts:102Deny a tool call with a message.

Parameters

message
string

Returns

object
_meta?
optional _meta?: object
Index Signature
[key: string]: unknown
_meta.io.modelcontextprotocol/related-task?
optional io.modelcontextprotocol/related-task?: object
If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
taskId: string
_meta.progressToken?
optional progressToken?: string | number
If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
content
content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]
isError?
optional isError?: boolean
structuredContent?
optional structuredContent?: object
Index Signature
[key: string]: unknown

fail()

fail(code, message): object
Defined in: packages/core/src/types/middleware.ts:113Return a structured MCP-style error without throwing.

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: object
Index Signature
[key: string]: unknown
_meta.io.modelcontextprotocol/related-task?
optional io.modelcontextprotocol/related-task?: object
If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
taskId: string
_meta.progressToken?
optional progressToken?: string | number
If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
content
content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]
isError?
optional isError?: boolean
structuredContent?
optional structuredContent?: object
Index Signature
[key: string]: unknown

injectToAgent()

injectToAgent(message): void
Defined in: packages/core/src/types/middleware.ts:136Add guidance for the calling agent to the eventual tool response.

Parameters

message
string

Returns

void

on()

on(event, handler): void
Defined in: packages/core/src/types/middleware.ts:146Register a response event handler.

Parameters

event
"error"
handler
(error) => MaybePromise<void>

Returns

void
@fentaris/core / IsolationDefined in: packages/core/src/types/policy.ts:127Isolation runtime for per-user execution.

Methods

close()

close(): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:133

Returns

MaybePromise<void>

queue()

queue(userId, fn, timeout?): MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/types/policy.ts:128

Parameters

userId
string
fn
() => MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
timeout?
number

Returns

MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
@fentaris/core / PolicyDefined in: packages/core/src/types/policy.ts:59Policy for RBAC-style permission enforcement.

Properties

description?

optional description?: string
Defined in: packages/core/src/types/policy.ts:61

metadata?

optional metadata?: object
Defined in: packages/core/src/types/policy.ts:69

Index Signature

[key: string]: unknown

maxDailyCalls?

optional maxDailyCalls?: number

requiresApproval?

optional requiresApproval?: boolean

name

name: string
Defined in: packages/core/src/types/policy.ts:60

Methods

evaluate()

evaluate(request, user, context?): MaybePromise<PolicyDecision>
Defined in: packages/core/src/types/policy.ts:64

Parameters

request
ToolCallRequest | CapabilityOperationRequest
user
UserContext
context?
MiddlewareContext

Returns

MaybePromise<PolicyDecision>

getCapabilityPermissions()?

optional getCapabilityPermissions(serverName): CapabilityPermission[]
Defined in: packages/core/src/types/policy.ts:63

Parameters

serverName
string

Returns

CapabilityPermission[]

getPermissions()

getPermissions(serverName): ToolPermission[]
Defined in: packages/core/src/types/policy.ts:62

Parameters

serverName
string

Returns

ToolPermission[]
@fentaris/core / RateLimiterDefined in: packages/core/src/types/policy.ts:102Rate limiter with sliding window and quota support.

Properties

metadata?

optional metadata?: object
Defined in: packages/core/src/types/policy.ts:107

maxDailyCalls?

optional maxDailyCalls?: number

maxPerWindow?

optional maxPerWindow?: number

windowMs?

optional windowMs?: number

Methods

checkLimit()

checkLimit(key): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:104

Parameters

key
string

Returns

MaybePromise<boolean>

consume()

consume(key): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:103

Parameters

key
string

Returns

MaybePromise<boolean>

getRemainingCalls()

getRemainingCalls(key): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:106

Parameters

key
string

Returns

MaybePromise<number>

recordCall()

recordCall(key): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:105

Parameters

key
string

Returns

MaybePromise<void>
@fentaris/core / RateLimitStoreDefined in: packages/core/src/types/policy.ts:90Rate limit store for distributed tracking.

Methods

consume()

consume(key, window, limit): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:92

Parameters

key
string
window
number
limit
number

Returns

MaybePromise<boolean>

consumeMany()?

optional consumeMany(limits): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:93

Parameters

limits
object[]

Returns

MaybePromise<boolean>

get()

get(key): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:94

Parameters

key
string

Returns

MaybePromise<number>

increment()

increment(key, window): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:91

Parameters

key
string
window
number

Returns

MaybePromise<number>

reset()

reset(key): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:95

Parameters

key
string

Returns

MaybePromise<void>
@fentaris/core / RegistryDefined in: packages/core/src/types/policy.ts:80Registry for resolving user data and secrets.

Methods

getSecrets()

getSecrets(userId): MaybePromise<Record<string, string> | null>
Defined in: packages/core/src/types/policy.ts:82

Parameters

userId
string

Returns

MaybePromise<Record<string, string> | null>

getTokens()

getTokens(userId): MaybePromise<Record<string, string> | null>
Defined in: packages/core/src/types/policy.ts:83

Parameters

userId
string

Returns

MaybePromise<Record<string, string> | null>

getUser()

getUser(userId): MaybePromise<UserContext | null>
Defined in: packages/core/src/types/policy.ts:81

Parameters

userId
string

Returns

MaybePromise<UserContext | null>
@fentaris/core / ApprovalDecisionController
ApprovalDecisionController = object
Defined in: packages/core/src/types/shared.ts:142Ergonomic helpers for approval callbacks.

Methods

approve()

approve(metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:143

Parameters

metadata?
Record<string, unknown>

Returns

ApprovalResult

deny()

deny(reason?, metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:144

Parameters

reason?
string
metadata?
Record<string, unknown>

Returns

ApprovalResult

pending()

pending(reason?, metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:145

Parameters

reason?
string
metadata?
Record<string, unknown>

Returns

ApprovalResult
@fentaris/core / ApprovalHandler
ApprovalHandler<TRequest> = (request, context) => MaybePromise<ApprovalResult>
Defined in: packages/core/src/types/shared.ts:168Permission approval callback.

Type Parameters

TRequest

TRequest

Parameters

request

TRequest

context

MiddlewareContext

Returns

MaybePromise<ApprovalResult>
@fentaris/core / ApprovalMetadata
ApprovalMetadata = object
Defined in: packages/core/src/types/shared.ts:58Safe approval metadata exposed through policy decisions and logs.

Properties

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:63

reason?

optional reason?: string
Defined in: packages/core/src/types/shared.ts:60

requestId?

optional requestId?: string
Defined in: packages/core/src/types/shared.ts:62

status

status: "approved" | "denied" | "pending"
Defined in: packages/core/src/types/shared.ts:59

url?

optional url?: string
Defined in: packages/core/src/types/shared.ts:61
@fentaris/core / ApprovalResult
ApprovalResult = boolean | { approved: boolean; metadata?: Record<string, unknown>; reason?: string; } | { metadata?: Record<string, unknown>; reason?: string; requestId?: string; status: "approved" | "denied" | "pending"; url?: string; }
Defined in: packages/core/src/types/shared.ts:123Structured result for permission approval callbacks.
@fentaris/core / CapabilityOperationRequest
CapabilityOperationRequest = object
Defined in: packages/core/src/types/mcp-operation.ts:111Normalized request used for operation-based policy evaluation.

Properties

operation

operation: McpOperationName
Defined in: packages/core/src/types/mcp-operation.ts:113

raw?

optional raw?: unknown
Defined in: packages/core/src/types/mcp-operation.ts:116

serverName

serverName: string
Defined in: packages/core/src/types/mcp-operation.ts:112

target?

optional target?: string
Defined in: packages/core/src/types/mcp-operation.ts:114

targetKind?

optional targetKind?: CapabilityTargetKind
Defined in: packages/core/src/types/mcp-operation.ts:115
@fentaris/core / CapabilityPermission
CapabilityPermission = object
Defined in: packages/core/src/types/policy.ts:34Operation-based permission model for governed MCP capabilities.

Properties

approval?

optional approval?: ApprovalHandler<CapabilityOperationRequest>
Defined in: packages/core/src/types/policy.ts:41

effect?

optional effect?: "allow" | "deny"
Defined in: packages/core/src/types/policy.ts:39

limiter?

optional limiter?: RateLimiter
Defined in: packages/core/src/types/policy.ts:40

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:42

operation

operation: McpOperationName | "*"
Defined in: packages/core/src/types/policy.ts:36

server?

optional server?: string
Defined in: packages/core/src/types/policy.ts:35

target?

optional target?: string
Defined in: packages/core/src/types/policy.ts:37

targetKind?

optional targetKind?: CapabilityTargetKind
Defined in: packages/core/src/types/policy.ts:38
@fentaris/core / CapabilityTargetKind
CapabilityTargetKind = "tool" | "resource" | "resourceTemplate" | "prompt" | "completion"
Defined in: packages/core/src/types/mcp-operation.ts:105Capability target selector kind for policy permissions.
@fentaris/core / CompleteParams
CompleteParams = CompleteRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:46Request/result aliases for MCP completion operations.
@fentaris/core / CompleteResponse
CompleteResponse = CompleteResult
Defined in: packages/core/src/types/mcp-operation.ts:47
@fentaris/core / CredentialSourceMetadata
CredentialSourceMetadata = object
Defined in: packages/core/src/types/shared.ts:47Credential source metadata safe to expose in middleware and logs.

Properties

groupId?

optional groupId?: string
Defined in: packages/core/src/types/shared.ts:51

reference

reference: string
Defined in: packages/core/src/types/shared.ts:48

source

source: "user" | "group" | "default"
Defined in: packages/core/src/types/shared.ts:49

userId?

optional userId?: string
Defined in: packages/core/src/types/shared.ts:50
@fentaris/core / ErrorMapper
ErrorMapper = object
Defined in: packages/core/src/types/policy.ts:140Error mapper for standardized MCP error responses.

Methods

mapError()

mapError(error, context): object
Defined in: packages/core/src/types/policy.ts:141

Parameters

error
unknown
context
serverName?
string
toolName?
string

Returns

object
code
code: number
message
message: string
@fentaris/core / FentarisTransport
FentarisTransport = object
Defined in: packages/core/src/types/transport.ts:21Transport interface for MCP client interactions.

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>; isError?: z.ZodOptional<z.ZodBoolean>; structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }>
Defined in: packages/core/src/types/transport.ts:23

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
arguments?
z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>
name
z.ZodString
task?
z.ZodOptional<z.ZodObject<{ ttl: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>; isError?: z.ZodOptional<z.ZodBoolean>; structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }>

close()

close(): Promise<void>
Defined in: packages/core/src/types/transport.ts:30

Returns

Promise<void>

complete()?

optional complete(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; completion: z.ZodObject<{ hasMore: z.ZodOptional<z.ZodBoolean>; total: z.ZodOptional<z.ZodNumber>; values: z.ZodArray<z.ZodString>; }, z.core.$loose>; }>
Defined in: packages/core/src/types/transport.ts:29

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
argument
z.ZodObject<{ name: z.ZodString; value: z.ZodString; }, z.core.$strip>
context?
z.ZodOptional<z.ZodObject<{ arguments: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; }, z.core.$strip>>
ref
z.ZodUnion<readonly [z.ZodObject<{ name: z.ZodString; type: z.ZodLiteral<"ref/prompt">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"ref/resource">; uri: z.ZodString; }, z.core.$strip>]>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; completion: z.ZodObject<{ hasMore: z.ZodOptional<z.ZodBoolean>; total: z.ZodOptional<z.ZodNumber>; values: z.ZodArray<z.ZodString>; }, z.core.$loose>; }>

getPrompt()?

optional getPrompt(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; description?: z.ZodOptional<z.ZodString>; messages: z.ZodArray<z.ZodObject<{ content: z.ZodUnion<readonly [z.ZodObject<{ _meta: …; annotations: …; text: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; description: …; icons: …; mimeType: …; name: …; size: …; title: …; type: …; uri: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; resource: …; type: …; }, z.core.$strip>]>; role: z.ZodEnum<{ assistant: "assistant"; user: "user"; }>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:28

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
arguments?
z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>
name
z.ZodString

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; description?: z.ZodOptional<z.ZodString>; messages: z.ZodArray<z.ZodObject<{ content: z.ZodUnion<readonly [z.ZodObject<{ _meta: …; annotations: …; text: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; description: …; icons: …; mimeType: …; name: …; size: …; title: …; type: …; uri: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; resource: …; type: …; }, z.core.$strip>]>; role: z.ZodEnum<{ assistant: "assistant"; user: "user"; }>; }, z.core.$strip>>; }>

listPrompts()?

optional listPrompts(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; prompts: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{ description: z.ZodOptional<…>; name: z.ZodString; required: z.ZodOptional<…>; }, z.core.$strip>>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:27

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; prompts: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{ description: z.ZodOptional<…>; name: z.ZodString; required: z.ZodOptional<…>; }, z.core.$strip>>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>

listResources()?

optional listResources(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resources: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; size: z.ZodOptional<z.ZodNumber>; title: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:24

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resources: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; size: z.ZodOptional<z.ZodNumber>; title: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>>; }>

listResourceTemplates()?

optional listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resourceTemplates: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; uriTemplate: z.ZodString; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:26

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resourceTemplates: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; uriTemplate: z.ZodString; }, z.core.$strip>>; }>

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; tools: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; annotations: z.ZodOptional<z.ZodObject<{ destructiveHint: z.ZodOptional<z.ZodBoolean>; idempotentHint: z.ZodOptional<z.ZodBoolean>; openWorldHint: z.ZodOptional<z.ZodBoolean>; readOnlyHint: z.ZodOptional<z.ZodBoolean>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; execution: z.ZodOptional<z.ZodObject<{ taskSupport: z.ZodOptional<z.ZodEnum<…>>; }, z.core.$strip>>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; inputSchema: z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<…, …>>>; required: z.ZodOptional<z.ZodArray<z.ZodString>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>; name: z.ZodString; outputSchema: z.ZodOptional<z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<…, …>>; required: z.ZodOptional<z.ZodArray<…>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:22

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; tools: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; annotations: z.ZodOptional<z.ZodObject<{ destructiveHint: z.ZodOptional<z.ZodBoolean>; idempotentHint: z.ZodOptional<z.ZodBoolean>; openWorldHint: z.ZodOptional<z.ZodBoolean>; readOnlyHint: z.ZodOptional<z.ZodBoolean>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; execution: z.ZodOptional<z.ZodObject<{ taskSupport: z.ZodOptional<z.ZodEnum<…>>; }, z.core.$strip>>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; inputSchema: z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<…, …>>>; required: z.ZodOptional<z.ZodArray<z.ZodString>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>; name: z.ZodString; outputSchema: z.ZodOptional<z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<…, …>>; required: z.ZodOptional<z.ZodArray<…>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>

readResource()?

optional readResource(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; contents: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; mimeType: z.ZodOptional<z.ZodString>; text: z.ZodString; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; blob: z.ZodString; mimeType: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>]>>; }>
Defined in: packages/core/src/types/transport.ts:25

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
uri
z.ZodString

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; contents: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; mimeType: z.ZodOptional<z.ZodString>; text: z.ZodString; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; blob: z.ZodString; mimeType: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>]>>; }>
@fentaris/core / GetPromptParams
GetPromptParams = GetPromptRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:39
@fentaris/core / GetPromptResponse
GetPromptResponse = GetPromptResult
Defined in: packages/core/src/types/mcp-operation.ts:40
@fentaris/core / GovernanceContext
GovernanceContext = MiddlewareContext & object
Defined in: packages/core/src/types/policy.ts:151Extended middleware context with governance.

Type Declaration

identity?

optional identity?: IdentityMetadata

policy?

optional policy?: Policy

policyDecision?

optional policyDecision?: PolicyDecision

rateLimiter?

optional rateLimiter?: RateLimiter

registry?

optional registry?: Registry
@fentaris/core / GroupMembership
GroupMembership = object
Defined in: packages/core/src/types/shared.ts:37Configured group membership metadata for a resolved subject.

Properties

id

id: string
Defined in: packages/core/src/types/shared.ts:38

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:40

name?

optional name?: string
Defined in: packages/core/src/types/shared.ts:39
@fentaris/core / HealthCheckContext
HealthCheckContext = object
Defined in: packages/core/src/health/health.ts:86

Properties

auth

auth: object
Defined in: packages/core/src/health/health.ts:92

state()

state(): HealthCheckResult
Returns
HealthCheckResult

identity

identity: object
Defined in: packages/core/src/health/health.ts:93

state()

state(): HealthCheckResult
Returns
HealthCheckResult

policy

policy: object
Defined in: packages/core/src/health/health.ts:91

state()

state(): HealthCheckResult
Returns
HealthCheckResult

runtime

runtime: HealthRuntimeContext
Defined in: packages/core/src/health/health.ts:87

Methods

group()

group(id): HealthGroupContext
Defined in: packages/core/src/health/health.ts:89

Parameters

id
string

Returns

HealthGroupContext

mcp()

mcp(name): HealthServerContext
Defined in: packages/core/src/health/health.ts:88

Parameters

name
string

Returns

HealthServerContext

transport()

transport(nameOrType?): HealthTransportContext
Defined in: packages/core/src/health/health.ts:90

Parameters

nameOrType?
string

Returns

HealthTransportContext
@fentaris/core / HealthCheckHandler
HealthCheckHandler = (ctx) => HealthStatus | Partial<HealthCheckResult> | Promise<HealthStatus | Partial<HealthCheckResult>>
Defined in: packages/core/src/health/health.ts:28

Parameters

ctx

HealthCheckContext

Returns

HealthStatus | Partial<HealthCheckResult> | Promise<HealthStatus | Partial<HealthCheckResult>>
@fentaris/core / HealthCheckResult
HealthCheckResult = object
Defined in: packages/core/src/health/health.ts:10

Properties

checkedAt

checkedAt: Date
Defined in: packages/core/src/health/health.ts:15

durationMs

durationMs: number
Defined in: packages/core/src/health/health.ts:14

error?

optional error?: ReturnType<typeof runtimeErrorToEventPayload>
Defined in: packages/core/src/health/health.ts:17

message?

optional message?: string
Defined in: packages/core/src/health/health.ts:13

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/health/health.ts:16

name

name: string
Defined in: packages/core/src/health/health.ts:11

status

status: HealthStatus
Defined in: packages/core/src/health/health.ts:12
@fentaris/core / HealthConfig
HealthConfig = boolean | HealthBuilder | HealthBuilderOptions & object
Defined in: packages/core/src/health/health.ts:39
@fentaris/core / HealthReport
HealthReport = object
Defined in: packages/core/src/health/health.ts:20

Properties

checkedAt

checkedAt: Date
Defined in: packages/core/src/health/health.ts:22

checks

checks: HealthCheckResult[]
Defined in: packages/core/src/health/health.ts:24

durationMs

durationMs: number
Defined in: packages/core/src/health/health.ts:23

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/health/health.ts:25

status

status: HealthStatus
Defined in: packages/core/src/health/health.ts:21
@fentaris/core / HealthStatus
HealthStatus = "ok" | "degraded" | "down" | "unknown"
Defined in: packages/core/src/health/health.ts:7
@fentaris/core / IdentityMetadata
IdentityMetadata = object
Defined in: packages/core/src/types/shared.ts:112Identity metadata resolved at the proxy edge.

Properties

authenticated?

optional authenticated?: boolean
Defined in: packages/core/src/types/shared.ts:114

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:116

strategy?

optional strategy?: string
Defined in: packages/core/src/types/shared.ts:113

userId?

optional userId?: string
Defined in: packages/core/src/types/shared.ts:115
@fentaris/core / IdentityStrategy
IdentityStrategy = object
Defined in: packages/core/src/types/policy.ts:118Identity resolution strategy.

Properties

name

name: string
Defined in: packages/core/src/types/policy.ts:119

Methods

resolve()

resolve(request): MaybePromise<UserContext | null>
Defined in: packages/core/src/types/policy.ts:120

Parameters

request
headers?
Record<string, string>

Returns

MaybePromise<UserContext | null>
@fentaris/core / LegacyMiddleware
LegacyMiddleware = (request, context, next) => MaybePromise<CallToolResult | void>
Defined in: packages/core/src/types/middleware.ts:247Legacy middleware function signature.

Parameters

request

ToolCallRequest

context

MiddlewareContext

next

Next

Returns

MaybePromise<CallToolResult | void>
@fentaris/core / LifecycleHook
LifecycleHook = (event, context) => MaybePromise<void>
Defined in: packages/core/src/types/middleware.ts:55Hook invoked for proxy lifecycle events.

Parameters

event

LifecycleHookEvent

context

LifecycleHookContext

Returns

MaybePromise<void>
@fentaris/core / LifecycleHookContext
LifecycleHookContext = object
Defined in: packages/core/src/types/middleware.ts:41Lifecycle hook context.

Properties

error?

optional error?: Error
Defined in: packages/core/src/types/middleware.ts:47

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:44

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:48

request?

optional request?: ToolCallRequest
Defined in: packages/core/src/types/middleware.ts:46

sessionId?

optional sessionId?: string
Defined in: packages/core/src/types/middleware.ts:45

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:43

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:42
@fentaris/core / LifecycleHookEvent
LifecycleHookEvent = "sessionStart" | "sessionEnd" | "toolFailure"
Defined in: packages/core/src/types/middleware.ts:35Lifecycle event names emitted by the proxy.
@fentaris/core / ListPromptsParams
ListPromptsParams = ListPromptsRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:37Request/result aliases for MCP server prompt operations.
@fentaris/core / ListPromptsResponse
ListPromptsResponse = ListPromptsResult
Defined in: packages/core/src/types/mcp-operation.ts:38
@fentaris/core / ListResourcesParams
ListResourcesParams = ListResourcesRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:26Request/result aliases for MCP server resource operations.
@fentaris/core / ListResourcesResponse
ListResourcesResponse = ListResourcesResult
Defined in: packages/core/src/types/mcp-operation.ts:27
@fentaris/core / ListResourceTemplatesParams
ListResourceTemplatesParams = ListResourceTemplatesRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:30
@fentaris/core / ListResourceTemplatesResponse
ListResourceTemplatesResponse = ListResourceTemplatesResult
Defined in: packages/core/src/types/mcp-operation.ts:31
@fentaris/core / ListToolsContext
ListToolsContext = object
Defined in: packages/core/src/types/middleware.ts:79Context passed to list tool hooks.

Properties

credentialSources?

optional credentialSources?: CredentialSourceMetadata[]
Defined in: packages/core/src/types/middleware.ts:86

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:82

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:83

policy?

optional policy?: Policy
Defined in: packages/core/src/types/middleware.ts:84

policyDecision?

optional policyDecision?: PolicyDecision
Defined in: packages/core/src/types/middleware.ts:85

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:81

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:80
@fentaris/core / ListToolsHook
ListToolsHook = (tools, context) => MaybePromise<ListToolsResult`“tools”\] \| [ListToolsResult\|void`>
Defined in: packages/core/src/types/middleware.ts:70Hook invoked after upstream tool discovery and before returning tools to the client.

Parameters

tools

ListToolsResult["tools"]

context

ListToolsContext

Returns

MaybePromise<ListToolsResult`“tools”\] \| [ListToolsResult\|void`>
@fentaris/core / ListToolsRequest
ListToolsRequest = Infer<typeof ListToolsRequestSchema>
Defined in: node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/types.d.ts:8086
@fentaris/core / ListToolsResult
ListToolsResult = Infer<typeof ListToolsResultSchema>
Defined in: node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/types.d.ts:8087
@fentaris/core / LocalCompletionHandler
LocalCompletionHandler = (ctx, params) => MaybePromise<CompleteResult>
Defined in: packages/core/src/local/declarations.ts:84Local completion handler.

Parameters

ctx

ProxyContext

params

CompleteRequest["params"]

Returns

MaybePromise<CompleteResult>
@fentaris/core / LocalCompletionReference
LocalCompletionReference = { name: string; type: "ref/prompt"; } | { type: "ref/resource"; uriTemplate: string; }
Defined in: packages/core/src/local/declarations.ts:93Reference used to bind a local completion handler.
@fentaris/core / LocalPromptHandler
LocalPromptHandler = (ctx, params) => MaybePromise<GetPromptResult>
Defined in: packages/core/src/local/declarations.ts:75Local prompt handler.

Parameters

ctx

ProxyContext

params

GetPromptRequest["params"]

Returns

MaybePromise<GetPromptResult>
@fentaris/core / LocalPromptMetadata
LocalPromptMetadata = Omit<Prompt, "name">
Defined in: packages/core/src/local/declarations.ts:51Metadata accepted when declaring a local prompt.
@fentaris/core / LocalResourceHandler
LocalResourceHandler = (ctx, params) => MaybePromise<ReadResourceResult>
Defined in: packages/core/src/local/declarations.ts:66Local resource read handler.

Parameters

ctx

ProxyContext

params

ReadResourceRequest["params"]

Returns

MaybePromise<ReadResourceResult>
@fentaris/core / LocalResourceMetadata
LocalResourceMetadata = Omit<Resource, "uri">
Defined in: packages/core/src/local/declarations.ts:39Metadata accepted when declaring a local exact resource.
@fentaris/core / LocalResourceTemplateMetadata
LocalResourceTemplateMetadata = Omit<ResourceTemplate, "uriTemplate">
Defined in: packages/core/src/local/declarations.ts:45Metadata accepted when declaring a local resource template.
@fentaris/core / LocalToolHandler
LocalToolHandler = (ctx, params) => MaybePromise<CallToolResult>
Defined in: packages/core/src/local/declarations.ts:57Local tool handler.

Parameters

ctx

ProxyContext

params

CallToolRequest["params"]

Returns

MaybePromise<CallToolResult>
@fentaris/core / LocalToolMetadata
LocalToolMetadata = Omit<Tool, "name">
Defined in: packages/core/src/local/declarations.ts:33Metadata accepted when declaring a local tool.
@fentaris/core / MaybePromise
MaybePromise<T> = T | Promise<T>
Defined in: packages/core/src/types/shared.ts:8Maybe a promise for async compatibility.

Type Parameters

T

T
@fentaris/core / McpOperationName
McpOperationName = "tools:list" | "tool:call" | "resources:list" | "resource:read" | "resource-templates:list" | "prompts:list" | "prompt:get" | "completion:complete"
Defined in: packages/core/src/types/mcp-operation.ts:91Governed MCP operation names used by capability permissions.
@fentaris/core / Middleware
Middleware = LegacyMiddleware | ProxyMiddleware
Defined in: packages/core/src/types/middleware.ts:266Middleware function signature.
@fentaris/core / MiddlewareContext
MiddlewareContext = object
Defined in: packages/core/src/types/middleware.ts:217Middleware execution context.

Properties

approval

approval: ApprovalDecisionController
Defined in: packages/core/src/types/middleware.ts:221

credentialSources?

optional credentialSources?: CredentialSourceMetadata[]
Defined in: packages/core/src/types/middleware.ts:228

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:220

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:222

policy?

optional policy?: Policy | ProxyPolicyContext
Defined in: packages/core/src/types/middleware.ts:224

policyDecision?

optional policyDecision?: PolicyDecision
Defined in: packages/core/src/types/middleware.ts:225

rateLimiter?

optional rateLimiter?: RateLimiter
Defined in: packages/core/src/types/middleware.ts:227

registry?

optional registry?: Registry
Defined in: packages/core/src/types/middleware.ts:226

res

res: ResponseController
Defined in: packages/core/src/types/middleware.ts:223

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:219

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:218
@fentaris/core / Next
Next = () => Promise<CallToolResult>
Defined in: packages/core/src/types/middleware.ts:235Next middleware handler.

Returns

Promise<CallToolResult>
@fentaris/core / PolicyDecision
PolicyDecision = object
Defined in: packages/core/src/types/policy.ts:49Policy evaluation result.

Properties

allowed

allowed: boolean
Defined in: packages/core/src/types/policy.ts:50

metadata?

optional metadata?: PolicyMetadata & Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:52

reason?

optional reason?: string
Defined in: packages/core/src/types/policy.ts:51
@fentaris/core / PolicyMetadata
PolicyMetadata = object
Defined in: packages/core/src/types/shared.ts:70Effective policy metadata safe to expose in middleware and logs.

Properties

approval?

optional approval?: ApprovalMetadata
Defined in: packages/core/src/types/shared.ts:85

denialReason?

optional denialReason?: string
Defined in: packages/core/src/types/shared.ts:84

matchedGroups?

optional matchedGroups?: string[]
Defined in: packages/core/src/types/shared.ts:72

matchedPermissions?

optional matchedPermissions?: object[]
Defined in: packages/core/src/types/shared.ts:73

effect

effect: "allow" | "deny"

groupId?

optional groupId?: string

metadata?

optional metadata?: Record<string, unknown>

operation

operation: McpOperationName

policyName

policyName: string

serverName

serverName: string

target?

optional target?: string

targetKind?

optional targetKind?: CapabilityTargetKind

toolName?

optional toolName?: string

policyName?

optional policyName?: string
Defined in: packages/core/src/types/shared.ts:71
@fentaris/core / ProxyAuthContext
ProxyAuthContext = object
Defined in: packages/core/src/types/proxy.ts:73Normalized authentication metadata exposed through the unified context.

Properties

authenticated

authenticated: boolean
Defined in: packages/core/src/types/proxy.ts:75

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/proxy.ts:77

strategy?

optional strategy?: string
Defined in: packages/core/src/types/proxy.ts:74

userId?

optional userId?: string
Defined in: packages/core/src/types/proxy.ts:76
@fentaris/core / ProxyCompletionContext
ProxyCompletionContext = object
Defined in: packages/core/src/types/proxy.ts:137Selected completion metadata.

Properties

argumentName

argumentName: string
Defined in: packages/core/src/types/proxy.ts:141

proxyTarget?

optional proxyTarget?: string
Defined in: packages/core/src/types/proxy.ts:140

refType

refType: "ref/prompt" | "ref/resource"
Defined in: packages/core/src/types/proxy.ts:138

target

target: string
Defined in: packages/core/src/types/proxy.ts:139
@fentaris/core / ProxyContext
ProxyContext = MiddlewareContext & object
Defined in: packages/core/src/types/proxy.ts:148Unified context for new proxy middleware, routes, and events.

Type Declaration

args?

optional args?: CallToolRequest["params"]["arguments"]

auth

auth: ProxyAuthContext

completion?

optional completion?: ProxyCompletionContext

credentials

credentials: object

credentials.sources

sources: CredentialSourceMetadata[]

operation

operation: ProxyOperation

policy

policy: ProxyPolicyContext

prompt?

optional prompt?: ProxyPromptContext

raw?

optional raw?: CallToolRequest`“params”\] \| CompleteRequest\[”params”\] \| GetPromptRequest\[”params”\] \| ListPromptsRequest\[”params”\] \| ListResourcesRequest\[”params”\] \| ListResourceTemplatesRequest\[”params”\] \| [ListToolsRequest\[”params”\] \| ReadResourceRequest\[”params”`]

requestId?

optional requestId?: string

resource?

optional resource?: ProxyResourceContext

response

response: ResponseController

server?

optional server?: ProxyServerContext

state

state: Record<string, unknown>

tool?

optional tool?: ProxyToolContext

transport

transport: ProxyTransportContext

continue()

continue(): undefined

Returns

undefined

deny()

deny(message): object

Parameters

message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

error()

error(code, message): object

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

fail()

fail(code, message): object

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

inject()

inject(message): void

Parameters

message
string

Returns

void
@fentaris/core / ProxyEventFilter
ProxyEventFilter = object
Defined in: packages/core/src/types/proxy.ts:228Filter for unified proxy events.

Properties

group?

optional group?: string
Defined in: packages/core/src/types/proxy.ts:230

proxyTool?

optional proxyTool?: string
Defined in: packages/core/src/types/proxy.ts:232

server?

optional server?: string
Defined in: packages/core/src/types/proxy.ts:229

tool?

optional tool?: string
Defined in: packages/core/src/types/proxy.ts:231
@fentaris/core / ProxyEventHandler
ProxyEventHandler = (payload) => MaybePromise<ListToolsResult`“tools”\] \| [ListToolsResult\|void`>
Defined in: packages/core/src/types/proxy.ts:252Unified event handler.

Parameters

payload

ProxyEventPayload

Returns

MaybePromise<ListToolsResult`“tools”\] \| [ListToolsResult\|void`>
@fentaris/core / ProxyEventName
ProxyEventName = "session:start" | "session:end" | "tools:list:after" | "tool:start" | "tool:success" | "tool:error" | "tool:after" | "resource:start" | "resource:success" | "resource:error" | "resource:after" | "prompt:start" | "prompt:success" | "prompt:error" | "prompt:after" | "completion:start" | "completion:success" | "completion:error" | "completion:after"
Defined in: packages/core/src/types/proxy.ts:203Unified event names emitted by the proxy runtime.
@fentaris/core / ProxyEventPayload
ProxyEventPayload = object
Defined in: packages/core/src/types/proxy.ts:239Unified event payload.

Properties

ctx

ctx: ProxyContext
Defined in: packages/core/src/types/proxy.ts:240

durationMs?

optional durationMs?: number
Defined in: packages/core/src/types/proxy.ts:244

error?

optional error?: Error
Defined in: packages/core/src/types/proxy.ts:243

result?

optional result?: ProxyOperationResult
Defined in: packages/core/src/types/proxy.ts:242

success?

optional success?: boolean
Defined in: packages/core/src/types/proxy.ts:245

tools?

optional tools?: ListToolsResult["tools"]
Defined in: packages/core/src/types/proxy.ts:241
@fentaris/core / ProxyExposureHandle
ProxyExposureHandle = object
Defined in: packages/core/src/types/proxy.ts:306Active downstream proxy exposure handle.

Methods

close()

close(): Promise<void>
Defined in: packages/core/src/types/proxy.ts:307

Returns

Promise<void>
@fentaris/core / ProxyExposureTransport
ProxyExposureTransport<THandle> = object
Defined in: packages/core/src/types/proxy.ts:341Transport interface for exposing the Fentaris proxy to downstream MCP clients.

Type Parameters

THandle

THandle extends ProxyExposureHandle = ProxyExposureHandle

Methods

listen()

listen(runtime): Promise<THandle>
Defined in: packages/core/src/types/proxy.ts:342

Parameters

runtime
ProxyRuntime

Returns

Promise<THandle>
@fentaris/core / ProxyGroupHandle
ProxyGroupHandle = object
Defined in: packages/core/src/types/proxy.ts:289Scoped group handle returned by proxy.group(id).

Properties

id

readonly id: string
Defined in: packages/core/src/types/proxy.ts:290

Methods

mcp()

mcp(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:291

Parameters

name
string

Returns

ProxyMcpHandle

on()

Call Signature

on(eventName, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:298
Parameters
eventName
ProxyEventName
handler
ProxyEventHandler
Returns
ProxyGroupHandle

Call Signature

on(eventName, filter, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:299
Parameters
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
ProxyGroupHandle

operation()

operation(operation, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:297

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

ProxyGroupHandle

policy()

policy(policyNameOrPolicy): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:294

Parameters

policyNameOrPolicy
string | Policy

Returns

ProxyGroupHandle

server()

server(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:292

Parameters

name
string

Returns

ProxyMcpHandle

use()

Call Signature

use(handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:295
Parameters
handler
ProxyMiddleware
Returns
ProxyGroupHandle

Call Signature

use(handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:296
Parameters
handler
LegacyMiddleware
Returns
ProxyGroupHandle

users()

users(…users): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:293

Parameters

users
User[]

Returns

ProxyGroupHandle
@fentaris/core / ProxyHookEvent
ProxyHookEvent = "call"
Defined in: packages/core/src/types/middleware.ts:29Event names supported by the proxy hook system.
@fentaris/core / ProxyLocalHandle
ProxyLocalHandle = object
Defined in: packages/core/src/local/declarations.ts:101Handle returned by app.local(name) for declaring local MCP capabilities.

Properties

name

readonly name: string
Defined in: packages/core/src/local/declarations.ts:102

Methods

completion()

completion(ref, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:107

Parameters

ref
LocalCompletionReference
handler
LocalCompletionHandler

Returns

ProxyLocalHandle

prompt()

prompt(name, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:106

Parameters

name
string
metadata
LocalPromptMetadata
handler
LocalPromptHandler

Returns

ProxyLocalHandle

resource()

resource(uri, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:104

Parameters

uri
string
metadata
LocalResourceMetadata
handler
LocalResourceHandler

Returns

ProxyLocalHandle

resourceTemplate()

resourceTemplate(uriTemplate, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:105

Parameters

uriTemplate
string
metadata
LocalResourceTemplateMetadata
handler
LocalResourceHandler

Returns

ProxyLocalHandle

tool()

tool(name, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:103

Parameters

name
string
metadata
LocalToolMetadata
handler
LocalToolHandler

Returns

ProxyLocalHandle
@fentaris/core / ProxyMcpDeclarationConfig
ProxyMcpDeclarationConfig = McpServerOptions
Defined in: packages/core/src/types/proxy.ts:335Config object for declaring an upstream MCP server through proxy.mcp(config).
@fentaris/core / ProxyMcpDeclarationOptions
ProxyMcpDeclarationOptions = Omit<McpServerOptions, "name">
Defined in: packages/core/src/types/proxy.ts:329Options for declaring an upstream MCP server through proxy.mcp(name, options).
@fentaris/core / ProxyMcpHandle
ProxyMcpHandle = object
Defined in: packages/core/src/types/proxy.ts:260Scoped upstream MCP handle returned by proxy.mcp(name) or proxy.server(name).

Properties

name

readonly name: string
Defined in: packages/core/src/types/proxy.ts:261

Methods

health()

health(): Promise<HealthCheckResult>
Defined in: packages/core/src/types/proxy.ts:269

Returns

Promise<HealthCheckResult>

on()

Call Signature

on(eventName, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:266
Parameters
eventName
ProxyEventName
handler
ProxyEventHandler
Returns
ProxyMcpHandle

Call Signature

on(eventName, filter, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:267
Parameters
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
ProxyMcpHandle

operation()

operation(operation, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:265

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

ProxyMcpHandle

ping()

ping(): Promise<HealthCheckResult>
Defined in: packages/core/src/types/proxy.ts:268

Returns

Promise<HealthCheckResult>

tool()

tool(pattern, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:264

Parameters

pattern
string
handler
ProxyMiddleware

Returns

ProxyMcpHandle

use()

Call Signature

use(handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:262
Parameters
handler
ProxyMiddleware
Returns
ProxyMcpHandle

Call Signature

use(handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:263
Parameters
handler
LegacyMiddleware
Returns
ProxyMcpHandle
@fentaris/core / ProxyMiddleware
ProxyMiddleware = (context, next) => MaybePromise<ProxyOperationResult | void>
Defined in: packages/core/src/types/middleware.ts:257Express-like middleware function signature.

Parameters

context

ProxyContext

next

ProxyNext

Returns

MaybePromise<ProxyOperationResult | void>
@fentaris/core / ProxyNext
ProxyNext = () => Promise<ProxyOperationResult>
Defined in: packages/core/src/types/middleware.ts:241Next handler for unified proxy middleware.

Returns

Promise<ProxyOperationResult>
@fentaris/core / ProxyOperation
ProxyOperation = "tool:call" | "tools:list" | "resources:list" | "resource:read" | "resource-templates:list" | "prompts:list" | "prompt:get" | "completion:complete" | "session:start" | "session:end"
Defined in: packages/core/src/types/mcp-operation.ts:75Operation names handled by the unified proxy context.
@fentaris/core / ProxyOperationHandler
ProxyOperationHandler = ProxyMiddleware
Defined in: packages/core/src/types/proxy.ts:191Express-like handler for a governed MCP operation route.
@fentaris/core / ProxyOperationResult
ProxyOperationResult = CallToolResult | CompleteResult | GetPromptResult | ListPromptsResult | ListResourcesResult | ListResourceTemplatesResult | ListToolsResult | ReadResourceResult
Defined in: packages/core/src/types/mcp-operation.ts:123Result shapes returned by governed proxy operation handlers.
@fentaris/core / ProxyPolicyContext
ProxyPolicyContext = object
Defined in: packages/core/src/types/proxy.ts:84Structured policy metadata exposed through the unified context.

Properties

allowed?

optional allowed?: boolean
Defined in: packages/core/src/types/proxy.ts:85

decision?

optional decision?: PolicyDecision
Defined in: packages/core/src/types/proxy.ts:91

matchedGroups

matchedGroups: string[]
Defined in: packages/core/src/types/proxy.ts:87

matchedPermissions

matchedPermissions: NonNullable<PolicyMetadata["matchedPermissions"]>
Defined in: packages/core/src/types/proxy.ts:88

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/proxy.ts:89

policy?

optional policy?: Policy
Defined in: packages/core/src/types/proxy.ts:90

reason?

optional reason?: string
Defined in: packages/core/src/types/proxy.ts:86

Methods

can()

can(server, tool): MaybePromise<boolean>
Defined in: packages/core/src/types/proxy.ts:92

Parameters

server
string
tool
string

Returns

MaybePromise<boolean>
@fentaris/core / ProxyPromptContext
ProxyPromptContext = object
Defined in: packages/core/src/types/proxy.ts:128Selected prompt metadata.

Properties

name

name: string
Defined in: packages/core/src/types/proxy.ts:129

proxyName

proxyName: string
Defined in: packages/core/src/types/proxy.ts:130
@fentaris/core / ProxyResourceContext
ProxyResourceContext = object
Defined in: packages/core/src/types/proxy.ts:117Selected resource metadata.

Properties

proxyUri?

optional proxyUri?: string
Defined in: packages/core/src/types/proxy.ts:119

proxyUriTemplate?

optional proxyUriTemplate?: string
Defined in: packages/core/src/types/proxy.ts:121

uri?

optional uri?: string
Defined in: packages/core/src/types/proxy.ts:118

uriTemplate?

optional uriTemplate?: string
Defined in: packages/core/src/types/proxy.ts:120
@fentaris/core / ProxyRuntime
ProxyRuntime = object
Defined in: packages/core/src/types/proxy.ts:314Runtime operations shared by downstream proxy exposure transports.

Properties

identityRequired

identityRequired: boolean
Defined in: packages/core/src/types/proxy.ts:322

logger

logger: Logger
Defined in: packages/core/src/types/proxy.ts:321

Methods

createSdkServer()

createSdkServer(user?, identity?, subject?): unknown
Defined in: packages/core/src/types/proxy.ts:315

Parameters

user?
UserContext
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

unknown

emitRuntimeEvent()

emitRuntimeEvent(event): Promise<void>
Defined in: packages/core/src/types/proxy.ts:320

Parameters

event
RuntimeEvent

Returns

Promise<void>

emitSessionEnd()

emitSessionEnd(context): Promise<void>
Defined in: packages/core/src/types/proxy.ts:319

Parameters

context
LifecycleHookContext

Returns

Promise<void>

emitSessionStart()

emitSessionStart(context): Promise<void>
Defined in: packages/core/src/types/proxy.ts:318

Parameters

context
LifecycleHookContext

Returns

Promise<void>

resolveHttpUser()

resolveHttpUser(request): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/types/proxy.ts:316

Parameters

request
unknown

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

resolveStdioUser()

resolveStdioUser(): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/types/proxy.ts:317

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
@fentaris/core / ProxyServerContext
ProxyServerContext = object
Defined in: packages/core/src/types/proxy.ts:99Selected upstream server metadata.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/proxy.ts:101

name

name: string
Defined in: packages/core/src/types/proxy.ts:100
@fentaris/core / ProxySubjectContext
ProxySubjectContext = ResolvedSubject
Defined in: packages/core/src/types/shared.ts:106Structured subject metadata exposed through the unified context.
@fentaris/core / ProxyToolContext
ProxyToolContext = object
Defined in: packages/core/src/types/proxy.ts:108Selected tool metadata.

Properties

name

name: string
Defined in: packages/core/src/types/proxy.ts:109

proxyName

proxyName: string
Defined in: packages/core/src/types/proxy.ts:110
@fentaris/core / ProxyToolHandler
ProxyToolHandler = ProxyMiddleware
Defined in: packages/core/src/types/proxy.ts:185Express-like tool route handler signature.
@fentaris/core / ProxyToolPattern
ProxyToolPattern = string
Defined in: packages/core/src/types/proxy.ts:197Public tool pattern using server.tool dot notation and * wildcards.
@fentaris/core / ProxyTransportContext
ProxyTransportContext = object
Defined in: packages/core/src/types/proxy.ts:63Safe downstream transport metadata attached to a proxy operation.

Properties

requestId?

optional requestId?: string
Defined in: packages/core/src/types/proxy.ts:66

sessionId?

optional sessionId?: string
Defined in: packages/core/src/types/proxy.ts:65

type?

optional type?: "http" | "stdio" | "sse" | "unknown"
Defined in: packages/core/src/types/proxy.ts:64
@fentaris/core / ReadResourceParams
ReadResourceParams = ReadResourceRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:28
@fentaris/core / ReadResourceResponse
ReadResourceResponse = ReadResourceResult
Defined in: packages/core/src/types/mcp-operation.ts:29
@fentaris/core / ResolvedSubject
ResolvedSubject = object
Defined in: packages/core/src/types/shared.ts:92Authenticated subject resolved from user and group declarations.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/shared.ts:94

email?

optional email?: string
Defined in: packages/core/src/types/shared.ts:95

groups

groups: GroupMembership[]
Defined in: packages/core/src/types/shared.ts:98

id

id: string
Defined in: packages/core/src/types/shared.ts:93

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:96

tenant?

optional tenant?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:97

Methods

hasGroup()

hasGroup(groupId): boolean
Defined in: packages/core/src/types/shared.ts:99

Parameters

groupId
string

Returns

boolean
@fentaris/core / RuntimeLifecycle
RuntimeLifecycle = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:44

Methods

health()

health(): Promise<HealthReport>
Defined in: packages/core/src/lifecycle/lifecycle.ts:49

Returns

Promise<HealthReport>

ready()

ready(options?): Promise<RuntimeLifecycleSnapshot>
Defined in: packages/core/src/lifecycle/lifecycle.ts:46

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<RuntimeLifecycleSnapshot>

start()

start(options?): Promise<unknown>
Defined in: packages/core/src/lifecycle/lifecycle.ts:45

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<unknown>

state()

state(): RuntimeLifecycleSnapshot
Defined in: packages/core/src/lifecycle/lifecycle.ts:48

Returns

RuntimeLifecycleSnapshot

stop()

stop(options?): Promise<void>
Defined in: packages/core/src/lifecycle/lifecycle.ts:47

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<void>
@fentaris/core / RuntimeLifecycleMetadata
RuntimeLifecycleMetadata = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:13

Properties

failure?

optional failure?: object
Defined in: packages/core/src/lifecycle/lifecycle.ts:19

code?

optional code?: string

message

message: string

name

name: string

lastTransitionAt

lastTransitionAt: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:18

name

name: string
Defined in: packages/core/src/lifecycle/lifecycle.ts:14

startedAt?

optional startedAt?: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:16

stoppedAt?

optional stoppedAt?: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:17

version

version: string
Defined in: packages/core/src/lifecycle/lifecycle.ts:15
@fentaris/core / RuntimeLifecycleOptions
RuntimeLifecycleOptions = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:31

Properties

shutdownTimeoutMs?

optional shutdownTimeoutMs?: number
Defined in: packages/core/src/lifecycle/lifecycle.ts:33

startupTimeoutMs?

optional startupTimeoutMs?: number
Defined in: packages/core/src/lifecycle/lifecycle.ts:32
@fentaris/core / RuntimeLifecycleSnapshot
RuntimeLifecycleSnapshot = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:26

Properties

metadata

metadata: RuntimeLifecycleMetadata
Defined in: packages/core/src/lifecycle/lifecycle.ts:28

state

state: RuntimeLifecycleState
Defined in: packages/core/src/lifecycle/lifecycle.ts:27
@fentaris/core / RuntimeLifecycleState
RuntimeLifecycleState = "created" | "starting" | "ready" | "degraded" | "stopping" | "stopped" | "failed"
Defined in: packages/core/src/lifecycle/lifecycle.ts:4
@fentaris/core / SubjectMetadata
SubjectMetadata = object
Defined in: packages/core/src/types/shared.ts:25Non-sensitive subject metadata declared in application code.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/shared.ts:26

email?

optional email?: string
Defined in: packages/core/src/types/shared.ts:27

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:30

tenant?

optional tenant?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:29

tenantId?

optional tenantId?: string
Defined in: packages/core/src/types/shared.ts:28
@fentaris/core / ToolApprovalRequest
ToolApprovalRequest = ToolCallRequest & object
Defined in: packages/core/src/types/mcp-operation.ts:65Normalized tool-call request passed to approval callbacks.

Type Declaration

operation

operation: "tool:call"

target

target: string

targetKind

targetKind: "tool"
@fentaris/core / ToolCallHook
ToolCallHook = (request, context) => MaybePromise<void | CallToolResult>
Defined in: packages/core/src/types/middleware.ts:61Hook invoked for matched tool calls.

Parameters

request

ToolCallRequest

context

MiddlewareContext

Returns

MaybePromise<void | CallToolResult>
@fentaris/core / ToolCallHookFilter
ToolCallHookFilter = object
Defined in: packages/core/src/types/middleware.ts:19Filter for proxy call hooks.

Properties

proxyTool?

optional proxyTool?: string
Defined in: packages/core/src/types/middleware.ts:22

server?

optional server?: string
Defined in: packages/core/src/types/middleware.ts:20

tool?

optional tool?: string
Defined in: packages/core/src/types/middleware.ts:21
@fentaris/core / ToolCallRequest
ToolCallRequest = object
Defined in: packages/core/src/types/mcp-operation.ts:53Normalized tool call details for middleware.

Properties

arguments

arguments: CallToolRequest["params"]["arguments"]
Defined in: packages/core/src/types/mcp-operation.ts:57

proxyToolName

proxyToolName: string
Defined in: packages/core/src/types/mcp-operation.ts:56

raw

raw: CallToolRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:58

serverName

serverName: string
Defined in: packages/core/src/types/mcp-operation.ts:54

toolName

toolName: string
Defined in: packages/core/src/types/mcp-operation.ts:55
@fentaris/core / ToolPermission
ToolPermission = object
Defined in: packages/core/src/types/policy.ts:22Tool permission model for policy enforcement.

Properties

approval?

optional approval?: ApprovalHandler<ToolApprovalRequest>
Defined in: packages/core/src/types/policy.ts:26

effect?

optional effect?: "allow" | "deny"
Defined in: packages/core/src/types/policy.ts:24

limiter?

optional limiter?: RateLimiter
Defined in: packages/core/src/types/policy.ts:25

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:27

tool

tool: string
Defined in: packages/core/src/types/policy.ts:23
@fentaris/core / UserContext
UserContext = object
Defined in: packages/core/src/types/shared.ts:14User context passed through requests.

Indexable

[key: string]: unknown

Properties

id?

optional id?: string
Defined in: packages/core/src/types/shared.ts:15

secrets?

optional secrets?: Record<string, string>
Defined in: packages/core/src/types/shared.ts:16

tokens?

optional tokens?: Record<string, string>
Defined in: packages/core/src/types/shared.ts:17

Name mapping

@fentaris/core / assertValidServerName
assertValidServerName(name): void
Defined in: nameMapping.ts:14Validate that a server name is safe to use in proxied tool names.

Parameters

name

string

Returns

void
@fentaris/core / fromProxyPromptName
fromProxyPromptName(proxyPromptName): object
Defined in: nameMapping.ts:57Split a proxied prompt name into server and upstream prompt parts.

Parameters

proxyPromptName

string

Returns

object

promptName

promptName: string

serverName

serverName: string
@fentaris/core / fromProxyResourceTemplateUri
fromProxyResourceTemplateUri(proxyUriTemplate): object
Defined in: nameMapping.ts:97Parse a Fentaris-owned resource template URI back to its upstream owner and template.

Parameters

proxyUriTemplate

string

Returns

object

serverName

serverName: string

uriTemplate

uriTemplate: string
@fentaris/core / fromProxyResourceUri
fromProxyResourceUri(proxyUri): object
Defined in: nameMapping.ts:77Parse a Fentaris-owned resource URI back to its upstream owner and URI.

Parameters

proxyUri

string

Returns

object

serverName

serverName: string

uri

uri: string
@fentaris/core / fromProxyToolName
fromProxyToolName(proxyToolName): object
Defined in: nameMapping.ts:37Split a proxied tool name into server and tool parts.

Parameters

proxyToolName

string

Returns

object

serverName

serverName: string

toolName

toolName: string
@fentaris/core / toProxyPromptName
toProxyPromptName(serverName, promptName): string
Defined in: nameMapping.ts:49Combine server and prompt names into a proxied prompt name.

Parameters

serverName

string

promptName

string

Returns

string
@fentaris/core / toProxyResourceTemplateUri
toProxyResourceTemplateUri(serverName, uriTemplate): string
Defined in: nameMapping.ts:89Build a Fentaris-owned URI template for routing a proxied MCP resource template.

Parameters

serverName

string

uriTemplate

string

Returns

string
@fentaris/core / toProxyResourceUri
toProxyResourceUri(serverName, uri): string
Defined in: nameMapping.ts:69Build a Fentaris-owned URI for routing a proxied MCP resource.

Parameters

serverName

string

uri

string

Returns

string
@fentaris/core / toProxyToolName
toProxyToolName(serverName, toolName): string
Defined in: nameMapping.ts:28Combine server and tool names into a proxied tool name.

Parameters

serverName

string

toolName

string

Returns

string