# FastMCP TS > The TypeScript framework for building MCP servers, clients, and apps. ## Docs - [AnthropicSamplingAdapter](https://fastmcp-ts.docs.prefect.io/api/client/classes/AnthropicSamplingAdapter.md) - [BearerAuth](https://fastmcp-ts.docs.prefect.io/api/client/classes/BearerAuth.md) - [Client](https://fastmcp-ts.docs.prefect.io/api/client/classes/Client.md) - [ClientCredentials](https://fastmcp-ts.docs.prefect.io/api/client/classes/ClientCredentials.md) - [FileTokenStorage](https://fastmcp-ts.docs.prefect.io/api/client/classes/FileTokenStorage.md) - [GenericSamplingAdapter](https://fastmcp-ts.docs.prefect.io/api/client/classes/GenericSamplingAdapter.md) - [GoogleSamplingAdapter](https://fastmcp-ts.docs.prefect.io/api/client/classes/GoogleSamplingAdapter.md) - [InMemoryStore](https://fastmcp-ts.docs.prefect.io/api/client/classes/InMemoryStore.md) - [MultiServerClient](https://fastmcp-ts.docs.prefect.io/api/client/classes/MultiServerClient.md) - [OAuth](https://fastmcp-ts.docs.prefect.io/api/client/classes/OAuth.md) - [OpenAISamplingAdapter](https://fastmcp-ts.docs.prefect.io/api/client/classes/OpenAISamplingAdapter.md) - [StdioTransport](https://fastmcp-ts.docs.prefect.io/api/client/classes/StdioTransport.md) - [ToolCallError](https://fastmcp-ts.docs.prefect.io/api/client/classes/ToolCallError.md) - [defaultLogHandler](https://fastmcp-ts.docs.prefect.io/api/client/functions/defaultLogHandler.md) - [defaultProgressHandler](https://fastmcp-ts.docs.prefect.io/api/client/functions/defaultProgressHandler.md) - [toResult](https://fastmcp-ts.docs.prefect.io/api/client/functions/toResult.md) - [client](https://fastmcp-ts.docs.prefect.io/api/client/index.md) - [CallToolOptions](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/CallToolOptions.md) - [ClientCredentialsOptions](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/ClientCredentialsOptions.md) - [ClientDefaultOptions](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/ClientDefaultOptions.md) - [ClientHandlers](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/ClientHandlers.md) - [ClientOptions](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/ClientOptions.md) - [GenericCompletionParams](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/GenericCompletionParams.md) - [IClient](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/IClient.md) - [IPromptsClient](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/IPromptsClient.md) - [IResourcesClient](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/IResourcesClient.md) - [IToolsClient](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/IToolsClient.md) - [McpServerLike](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/McpServerLike.md) - [MultiServerOptions](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/MultiServerOptions.md) - [OAuthOptions](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/OAuthOptions.md) - [RequestOptions](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/RequestOptions.md) - [SamplingAdapter](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/SamplingAdapter.md) - [SamplingAdapterOptions](https://fastmcp-ts.docs.prefect.io/api/client/interfaces/SamplingAdapterOptions.md) - [AnySamplingResult](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/AnySamplingResult.md) - [CallToolResult](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/CallToolResult.md) - [ClientTransportInput](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/ClientTransportInput.md) - [CompletionResult](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/CompletionResult.md) - [ElicitationHandler](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/ElicitationHandler.md) - [GenericCompletionFn](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/GenericCompletionFn.md) - [KeyValueStore](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/KeyValueStore.md) - [ListChangedHandler](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/ListChangedHandler.md) - [LogHandler](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/LogHandler.md) - [LogMessage](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/LogMessage.md) - [McpConfig](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/McpConfig.md) - [McpServerEntry](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/McpServerEntry.md) - [McpServerValue](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/McpServerValue.md) - [ModelSelector](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/ModelSelector.md) - [OAuthToken](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/OAuthToken.md) - [OnTokenCallback](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/OnTokenCallback.md) - [ProgressHandler](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/ProgressHandler.md) - [ResourceUpdateHandler](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/ResourceUpdateHandler.md) - [Result](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/Result.md) - [RootInput](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/RootInput.md) - [RootsValue](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/RootsValue.md) - [SamplingHandler](https://fastmcp-ts.docs.prefect.io/api/client/type-aliases/SamplingHandler.md) - [Approval](https://fastmcp-ts.docs.prefect.io/api/server/classes/Approval.md) - [AuthorizationError](https://fastmcp-ts.docs.prefect.io/api/server/classes/AuthorizationError.md) - [CachingMiddleware](https://fastmcp-ts.docs.prefect.io/api/server/classes/CachingMiddleware.md) - [CancellationMiddleware](https://fastmcp-ts.docs.prefect.io/api/server/classes/CancellationMiddleware.md) - [Choice](https://fastmcp-ts.docs.prefect.io/api/server/classes/Choice.md) - [ErrorNormalizationMiddleware](https://fastmcp-ts.docs.prefect.io/api/server/classes/ErrorNormalizationMiddleware.md) - [FastMCP](https://fastmcp-ts.docs.prefect.io/api/server/classes/FastMCP.md) - [FastMCPApp](https://fastmcp-ts.docs.prefect.io/api/server/classes/FastMCPApp.md) - [File](https://fastmcp-ts.docs.prefect.io/api/server/classes/File.md) - [FileUpload](https://fastmcp-ts.docs.prefect.io/api/server/classes/FileUpload.md) - [FilterTransform](https://fastmcp-ts.docs.prefect.io/api/server/classes/FilterTransform.md) - [FormInput](https://fastmcp-ts.docs.prefect.io/api/server/classes/FormInput.md) - [GenerativeUI](https://fastmcp-ts.docs.prefect.io/api/server/classes/GenerativeUI.md) - [Image](https://fastmcp-ts.docs.prefect.io/api/server/classes/Image.md) - [LoggingMiddleware](https://fastmcp-ts.docs.prefect.io/api/server/classes/LoggingMiddleware.md) - [NamespaceTransform](https://fastmcp-ts.docs.prefect.io/api/server/classes/NamespaceTransform.md) - [PromptResult](https://fastmcp-ts.docs.prefect.io/api/server/classes/PromptResult.md) - [PromptsAsTools](https://fastmcp-ts.docs.prefect.io/api/server/classes/PromptsAsTools.md) - [RateLimitingMiddleware](https://fastmcp-ts.docs.prefect.io/api/server/classes/RateLimitingMiddleware.md) - [ResourceResult](https://fastmcp-ts.docs.prefect.io/api/server/classes/ResourceResult.md) - [ResourcesAsTools](https://fastmcp-ts.docs.prefect.io/api/server/classes/ResourcesAsTools.md) - [SizeLimitingMiddleware](https://fastmcp-ts.docs.prefect.io/api/server/classes/SizeLimitingMiddleware.md) - [ToolResult](https://fastmcp-ts.docs.prefect.io/api/server/classes/ToolResult.md) - [VersionFilter](https://fastmcp-ts.docs.prefect.io/api/server/classes/VersionFilter.md) - [Area](https://fastmcp-ts.docs.prefect.io/api/server/functions/Area.md) - [Badge](https://fastmcp-ts.docs.prefect.io/api/server/functions/Badge.md) - [Bar](https://fastmcp-ts.docs.prefect.io/api/server/functions/Bar.md) - [Button](https://fastmcp-ts.docs.prefect.io/api/server/functions/Button.md) - [Column](https://fastmcp-ts.docs.prefect.io/api/server/functions/Column.md) - [ForEach](https://fastmcp-ts.docs.prefect.io/api/server/functions/ForEach.md) - [Grid](https://fastmcp-ts.docs.prefect.io/api/server/functions/Grid.md) - [If](https://fastmcp-ts.docs.prefect.io/api/server/functions/If.md) - [Input](https://fastmcp-ts.docs.prefect.io/api/server/functions/Input.md) - [Line](https://fastmcp-ts.docs.prefect.io/api/server/functions/Line.md) - [Pie](https://fastmcp-ts.docs.prefect.io/api/server/functions/Pie.md) - [Row](https://fastmcp-ts.docs.prefect.io/api/server/functions/Row.md) - [Rx](https://fastmcp-ts.docs.prefect.io/api/server/functions/Rx.md) - [Select](https://fastmcp-ts.docs.prefect.io/api/server/functions/Select.md) - [Table](https://fastmcp-ts.docs.prefect.io/api/server/functions/Table.md) - [Text](https://fastmcp-ts.docs.prefect.io/api/server/functions/Text.md) - [actionRef](https://fastmcp-ts.docs.prefect.io/api/server/functions/actionRef.md) - [createProxy](https://fastmcp-ts.docs.prefect.io/api/server/functions/createProxy.md) - [debugTokenVerifier](https://fastmcp-ts.docs.prefect.io/api/server/functions/debugTokenVerifier.md) - [introspectionVerifier](https://fastmcp-ts.docs.prefect.io/api/server/functions/introspectionVerifier.md) - [jwtVerifier](https://fastmcp-ts.docs.prefect.io/api/server/functions/jwtVerifier.md) - [multiAuth](https://fastmcp-ts.docs.prefect.io/api/server/functions/multiAuth.md) - [oauthProvider](https://fastmcp-ts.docs.prefect.io/api/server/functions/oauthProvider.md) - [oauthProxy](https://fastmcp-ts.docs.prefect.io/api/server/functions/oauthProxy.md) - [redescribeTool](https://fastmcp-ts.docs.prefect.io/api/server/functions/redescribeTool.md) - [renameTool](https://fastmcp-ts.docs.prefect.io/api/server/functions/renameTool.md) - [requireScopes](https://fastmcp-ts.docs.prefect.io/api/server/functions/requireScopes.md) - [staticTokenVerifier](https://fastmcp-ts.docs.prefect.io/api/server/functions/staticTokenVerifier.md) - [server](https://fastmcp-ts.docs.prefect.io/api/server/index.md) - [AccessToken](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/AccessToken.md) - [BackendToolConfig](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/BackendToolConfig.md) - [BrowserPermissions](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/BrowserPermissions.md) - [CatalogEntry](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/CatalogEntry.md) - [Component](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/Component.md) - [CspPolicy](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/CspPolicy.md) - [ElicitationResult](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/ElicitationResult.md) - [ElicitationSchema](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/ElicitationSchema.md) - [EntrypointConfig](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/EntrypointConfig.md) - [FastMCPAppOptions](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/FastMCPAppOptions.md) - [FastMCPOptions](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/FastMCPOptions.md) - [FileHandle](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/FileHandle.md) - [FileStorageAdapter](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/FileStorageAdapter.md) - [FileUploadOptions](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/FileUploadOptions.md) - [FormInputOptions](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/FormInputOptions.md) - [IfNode](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/IfNode.md) - [McpContext](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/McpContext.md) - [Middleware](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/Middleware.md) - [MiddlewareContext](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/MiddlewareContext.md) - [OAuthConfig](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/OAuthConfig.md) - [OAuthProviderOptions](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/OAuthProviderOptions.md) - [OAuthProxyOptions](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/OAuthProxyOptions.md) - [PromptArgument](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/PromptArgument.md) - [PromptConfig](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/PromptConfig.md) - [PromptMessage](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/PromptMessage.md) - [PromptView](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/PromptView.md) - [ResourceAnnotations](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/ResourceAnnotations.md) - [ResourceConfig](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/ResourceConfig.md) - [ResourceUiMeta](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/ResourceUiMeta.md) - [ResourceView](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/ResourceView.md) - [Root](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/Root.md) - [RunOptions](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/RunOptions.md) - [SamplingMessage](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/SamplingMessage.md) - [SamplingParams](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/SamplingParams.md) - [SamplingResult](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/SamplingResult.md) - [ServerAddress](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/ServerAddress.md) - [SynthesizedTool](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/SynthesizedTool.md) - [TokenVerifier](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/TokenVerifier.md) - [ToolConfig](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/ToolConfig.md) - [ToolView](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/ToolView.md) - [Transform](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/Transform.md) - [UiToolMeta](https://fastmcp-ts.docs.prefect.io/api/server/interfaces/UiToolMeta.md) - [AuthCheck](https://fastmcp-ts.docs.prefect.io/api/server/type-aliases/AuthCheck.md) - [CacheKeyFn](https://fastmcp-ts.docs.prefect.io/api/server/type-aliases/CacheKeyFn.md) - [LogLevel](https://fastmcp-ts.docs.prefect.io/api/server/type-aliases/LogLevel.md) - [Next](https://fastmcp-ts.docs.prefect.io/api/server/type-aliases/Next.md) - [PromptContent](https://fastmcp-ts.docs.prefect.io/api/server/type-aliases/PromptContent.md) - [ProxyTransport](https://fastmcp-ts.docs.prefect.io/api/server/type-aliases/ProxyTransport.md) - [Visibility](https://fastmcp-ts.docs.prefect.io/api/server/type-aliases/Visibility.md) - [Components](https://fastmcp-ts.docs.prefect.io/apps/components.md): The server-side component library for building app UIs - [Generative UI](https://fastmcp-ts.docs.prefect.io/apps/generative-ui.md): Let the LLM compose component trees at runtime - [Apps overview](https://fastmcp-ts.docs.prefect.io/apps/overview.md): Interactive UIs rendered directly in MCP host conversations - [Built-in providers](https://fastmcp-ts.docs.prefect.io/apps/providers.md): Ready-to-mount interactive primitives: approval, choice, file upload, forms - [CLI](https://fastmcp-ts.docs.prefect.io/cli.md): Run, inspect, call, and install MCP servers from the command line - [Client authentication](https://fastmcp-ts.docs.prefect.io/clients/auth.md): Bearer tokens, OAuth, and client credentials - [Client basics](https://fastmcp-ts.docs.prefect.io/clients/client.md): Connect to MCP servers, call tools, and manage connection lifecycle - [Handlers](https://fastmcp-ts.docs.prefect.io/clients/handlers.md): React to server logs, progress, elicitation, and list changes - [Multi-server](https://fastmcp-ts.docs.prefect.io/clients/multi-server.md): One client, many servers, automatic namespacing - [Sampling adapters](https://fastmcp-ts.docs.prefect.io/clients/sampling.md): Forward server sampling requests to Anthropic, OpenAI, or Google - [Transports](https://fastmcp-ts.docs.prefect.io/clients/transports.md): Connect over HTTP, stdio subprocesses, or in-process servers - [Welcome to FastMCP TypeScript](https://fastmcp-ts.docs.prefect.io/index.md): The TypeScript framework for building MCP servers, clients, and apps - [Installation](https://fastmcp-ts.docs.prefect.io/installation.md): Install FastMCP TypeScript and its optional peer dependencies - [Quickstart](https://fastmcp-ts.docs.prefect.io/quickstart.md): Build, run, and call your first MCP server - [Authorization](https://fastmcp-ts.docs.prefect.io/servers/auth/authorization.md): Scopes, per-component checks, and combining auth strategies - [OAuth](https://fastmcp-ts.docs.prefect.io/servers/auth/oauth.md): Act as an OAuth provider or proxy an upstream identity provider - [Authentication overview](https://fastmcp-ts.docs.prefect.io/servers/auth/overview.md): How FastMCP servers verify callers and protect components - [Token verification](https://fastmcp-ts.docs.prefect.io/servers/auth/token-verification.md): Verify bearer tokens with JWKS, introspection, or static tokens - [Composition](https://fastmcp-ts.docs.prefect.io/servers/composition.md): Mount child servers and proxy remote ones into a single gateway - [Context](https://fastmcp-ts.docs.prefect.io/servers/context.md): Logging, progress, sampling, elicitation, and session state from inside handlers - [Middleware](https://fastmcp-ts.docs.prefect.io/servers/middleware.md): Intercept and instrument every request with built-in or custom middleware - [Prompts](https://fastmcp-ts.docs.prefect.io/servers/prompts.md): Reusable message templates with validated arguments - [Resources](https://fastmcp-ts.docs.prefect.io/servers/resources.md): Expose data to clients via static URIs and RFC 6570 URI templates - [Running your server](https://fastmcp-ts.docs.prefect.io/servers/running.md): Transports, ports, and environment-driven configuration - [Tasks](https://fastmcp-ts.docs.prefect.io/servers/tasks.md): Long-running tools with background execution and client polling - [Tools](https://fastmcp-ts.docs.prefect.io/servers/tools.md): Turn TypeScript functions into MCP tools with schema validation and automatic result conversion - [Transforms](https://fastmcp-ts.docs.prefect.io/servers/transforms.md): View-only projections over the components your server advertises