Class: UpstreamClient
Defined in: src/tollgate/proxy/client.ts:62 Upstream MCP client with health monitoring and resilience features.Constructors
Constructor
Parameters
options
Returns
UpstreamClient
Methods
callTool()
Parameters
name
string
Tool name
args?
Record<string, unknown>
Tool arguments
Returns
Promise<{
[key: string]: unknown;
_meta?: {
[key: string]: unknown;
io.modelcontextprotocol/related-task?: {
taskId: string;
};
progressToken?: string | number;
};
content: (
| {
_meta?: {
[key: string]: unknown;
};
annotations?: {
audience?: ("user" | "assistant")[];
lastModified?: string;
priority?: number;
};
text: string;
type: "text";
}
| {
_meta?: {
[key: string]: unknown;
};
annotations?: {
audience?: ("user" | "assistant")[];
lastModified?: string;
priority?: number;
};
data: string;
mimeType: string;
type: "image";
}
| {
_meta?: {
[key: string]: unknown;
};
annotations?: {
audience?: ("user" | "assistant")[];
lastModified?: string;
priority?: number;
};
data: string;
mimeType: string;
type: "audio";
}
| {
_meta?: {
[key: string]: unknown;
};
annotations?: {
audience?: ("user" | "assistant")[];
lastModified?: string;
priority?: number;
};
description?: string;
icons?: {
mimeType?: string;
sizes?: string[];
src: string;
theme?: "light" | "dark";
}[];
mimeType?: string;
name: string;
title?: string;
type: "resource_link";
uri: string;
}
| {
_meta?: {
[key: string]: unknown;
};
annotations?: {
audience?: ("user" | "assistant")[];
lastModified?: string;
priority?: number;
};
resource: | {
_meta?: {
[key: string]: unknown;
};
mimeType?: string;
text: string;
uri: string;
}
| {
_meta?: {
[key: string]: unknown;
};
blob: string;
mimeType?: string;
uri: string;
};
type: "resource";
})[];
isError?: boolean;
structuredContent?: {
[key: string]: unknown;
};
}>
Tool call result
Throws
UpstreamError if timeout or upstream error occursclose()
Returns
Promise<void>
getHealthStatus()
Returns
HealthCheckResult
healthCheck()
Returns
Promise<HealthCheckResult>
Health check result
initialize()
Returns
Promise<void>
isConnected()
Returns
boolean
isHealthy()
Returns
boolean
listTools()
Returns
Promise<{
[key: string]: unknown;
_meta?: {
[key: string]: unknown;
io.modelcontextprotocol/related-task?: {
taskId: string;
};
progressToken?: string | number;
};
nextCursor?: string;
tools: {
_meta?: {
[key: string]: unknown;
};
annotations?: {
destructiveHint?: boolean;
idempotentHint?: boolean;
openWorldHint?: boolean;
readOnlyHint?: boolean;
title?: string;
};
description?: string;
execution?: {
taskSupport?: "optional" | "required" | "forbidden";
};
icons?: {
mimeType?: string;
sizes?: string[];
src: string;
theme?: "light" | "dark";
}[];
inputSchema: {
[key: string]: unknown;
properties?: {
[key: string]: object;
};
required?: string[];
type: "object";
};
name: string;
outputSchema?: {
[key: string]: unknown;
properties?: {
[key: string]: object;
};
required?: string[];
type: "object";
};
title?: string;
}[];
}>