@mcp-use/client 0.0.0-bootstrap.0 → 2.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +127 -4
- package/dist/.tsbuildinfo +1 -0
- package/dist/auth/browser.d.ts +149 -0
- package/dist/auth/browser.d.ts.map +1 -0
- package/dist/auth/callback.d.ts +9 -0
- package/dist/auth/callback.d.ts.map +1 -0
- package/dist/auth/flow.d.ts +23 -0
- package/dist/auth/flow.d.ts.map +1 -0
- package/dist/auth/node.d.ts +100 -0
- package/dist/auth/node.d.ts.map +1 -0
- package/dist/auth/popup.d.ts +67 -0
- package/dist/auth/popup.d.ts.map +1 -0
- package/dist/auth/session-store.d.ts +114 -0
- package/dist/auth/session-store.d.ts.map +1 -0
- package/dist/auth/storage-file.d.ts +18 -0
- package/dist/auth/storage-file.d.ts.map +1 -0
- package/dist/auth/storage.d.ts +25 -0
- package/dist/auth/storage.d.ts.map +1 -0
- package/dist/auth/url.d.ts +17 -0
- package/dist/auth/url.d.ts.map +1 -0
- package/dist/code-mode/connector.d.ts +27 -0
- package/dist/code-mode/connector.d.ts.map +1 -0
- package/dist/code-mode/executor-e2b.d.ts +46 -0
- package/dist/code-mode/executor-e2b.d.ts.map +1 -0
- package/dist/code-mode/executor-vm.d.ts +39 -0
- package/dist/code-mode/executor-vm.d.ts.map +1 -0
- package/dist/code-mode/executor.d.ts +66 -0
- package/dist/code-mode/executor.d.ts.map +1 -0
- package/dist/core/base.d.ts +418 -0
- package/dist/core/base.d.ts.map +1 -0
- package/dist/core/browser.d.ts +20 -0
- package/dist/core/browser.d.ts.map +1 -0
- package/dist/core/config.d.ts +149 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/node.d.ts +441 -0
- package/dist/core/node.d.ts.map +1 -0
- package/dist/core/session.d.ts +683 -0
- package/dist/core/session.d.ts.map +1 -0
- package/dist/index-browser.d.ts +25 -0
- package/dist/index-browser.d.ts.map +1 -0
- package/dist/index-browser.js +4150 -0
- package/dist/index-browser.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5598 -0
- package/dist/index.js.map +1 -0
- package/dist/react/McpClientProvider.d.ts +242 -0
- package/dist/react/McpClientProvider.d.ts.map +1 -0
- package/dist/react/index.d.ts +33 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +7922 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/rpc-logger.d.ts +42 -0
- package/dist/react/rpc-logger.d.ts.map +1 -0
- package/dist/react/storage.d.ts +51 -0
- package/dist/react/storage.d.ts.map +1 -0
- package/dist/react/types.d.ts +596 -0
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react/useMcp-helpers.d.ts +99 -0
- package/dist/react/useMcp-helpers.d.ts.map +1 -0
- package/dist/react/useMcp-operations.d.ts +156 -0
- package/dist/react/useMcp-operations.d.ts.map +1 -0
- package/dist/react/useMcp.d.ts +48 -0
- package/dist/react/useMcp.d.ts.map +1 -0
- package/dist/react/useMcpServerQueues.d.ts +376 -0
- package/dist/react/useMcpServerQueues.d.ts.map +1 -0
- package/dist/react/view/ViewRenderer.d.ts +12 -0
- package/dist/react/view/ViewRenderer.d.ts.map +1 -0
- package/dist/react/view/ext-apps-bridge.d.ts +3 -0
- package/dist/react/view/ext-apps-bridge.d.ts.map +1 -0
- package/dist/react/view/parse-custom-props.d.ts +2 -0
- package/dist/react/view/parse-custom-props.d.ts.map +1 -0
- package/dist/react/view/resolve-view-resource.d.ts +12 -0
- package/dist/react/view/resolve-view-resource.d.ts.map +1 -0
- package/dist/react/view/sandbox-blob-url.d.ts +25 -0
- package/dist/react/view/sandbox-blob-url.d.ts.map +1 -0
- package/dist/react/view/types.d.ts +97 -0
- package/dist/react/view/types.d.ts.map +1 -0
- package/dist/react/view/use-display-mode.d.ts +18 -0
- package/dist/react/view/use-display-mode.d.ts.map +1 -0
- package/dist/react/view/view-detection.d.ts +4 -0
- package/dist/react/view/view-detection.d.ts.map +1 -0
- package/dist/telemetry/client-telemetry.d.ts +13 -0
- package/dist/telemetry/client-telemetry.d.ts.map +1 -0
- package/dist/telemetry/configure-browser.d.ts +2 -0
- package/dist/telemetry/configure-browser.d.ts.map +1 -0
- package/dist/telemetry/configure-node.d.ts +2 -0
- package/dist/telemetry/configure-node.d.ts.map +1 -0
- package/dist/telemetry/connector-telemetry.d.ts +8 -0
- package/dist/telemetry/connector-telemetry.d.ts.map +1 -0
- package/dist/telemetry/events.d.ts +91 -0
- package/dist/telemetry/events.d.ts.map +1 -0
- package/dist/telemetry/index.d.ts +3 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/tel-fetch.d.ts +25 -0
- package/dist/telemetry/tel-fetch.d.ts.map +1 -0
- package/dist/telemetry/telemetry-browser.d.ts +6 -0
- package/dist/telemetry/telemetry-browser.d.ts.map +1 -0
- package/dist/telemetry/telemetry-node.d.ts +8 -0
- package/dist/telemetry/telemetry-node.d.ts.map +1 -0
- package/dist/telemetry/telemetry.d.ts +79 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/transport/base.d.ts +505 -0
- package/dist/transport/base.d.ts.map +1 -0
- package/dist/transport/connection-manager.d.ts +55 -0
- package/dist/transport/connection-manager.d.ts.map +1 -0
- package/dist/transport/http.d.ts +74 -0
- package/dist/transport/http.d.ts.map +1 -0
- package/dist/transport/stdio.d.ts +48 -0
- package/dist/transport/stdio.d.ts.map +1 -0
- package/dist/utils/elicitation.d.ts +52 -0
- package/dist/utils/elicitation.d.ts.map +1 -0
- package/dist/utils/favicon.d.ts +6 -0
- package/dist/utils/favicon.d.ts.map +1 -0
- package/dist/utils/json-schema-validator.d.ts +13 -0
- package/dist/utils/json-schema-validator.d.ts.map +1 -0
- package/dist/utils/logging.d.ts +32 -0
- package/dist/utils/logging.d.ts.map +1 -0
- package/dist/utils/version.d.ts +3 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/package.json +77 -8
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { BrowserOAuthClientProvider } from "../auth/browser.js";
|
|
2
|
+
import type { OAuthClientInformation } from "@modelcontextprotocol/client";
|
|
3
|
+
import type { MCPServerInfo } from "../core/session.js";
|
|
4
|
+
export declare const USE_MCP_SERVER_NAME = "inspector-server";
|
|
5
|
+
/** Asserts that a condition is true, throwing an error if not. */
|
|
6
|
+
export declare function assert(condition: unknown, message: string): asserts condition;
|
|
7
|
+
type ServerInfoWithIcon = MCPServerInfo & {
|
|
8
|
+
icon?: string;
|
|
9
|
+
};
|
|
10
|
+
type AddLog = (level: "debug" | "info" | "warn" | "error", message: string, ...args: unknown[]) => void;
|
|
11
|
+
/** Resolve a server-provided icon, then fall back to domain favicon discovery. */
|
|
12
|
+
export declare function loadServerIcon(params: {
|
|
13
|
+
serverInfo: MCPServerInfo;
|
|
14
|
+
url?: string;
|
|
15
|
+
isMounted: () => boolean;
|
|
16
|
+
setServerInfo: (update: (previous?: ServerInfoWithIcon) => ServerInfoWithIcon | undefined) => void;
|
|
17
|
+
addLog: AddLog;
|
|
18
|
+
}): Promise<string | null>;
|
|
19
|
+
/** Human-readable reason when MCP operations run before the client is usable. */
|
|
20
|
+
export declare function formatMcpNotReadyReason(state: string, hasClient: boolean): string;
|
|
21
|
+
type OAuthClientConfig = {
|
|
22
|
+
name?: string;
|
|
23
|
+
version?: string;
|
|
24
|
+
uri?: string;
|
|
25
|
+
logo_uri?: string;
|
|
26
|
+
};
|
|
27
|
+
export declare function deriveOAuthClientConfigFromClientInfo(clientInfo: {
|
|
28
|
+
name: string;
|
|
29
|
+
title?: string;
|
|
30
|
+
version: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
icons?: Array<{
|
|
33
|
+
src: string;
|
|
34
|
+
mimeType?: string;
|
|
35
|
+
sizes?: string[];
|
|
36
|
+
}>;
|
|
37
|
+
websiteUrl?: string;
|
|
38
|
+
}): OAuthClientConfig;
|
|
39
|
+
export declare function isOAuthDiscoveryFailure(error: Error | unknown): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Derive the companion OAuth proxy endpoint from an MCP proxy endpoint.
|
|
42
|
+
*
|
|
43
|
+
* The Inspector proxy convention is `/proxy` for MCP traffic and `/oauth` for
|
|
44
|
+
* OAuth metadata/token requests. An explicit OAuth URL always takes priority.
|
|
45
|
+
*/
|
|
46
|
+
export declare function deriveOAuthProxyUrl(gatewayUrl: string | undefined, explicitOAuthProxyUrl: string | undefined): string | undefined;
|
|
47
|
+
export declare function createBrowserOAuthProvider(params: {
|
|
48
|
+
effectiveOAuthUrl: string;
|
|
49
|
+
storageKeyPrefix: string;
|
|
50
|
+
oauthClientConfig: OAuthClientConfig;
|
|
51
|
+
callbackUrl: string;
|
|
52
|
+
preventAutoAuth: boolean;
|
|
53
|
+
useRedirectFlow: boolean;
|
|
54
|
+
/** MCP proxy URL used to derive the companion OAuth proxy when needed. */
|
|
55
|
+
gatewayUrl?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Explicit OAuth proxy base URL. Takes precedence over the URL derived from
|
|
58
|
+
* `gatewayUrl`. Lets consumers proxy OAuth traffic (CORS bypass) while
|
|
59
|
+
* keeping MCP traffic direct.
|
|
60
|
+
*/
|
|
61
|
+
oauthProxyUrl?: string;
|
|
62
|
+
onPopupWindow?: (url: string, features: string, window: globalThis.Window | null) => void;
|
|
63
|
+
/**
|
|
64
|
+
* Whether the provider should route OAuth requests through the derived
|
|
65
|
+
* OAuth proxy (to bypass CORS). The provider exposes this via its scoped
|
|
66
|
+
* `getProxyFetch()` — it never patches the global `fetch`.
|
|
67
|
+
*/
|
|
68
|
+
proxyOAuthRequests: boolean;
|
|
69
|
+
staticClientInfo?: OAuthClientInformation;
|
|
70
|
+
clientMetadataUrl?: string;
|
|
71
|
+
scope?: string;
|
|
72
|
+
}): {
|
|
73
|
+
provider: BrowserOAuthClientProvider;
|
|
74
|
+
oauthProxyUrl?: string;
|
|
75
|
+
};
|
|
76
|
+
type LogLevel = "debug" | "info" | "warn" | "error";
|
|
77
|
+
export declare function startConnectionHealthMonitoring(params: {
|
|
78
|
+
gatewayUrl?: string;
|
|
79
|
+
url?: string;
|
|
80
|
+
allHeaders?: Record<string, string>;
|
|
81
|
+
getAuthHeaders?: () => Promise<Record<string, string>>;
|
|
82
|
+
isMountedRef: {
|
|
83
|
+
current: boolean;
|
|
84
|
+
};
|
|
85
|
+
stateRef: {
|
|
86
|
+
current: string;
|
|
87
|
+
};
|
|
88
|
+
autoReconnectRef: {
|
|
89
|
+
current: boolean | number | Record<string, unknown>;
|
|
90
|
+
};
|
|
91
|
+
setState: (state: "discovering") => void;
|
|
92
|
+
addLog: (level: LogLevel, message: string, ...args: unknown[]) => void;
|
|
93
|
+
connect: () => void;
|
|
94
|
+
defaultReconnectDelay: number;
|
|
95
|
+
healthCheckIntervalMs?: number;
|
|
96
|
+
healthCheckTimeoutMs?: number;
|
|
97
|
+
}): () => void;
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=useMcp-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMcp-helpers.d.ts","sourceRoot":"","sources":["../../src/react/useMcp-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import type { CompleteRequestParams, CompleteResult, Prompt, Resource, ResourceTemplateType as ResourceTemplate, Tool } from "@modelcontextprotocol/client";
|
|
2
|
+
import { type Dispatch, type RefObject, type SetStateAction } from "react";
|
|
3
|
+
import type { MCPConnection } from "../core/session.js";
|
|
4
|
+
import type { UseMcpResult } from "./types.js";
|
|
5
|
+
type AddLog = (level: UseMcpResult["log"][number]["level"], message: string, ...args: unknown[]) => void;
|
|
6
|
+
type Params = {
|
|
7
|
+
stateRef: RefObject<UseMcpResult["state"]>;
|
|
8
|
+
connectionRef: RefObject<MCPConnection | null>;
|
|
9
|
+
hasClient: () => boolean;
|
|
10
|
+
isMounted: () => boolean;
|
|
11
|
+
setTools: Dispatch<SetStateAction<Tool[]>>;
|
|
12
|
+
setResources: Dispatch<SetStateAction<Resource[]>>;
|
|
13
|
+
setResourceTemplates: Dispatch<SetStateAction<ResourceTemplate[]>>;
|
|
14
|
+
setPrompts: Dispatch<SetStateAction<Prompt[]>>;
|
|
15
|
+
addLog: AddLog;
|
|
16
|
+
};
|
|
17
|
+
export declare function useMcpOperations(params: Params): {
|
|
18
|
+
callTool: (name: string, args?: Record<string, unknown>, options?: {
|
|
19
|
+
timeout?: number;
|
|
20
|
+
maxTotalTimeout?: number;
|
|
21
|
+
resetTimeoutOnProgress?: boolean;
|
|
22
|
+
signal?: AbortSignal;
|
|
23
|
+
}) => Promise<any>;
|
|
24
|
+
listResources: () => Promise<void>;
|
|
25
|
+
readResource: (uri: string) => Promise<{
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
contents: ({
|
|
28
|
+
uri: string;
|
|
29
|
+
text: string;
|
|
30
|
+
mimeType?: string | undefined;
|
|
31
|
+
_meta?: {
|
|
32
|
+
[x: string]: unknown;
|
|
33
|
+
} | undefined;
|
|
34
|
+
} | {
|
|
35
|
+
uri: string;
|
|
36
|
+
blob: string;
|
|
37
|
+
mimeType?: string | undefined;
|
|
38
|
+
_meta?: {
|
|
39
|
+
[x: string]: unknown;
|
|
40
|
+
} | undefined;
|
|
41
|
+
})[];
|
|
42
|
+
_meta?: {
|
|
43
|
+
[x: string]: unknown;
|
|
44
|
+
progressToken?: string | number | undefined;
|
|
45
|
+
"io.modelcontextprotocol/related-task"?: {
|
|
46
|
+
taskId: string;
|
|
47
|
+
} | undefined;
|
|
48
|
+
} | undefined;
|
|
49
|
+
}>;
|
|
50
|
+
listPrompts: () => Promise<void>;
|
|
51
|
+
refreshTools: () => Promise<void>;
|
|
52
|
+
refreshResources: () => Promise<void>;
|
|
53
|
+
refreshPrompts: () => Promise<void>;
|
|
54
|
+
refreshResourceTemplates: () => Promise<void>;
|
|
55
|
+
refreshAll: () => Promise<undefined>;
|
|
56
|
+
getPrompt: (name: string, args?: Record<string, unknown>) => Promise<{
|
|
57
|
+
[x: string]: unknown;
|
|
58
|
+
messages: {
|
|
59
|
+
role: "user" | "assistant";
|
|
60
|
+
content: {
|
|
61
|
+
type: "text";
|
|
62
|
+
text: string;
|
|
63
|
+
annotations?: {
|
|
64
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
65
|
+
priority?: number | undefined;
|
|
66
|
+
lastModified?: string | undefined;
|
|
67
|
+
} | undefined;
|
|
68
|
+
_meta?: {
|
|
69
|
+
[x: string]: unknown;
|
|
70
|
+
} | undefined;
|
|
71
|
+
} | {
|
|
72
|
+
type: "image";
|
|
73
|
+
data: string;
|
|
74
|
+
mimeType: string;
|
|
75
|
+
annotations?: {
|
|
76
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
77
|
+
priority?: number | undefined;
|
|
78
|
+
lastModified?: string | undefined;
|
|
79
|
+
} | undefined;
|
|
80
|
+
_meta?: {
|
|
81
|
+
[x: string]: unknown;
|
|
82
|
+
} | undefined;
|
|
83
|
+
} | {
|
|
84
|
+
type: "audio";
|
|
85
|
+
data: string;
|
|
86
|
+
mimeType: string;
|
|
87
|
+
annotations?: {
|
|
88
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
89
|
+
priority?: number | undefined;
|
|
90
|
+
lastModified?: string | undefined;
|
|
91
|
+
} | undefined;
|
|
92
|
+
_meta?: {
|
|
93
|
+
[x: string]: unknown;
|
|
94
|
+
} | undefined;
|
|
95
|
+
} | {
|
|
96
|
+
uri: string;
|
|
97
|
+
name: string;
|
|
98
|
+
type: "resource_link";
|
|
99
|
+
description?: string | undefined;
|
|
100
|
+
mimeType?: string | undefined;
|
|
101
|
+
size?: number | undefined;
|
|
102
|
+
annotations?: {
|
|
103
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
104
|
+
priority?: number | undefined;
|
|
105
|
+
lastModified?: string | undefined;
|
|
106
|
+
} | undefined;
|
|
107
|
+
_meta?: {
|
|
108
|
+
[x: string]: unknown;
|
|
109
|
+
} | undefined;
|
|
110
|
+
icons?: {
|
|
111
|
+
src: string;
|
|
112
|
+
mimeType?: string | undefined;
|
|
113
|
+
sizes?: string[] | undefined;
|
|
114
|
+
theme?: "light" | "dark" | undefined;
|
|
115
|
+
}[] | undefined;
|
|
116
|
+
title?: string | undefined;
|
|
117
|
+
} | {
|
|
118
|
+
type: "resource";
|
|
119
|
+
resource: {
|
|
120
|
+
uri: string;
|
|
121
|
+
text: string;
|
|
122
|
+
mimeType?: string | undefined;
|
|
123
|
+
_meta?: {
|
|
124
|
+
[x: string]: unknown;
|
|
125
|
+
} | undefined;
|
|
126
|
+
} | {
|
|
127
|
+
uri: string;
|
|
128
|
+
blob: string;
|
|
129
|
+
mimeType?: string | undefined;
|
|
130
|
+
_meta?: {
|
|
131
|
+
[x: string]: unknown;
|
|
132
|
+
} | undefined;
|
|
133
|
+
};
|
|
134
|
+
annotations?: {
|
|
135
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
136
|
+
priority?: number | undefined;
|
|
137
|
+
lastModified?: string | undefined;
|
|
138
|
+
} | undefined;
|
|
139
|
+
_meta?: {
|
|
140
|
+
[x: string]: unknown;
|
|
141
|
+
} | undefined;
|
|
142
|
+
};
|
|
143
|
+
}[];
|
|
144
|
+
_meta?: {
|
|
145
|
+
[x: string]: unknown;
|
|
146
|
+
progressToken?: string | number | undefined;
|
|
147
|
+
"io.modelcontextprotocol/related-task"?: {
|
|
148
|
+
taskId: string;
|
|
149
|
+
} | undefined;
|
|
150
|
+
} | undefined;
|
|
151
|
+
description?: string | undefined;
|
|
152
|
+
}>;
|
|
153
|
+
complete: (request: CompleteRequestParams) => Promise<CompleteResult>;
|
|
154
|
+
};
|
|
155
|
+
export {};
|
|
156
|
+
//# sourceMappingURL=useMcp-operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMcp-operations.d.ts","sourceRoot":"","sources":["../../src/react/useMcp-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,MAAM,EACN,QAAQ,EACR,oBAAoB,IAAI,gBAAgB,EACxC,IAAI,EACL,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,KAAK,MAAM,GAAG,CACZ,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAC3C,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,IAAI,CAAC;AAEV,KAAK,MAAM,GAAG;IACZ,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,aAAa,EAAE,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC/C,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACnD,oBAAoB,EAAE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACnE,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAmBF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM;;eAsJwsW,CAAC;uBAA6G,CAAC;8BAA+H,CAAC;cAAsE,CAAC;;;wBA7G7hX,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAkFL,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAQnC,qBAAqB,KAAG,OAAO,CAAC,cAAc,CAAC;EAkBlE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { UseMcpOptions, UseMcpResult } from "./types.js";
|
|
2
|
+
type UseMcpInternalOptions = UseMcpOptions & {
|
|
3
|
+
_initialServerInfo?: {
|
|
4
|
+
name?: string;
|
|
5
|
+
version?: string;
|
|
6
|
+
title?: string;
|
|
7
|
+
websiteUrl?: string;
|
|
8
|
+
icons?: Array<{
|
|
9
|
+
src: string;
|
|
10
|
+
mimeType?: string;
|
|
11
|
+
}>;
|
|
12
|
+
icon?: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* React hook for connecting to and interacting with MCP servers
|
|
17
|
+
*
|
|
18
|
+
* Provides a complete interface for MCP server connections including:
|
|
19
|
+
* - Automatic connection management with reconnection
|
|
20
|
+
* - OAuth authentication with automatic token refresh
|
|
21
|
+
* - Tool, resource, and prompt access
|
|
22
|
+
* - AI chat functionality with conversation memory
|
|
23
|
+
* - Streamable HTTP transport
|
|
24
|
+
*
|
|
25
|
+
* @param options - Configuration options for the MCP connection
|
|
26
|
+
* @returns MCP connection state and methods
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const mcp = useMcp({
|
|
31
|
+
* url: 'http://localhost:3000/mcp',
|
|
32
|
+
* headers: { Authorization: 'Bearer YOUR_API_KEY' }
|
|
33
|
+
* })
|
|
34
|
+
*
|
|
35
|
+
* // Wait for connection
|
|
36
|
+
* useEffect(() => {
|
|
37
|
+
* if (mcp.state === 'ready') {
|
|
38
|
+
* console.log('Connected!', mcp.tools)
|
|
39
|
+
* }
|
|
40
|
+
* }, [mcp.state])
|
|
41
|
+
*
|
|
42
|
+
* // Call a tool
|
|
43
|
+
* const result = await mcp.callTool('send-email', { to: 'user@example.com' })
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function useMcp(options: UseMcpInternalOptions): UseMcpResult;
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=useMcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMcp.d.ts","sourceRoot":"","sources":["../../src/react/useMcp.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAmC9D,KAAK,qBAAqB,GAAG,aAAa,GAAG;IAC3C,kBAAkB,CAAC,EAAE;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClD,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,YAAY,CA01DnE"}
|