Skip to main content
Defined in: server/FastMCP.ts:349

Constructors

Constructor

Defined in: server/FastMCP.ts:401

Parameters

options
FastMCPOptions

Returns

FastMCP

Properties

name

Defined in: server/FastMCP.ts:350

version

Defined in: server/FastMCP.ts:351

Accessors

address

Get Signature

Defined in: server/FastMCP.ts:1755 The bound address after run() resolves for the http transport. Null for stdio or before run().
Returns
ServerAddress | null

isRunning

Get Signature

Defined in: server/FastMCP.ts:1764 Whether run() or connect() has been called on this instance. Used by the CLI’s entrypoint loader to detect servers that already started themselves via top-level code, so it doesn’t attempt to start them a second time.
Returns
boolean

Methods

_addCloseCallback()

Defined in: server/FastMCP.ts:1588 Register a callback invoked when this server is closed — used by proxy connections.

Parameters

cb
() => Promise<void>

Returns

void

_dispatchPrompt()

Defined in: server/FastMCP.ts:1448 Dispatch a prompt render through this server’s middleware chain using an inherited context.

Parameters

name
string
args
Record<string, string>
ctx
McpContext

Returns

Promise< | InputRequiredResult | { description?: string; messages: PromptMessage[]; }>

_dispatchResource()

Defined in: server/FastMCP.ts:1408 Run a resource read through this server’s middleware chain using an inherited context. Returns the raw handler result so the parent can apply convertResourceResult with the actual requested URI (important for template resources).

Parameters

uri
string
params
Record<string, string> | undefined
ctx
McpContext

Returns

Promise<unknown>

_dispatchTool()

Defined in: server/FastMCP.ts:1349 Dispatch a tool call through this server’s middleware chain using an inherited context. Used by parent servers to honour child-level middleware when routing mounted tool calls.

Parameters

name
string
rawArgs
unknown
ctx
McpContext

Returns

Promise< | InputRequiredResult | { [key: string]: unknown; }>

_modernFetch()

Defined in: server/FastMCP.ts:1786 Modern-era (2026-07-28) in-process fetch entrypoint — the McpServerLike duck-type hook fastmcp-ts/client’s Client looks for when a caller pins modern era for an in-process server (versionNegotiation: { mode: { pin: '2026-07-28' } } }). Delegates directly to the same createMcpHandler instance the real HTTP modern path uses (_getModernHandler), so this is the identical dispatch a real network connection would get — no sockets, same code. Modern-only (legacy: 'reject'): a client using 'auto' or 'legacy' negotiation instead goes through connect() + InMemoryTransport (2025-era only), unaffected by this method.

Parameters

request
Request
options?
McpHandlerRequestOptions

Returns

Promise<Response>

_removePrompt()

Defined in: server/FastMCP.ts:1332

Parameters

name
string

Returns

boolean

_removeResource()

Defined in: server/FastMCP.ts:1318

Parameters

uri
string

Returns

boolean

_removeTool()

Defined in: server/FastMCP.ts:1311

Parameters

name
string

Returns

boolean

addProvider()

Defined in: server/FastMCP.ts:1597 Register a provider (FastMCPApp or FastMCP) on this server. All tools, resources, and prompts from the provider are mounted without a prefix. For FastMCPApp, pass provider.server; for FastMCP, pass directly.

Parameters

provider
| FastMCP | { server: FastMCP; }

Returns

this

close()

Defined in: server/FastMCP.ts:2127

Returns

Promise<void>

connect()

Defined in: server/FastMCP.ts:1768

Parameters

transport
Transport

Returns

Promise<void>

getContext()

Defined in: server/FastMCP.ts:1748

Returns

McpContext

mount()

Defined in: server/FastMCP.ts:1564 Mount a child server onto this server. All tools, resources, and prompts from the child become accessible via this server. Pass a prefix to namespace names and prevent collisions.

Parameters

child
FastMCP
prefix?
string

Returns

this

notifyResourceUpdated()

Defined in: server/FastMCP.ts:1205 Signal that a resource changed and any subscriber should re-read it. This is the SINGLE change signal for resource updates across both eras — the legacy per-session push and the modern subscriptions/listen bus are driven from here:
  • Legacy connections (primary / stdio / legacy HTTP sessions) that called resources/subscribe for uri are pushed notifications/resources/updated directly on their live session (subscription set kept in per-session state).
  • The modern handler’s bus (W3) is published to as well; it does its own per-stream filtering, delivering only to subscriptions/listen streams that opted in to this URI. Optional chaining keeps it a no-op until the first modern HTTP request has actually built the handler.
Unsubscribed sessions (and the modern streams that never opted in) receive nothing, so calling this for a URI with no subscribers is safe and cheap.

Parameters

uri
string

Returns

void

prompt()

Defined in: server/FastMCP.ts:1289

Parameters

config
PromptConfig
handler
(args?) => unknown

Returns

void

resource()

Defined in: server/FastMCP.ts:1300

Parameters

config
ResourceConfig
handler
(params?) => unknown

Returns

void

run()

Defined in: server/FastMCP.ts:1790

Parameters

options?
RunOptions

Returns

Promise<void>

tool()

Call Signature

Defined in: server/FastMCP.ts:1274
Type Parameters
S
S extends StandardSchemaV1<unknown, unknown>
Parameters
config
Omit<ToolConfig, "input"> & { input: S; }
handler
(args) => unknown
Returns
void

Call Signature

Defined in: server/FastMCP.ts:1279
Parameters
config
ToolConfig
handler
(args) => unknown
Returns
void

transform()

Defined in: server/FastMCP.ts:1340 Add a transform to the pipeline. Applied to list responses in registration order.

Parameters

t
Transform

Returns

this

use()

Defined in: server/FastMCP.ts:1742 Add a middleware to the pipeline. Can be called at any point before the first request arrives. setup() is called immediately on the primary server so that notification handlers and other server-level side-effects are active before connect() / run() is called. HTTP sessions created after use() will also have setup() called via _makeServer().

Parameters

mw
Middleware

Returns

this