|
2 | 2 |
|
3 | 3 | ## Table of Contents
|
4 | 4 |
|
5 |
| -- [Overview](#overview) |
6 |
| -- [Installation](#installation) |
7 |
| -- [Quickstart](#quick-start) |
8 |
| -- [What is MCP?](#what-is-mcp) |
9 |
| -- [Core Concepts](#core-concepts) |
10 |
| - - [Server](#server) |
11 |
| - - [Resources](#resources) |
12 |
| - - [Tools](#tools) |
13 |
| - - [Prompts](#prompts) |
14 |
| - - [Completions](#completions) |
15 |
| - - [Sampling](#sampling) |
16 |
| -- [Running Your Server](#running-your-server) |
17 |
| - - [stdio](#stdio) |
18 |
| - - [Streamable HTTP](#streamable-http) |
19 |
| - - [Testing and Debugging](#testing-and-debugging) |
20 |
| -- [Examples](#examples) |
21 |
| - - [Echo Server](#echo-server) |
22 |
| - - [SQLite Explorer](#sqlite-explorer) |
23 |
| -- [Advanced Usage](#advanced-usage) |
24 |
| - - [Dynamic Servers](#dynamic-servers) |
25 |
| - - [Low-Level Server](#low-level-server) |
26 |
| - - [Writing MCP Clients](#writing-mcp-clients) |
27 |
| - - [Proxy Authorization Requests Upstream](#proxy-authorization-requests-upstream) |
28 |
| - - [Backwards Compatibility](#backwards-compatibility) |
29 |
| -- [Documentation](#documentation) |
30 |
| -- [Contributing](#contributing) |
31 |
| -- [License](#license) |
| 5 | +- [MCP TypeScript SDK ](#mcp-typescript-sdk--) |
| 6 | + - [Table of Contents](#table-of-contents) |
| 7 | + - [Overview](#overview) |
| 8 | + - [Installation](#installation) |
| 9 | + - [Quick Start](#quick-start) |
| 10 | + - [What is MCP?](#what-is-mcp) |
| 11 | + - [Core Concepts](#core-concepts) |
| 12 | + - [Server](#server) |
| 13 | + - [Resources](#resources) |
| 14 | + - [Tools](#tools) |
| 15 | + - [ResourceLinks](#resourcelinks) |
| 16 | + - [Prompts](#prompts) |
| 17 | + - [Completions](#completions) |
| 18 | + - [Client Usage](#client-usage) |
| 19 | + - [Display Names and Metadata](#display-names-and-metadata) |
| 20 | + - [Title Precedence for Tools](#title-precedence-for-tools) |
| 21 | + - [Sampling](#sampling) |
| 22 | + - [Running Your Server](#running-your-server) |
| 23 | + - [stdio](#stdio) |
| 24 | + - [Streamable HTTP](#streamable-http) |
| 25 | + - [With Session Management](#with-session-management) |
| 26 | + - [CORS Configuration for Browser-Based Clients](#cors-configuration-for-browser-based-clients) |
| 27 | + - [Without Session Management (Stateless)](#without-session-management-stateless) |
| 28 | + - [DNS Rebinding Protection](#dns-rebinding-protection) |
| 29 | + - [Testing and Debugging](#testing-and-debugging) |
| 30 | + - [Examples](#examples) |
| 31 | + - [Echo Server](#echo-server) |
| 32 | + - [SQLite Explorer](#sqlite-explorer) |
| 33 | + - [Advanced Usage](#advanced-usage) |
| 34 | + - [Dynamic Servers](#dynamic-servers) |
| 35 | + - [Improving Network Efficiency with Notification Debouncing](#improving-network-efficiency-with-notification-debouncing) |
| 36 | + - [Low-Level Server](#low-level-server) |
| 37 | + - [Eliciting User Input](#eliciting-user-input) |
| 38 | + - [Writing MCP Clients](#writing-mcp-clients) |
| 39 | + - [Proxy Authorization Requests Upstream](#proxy-authorization-requests-upstream) |
| 40 | + - [Backwards Compatibility](#backwards-compatibility) |
| 41 | + - [Client-Side Compatibility](#client-side-compatibility) |
| 42 | + - [Server-Side Compatibility](#server-side-compatibility) |
| 43 | + - [Documentation](#documentation) |
| 44 | + - [Contributing](#contributing) |
| 45 | + - [License](#license) |
32 | 46 |
|
33 | 47 | ## Overview
|
34 | 48 |
|
@@ -1183,6 +1197,7 @@ const proxyProvider = new ProxyOAuthServerProvider({
|
1183 | 1197 | token,
|
1184 | 1198 | clientId: "123",
|
1185 | 1199 | scopes: ["openid", "email", "profile"],
|
| 1200 | + expiresAt: Date.now() + 3600 |
1186 | 1201 | }
|
1187 | 1202 | },
|
1188 | 1203 | getClient: async (client_id) => {
|
|
0 commit comments