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

Constructors

Constructor

Defined in: server/FastMCP.ts:374

Parameters

options
FastMCPOptions

Returns

FastMCP

Properties

name

Defined in: server/FastMCP.ts:326

version

Defined in: server/FastMCP.ts:327

Accessors

address

Get Signature

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

Methods

_addCloseCallback()

Defined in: server/FastMCP.ts:1523 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:1400 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:1360 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:1308 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< | { [key: string]: unknown; } | InputRequiredResult>

_modernFetch()

Defined in: server/FastMCP.ts:1711 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:1291

Parameters

name
string

Returns

boolean

_removeResource()

Defined in: server/FastMCP.ts:1277

Parameters

uri
string

Returns

boolean

_removeTool()

Defined in: server/FastMCP.ts:1270

Parameters

name
string

Returns

boolean

addProvider()

Defined in: server/FastMCP.ts:1532 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:2018

Returns

Promise<void>

connect()

Defined in: server/FastMCP.ts:1694

Parameters

transport
Transport

Returns

Promise<void>

getContext()

Defined in: server/FastMCP.ts:1683

Returns

McpContext

mount()

Defined in: server/FastMCP.ts:1499 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:1164 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:1248

Parameters

config
PromptConfig
handler
(args?) => unknown

Returns

void

resource()

Defined in: server/FastMCP.ts:1259

Parameters

config
ResourceConfig
handler
(params?) => unknown

Returns

void

run()

Defined in: server/FastMCP.ts:1715

Parameters

options?
RunOptions

Returns

Promise<void>

tool()

Call Signature

Defined in: server/FastMCP.ts:1233
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:1238
Parameters
config
ToolConfig
handler
(args) => unknown
Returns
void

transform()

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

Parameters

t
Transform

Returns

this

use()

Defined in: server/FastMCP.ts:1677 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