Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions common/tsconfig/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"libReplacement": false,
"exactOptionalPropertyTypes": true,
"noImplicitReturns": true,
"incremental": true,
"declaration": true,
Expand Down
2 changes: 1 addition & 1 deletion docs/client.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ Pass `onprogress` to receive incremental progress notifications from long-runnin
const result = await client.callTool(
{ name: 'long-operation', arguments: {} },
{
onprogress: ({ progress, total }: { progress: number; total?: number }) => {
onprogress: ({ progress, total }: { progress: number; total?: number | undefined }) => {
console.log(`Progress: ${progress}/${total ?? '?'}`);
},
resetTimeoutOnProgress: true,
Expand Down
2 changes: 1 addition & 1 deletion examples/client/src/clientGuide.examples.ts
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ async function callTool_progress(client: Client) {
const result = await client.callTool(
{ name: 'long-operation', arguments: {} },
{
onprogress: ({ progress, total }: { progress: number; total?: number }) => {
onprogress: ({ progress, total }: { progress: number; total?: number | undefined }) => {
console.log(`Progress: ${progress}/${total ?? '?'}`);
},
resetTimeoutOnProgress: true,
Expand Down
15 changes: 2 additions & 13 deletions examples/client/src/elicitationUrlExample.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,7 @@
import { createServer } from 'node:http';
import { createInterface } from 'node:readline';

import type {
ElicitRequest,
ElicitRequestURLParams,
ElicitResult,
ListToolsRequest,
OAuthClientMetadata,
ResourceLink
} from '@modelcontextprotocol/client';
import type { ElicitRequest, ElicitRequestURLParams, ElicitResult, OAuthClientMetadata, ResourceLink } from '@modelcontextprotocol/client';
import {
Client,
getDisplayName,
Expand Down Expand Up @@ -659,11 +652,7 @@ async function listTools(): Promise<void> {
}

try {
const toolsRequest: ListToolsRequest = {
method: 'tools/list',
params: {}
};
const toolsResult = await client.request(toolsRequest);
const toolsResult = await client.request({ method: 'tools/list' });

console.log('Available tools:');
if (toolsResult.tools.length === 0) {
Expand Down
8 changes: 2 additions & 6 deletions examples/client/src/parallelToolCallsClient.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { CallToolResult, ListToolsRequest } from '@modelcontextprotocol/client';
import type { CallToolResult } from '@modelcontextprotocol/client';
import { Client, StreamableHTTPClientTransport } from '@modelcontextprotocol/client';

/**
Expand Down Expand Up @@ -82,11 +82,7 @@ async function main(): Promise<void> {
*/
async function listTools(client: Client): Promise<void> {
try {
const toolsRequest: ListToolsRequest = {
method: 'tools/list',
params: {}
};
const toolsResult = await client.request(toolsRequest);
const toolsResult = await client.request({ method: 'tools/list' });

console.log('Available tools:');
if (toolsResult.tools.length === 0) {
Expand Down
9 changes: 2 additions & 7 deletions examples/client/src/simpleOAuthClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { createServer } from 'node:http';
import { createInterface } from 'node:readline';
import { URL } from 'node:url';

import type { CallToolResult, ListToolsRequest, OAuthClientMetadata } from '@modelcontextprotocol/client';
import type { CallToolResult, OAuthClientMetadata } from '@modelcontextprotocol/client';
import { Client, StreamableHTTPClientTransport, UnauthorizedError } from '@modelcontextprotocol/client';
import open from 'open';

Expand Down Expand Up @@ -251,12 +251,7 @@ class InteractiveOAuthClient {
}

try {
const request: ListToolsRequest = {
method: 'tools/list',
params: {}
};

const result = await this.client.request(request);
const result = await this.client.request({ method: 'tools/list' });

if (result.tools && result.tools.length > 0) {
console.log('\n📋 Available tools:');
Expand Down
31 changes: 5 additions & 26 deletions examples/client/src/simpleStreamableHttp.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
import { createInterface } from 'node:readline';

import type {
CallToolResult,
GetPromptRequest,
ListPromptsRequest,
ListResourcesRequest,
ListToolsRequest,
ReadResourceRequest,
ResourceLink
} from '@modelcontextprotocol/client';
import type { CallToolResult, GetPromptRequest, ReadResourceRequest, ResourceLink } from '@modelcontextprotocol/client';
import {
Client,
getDisplayName,
Expand Down Expand Up @@ -536,8 +528,7 @@ async function connect(url?: string): Promise<void> {
return;
}
const resourcesResult = await client.request({
method: 'resources/list',
params: {}
method: 'resources/list'
});
console.log('Available resources count:', resourcesResult.resources.length);
} catch {
Expand Down Expand Up @@ -619,11 +610,7 @@ async function listTools(): Promise<void> {
}

try {
const toolsRequest: ListToolsRequest = {
method: 'tools/list',
params: {}
};
const toolsResult = await client.request(toolsRequest);
const toolsResult = await client.request({ method: 'tools/list' });

console.log('Available tools:');
if (toolsResult.tools.length === 0) {
Expand Down Expand Up @@ -770,11 +757,7 @@ async function listPrompts(): Promise<void> {
}

try {
const promptsRequest: ListPromptsRequest = {
method: 'prompts/list',
params: {}
};
const promptsResult = await client.request(promptsRequest);
const promptsResult = await client.request({ method: 'prompts/list' });
console.log('Available prompts:');
if (promptsResult.prompts.length === 0) {
console.log(' No prompts available');
Expand Down Expand Up @@ -820,11 +803,7 @@ async function listResources(): Promise<void> {
}

try {
const resourcesRequest: ListResourcesRequest = {
method: 'resources/list',
params: {}
};
const resourcesResult = await client.request(resourcesRequest);
const resourcesResult = await client.request({ method: 'resources/list' });

console.log('Available resources:');
if (resourcesResult.resources.length === 0) {
Expand Down
6 changes: 3 additions & 3 deletions examples/client/src/simpleTaskInteractiveClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ function getTextContent(result: { content: Array<{ type: string; text?: string }
}

async function elicitationCallback(params: {
mode?: string;
mode?: string | undefined;
message: string;
requestedSchema?: object;
}): Promise<{ action: 'accept' | 'cancel' | 'decline'; content?: Record<string, string | number | boolean | string[]> }> {
requestedSchema?: object | undefined;
}): Promise<{ action: 'accept' | 'cancel' | 'decline'; content?: Record<string, string | number | boolean | string[]> | undefined }> {
console.log(`\n[Elicitation] Server asks: ${params.message}`);

// Simple terminal prompt for y/n
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import type { ListToolsRequest } from '@modelcontextprotocol/client';
import { Client, SSEClientTransport, StreamableHTTPClientTransport } from '@modelcontextprotocol/client';

/**
Expand Down Expand Up @@ -125,11 +124,7 @@ async function connectWithBackwardsCompatibility(url: string): Promise<{
*/
async function listTools(client: Client): Promise<void> {
try {
const toolsRequest: ListToolsRequest = {
method: 'tools/list',
params: {}
};
const toolsResult = await client.request(toolsRequest);
const toolsResult = await client.request({ method: 'tools/list' });

console.log('Available tools:');
if (toolsResult.tools.length === 0) {
Expand Down
2 changes: 1 addition & 1 deletion examples/server/src/elicitationUrlExample.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ interface ElicitationMetadata {
completeResolver: () => void;
createdAt: Date;
sessionId: string;
completionNotifier?: () => Promise<void>;
completionNotifier?: (() => Promise<void>) | undefined;
}

const elicitationsMap = new Map<string, ElicitationMetadata>();
Expand Down
2 changes: 1 addition & 1 deletion examples/shared/src/authServer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ export function createProtectedResourceMetadataRouter(resourcePath = '/mcp'): Ro
*/
export async function verifyAccessToken(
token: string,
options?: { strictResource?: boolean; expectedResource?: URL }
options?: { strictResource?: boolean | undefined; expectedResource?: URL | undefined }
): Promise<{
token: string;
clientId: string;
Expand Down
Loading
Loading