hpmcp 0.0.3 → 0.0.4
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/dist/mcp.js +3 -5
- package/dist/mcp.js.map +1 -1
- package/dist/remote.d.ts +31 -4
- package/dist/remote.js +55 -12
- package/dist/remote.js.map +1 -1
- package/package.json +1 -1
package/dist/mcp.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InitializeRequestSchema, ListToolsRequestSchema, CallToolRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import { getClient } from "./remote.js";
|
|
3
|
-
const TIMEOUT_MS =
|
|
3
|
+
const TIMEOUT_MS = 10000;
|
|
4
4
|
function withTimeout(promise, ms = TIMEOUT_MS) {
|
|
5
5
|
return Promise.race([
|
|
6
6
|
promise,
|
|
@@ -15,12 +15,10 @@ export function registerHandlers(server, cache) {
|
|
|
15
15
|
const c = getClient();
|
|
16
16
|
if (c) {
|
|
17
17
|
try {
|
|
18
|
-
const caps = withTimeout(Promise.resolve(c.getServerCapabilities()));
|
|
19
|
-
const ver = withTimeout(Promise.resolve(c.getServerVersion()));
|
|
20
18
|
const result = {
|
|
21
19
|
protocolVersion: "2024-11-05",
|
|
22
|
-
capabilities: (
|
|
23
|
-
serverInfo: (
|
|
20
|
+
capabilities: c.getServerCapabilities() ?? {},
|
|
21
|
+
serverInfo: c.getServerVersion() ?? { name: "hpmcp", version: "0.0.1" },
|
|
24
22
|
};
|
|
25
23
|
await cache.set(["init"], result);
|
|
26
24
|
return result;
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/remote.d.ts
CHANGED
|
@@ -1,4 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export interface McpResult {
|
|
2
|
+
jsonrpc: "2.0";
|
|
3
|
+
id?: number | string | null;
|
|
4
|
+
result?: any;
|
|
5
|
+
error?: {
|
|
6
|
+
code: number;
|
|
7
|
+
message: string;
|
|
8
|
+
data?: any;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export declare class McpClient {
|
|
12
|
+
private url;
|
|
13
|
+
private token;
|
|
14
|
+
private id;
|
|
15
|
+
private _capabilities;
|
|
16
|
+
private _serverInfo;
|
|
17
|
+
constructor(url: string, token: string);
|
|
18
|
+
private request;
|
|
19
|
+
connect(): Promise<void>;
|
|
20
|
+
getServerCapabilities(): any;
|
|
21
|
+
getServerVersion(): any;
|
|
22
|
+
listTools(): Promise<{
|
|
23
|
+
tools: any[];
|
|
24
|
+
}>;
|
|
25
|
+
callTool(params: {
|
|
26
|
+
name: string;
|
|
27
|
+
arguments?: any;
|
|
28
|
+
}): Promise<any>;
|
|
29
|
+
}
|
|
30
|
+
export declare function connect(url: string, token: string): Promise<McpClient>;
|
|
31
|
+
export declare function getClient(): McpClient | null;
|
package/dist/remote.js
CHANGED
|
@@ -1,21 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export class McpClient {
|
|
2
|
+
url;
|
|
3
|
+
token;
|
|
4
|
+
id = 0;
|
|
5
|
+
_capabilities = null;
|
|
6
|
+
_serverInfo = null;
|
|
7
|
+
constructor(url, token) {
|
|
8
|
+
this.url = url;
|
|
9
|
+
this.token = token;
|
|
10
|
+
}
|
|
11
|
+
async request(method, params) {
|
|
12
|
+
const id = ++this.id;
|
|
13
|
+
const body = JSON.stringify({ jsonrpc: "2.0", id, method, params });
|
|
14
|
+
const res = await fetch(this.url, {
|
|
15
|
+
method: "POST",
|
|
16
|
+
headers: {
|
|
17
|
+
"content-type": "application/json",
|
|
18
|
+
"x-heroui-personal-token": this.token,
|
|
19
|
+
},
|
|
20
|
+
body,
|
|
21
|
+
});
|
|
22
|
+
const text = await res.text();
|
|
23
|
+
// Response is SSE format: "event: message\ndata: {...}\n\n"
|
|
24
|
+
const match = text.match(/^data:\s*(.+)$/m);
|
|
25
|
+
if (!match)
|
|
26
|
+
throw new Error(`Unexpected response: ${text.slice(0, 200)}`);
|
|
27
|
+
const msg = JSON.parse(match[1]);
|
|
28
|
+
if (msg.error)
|
|
29
|
+
throw new Error(`MCP error ${msg.error.code}: ${msg.error.message}`);
|
|
30
|
+
return msg.result;
|
|
31
|
+
}
|
|
32
|
+
async connect() {
|
|
33
|
+
const result = await this.request("initialize", {
|
|
34
|
+
protocolVersion: "2024-11-05",
|
|
35
|
+
capabilities: {},
|
|
36
|
+
clientInfo: { name: "hpmcp", version: "0.0.1" },
|
|
37
|
+
});
|
|
38
|
+
this._capabilities = result.capabilities;
|
|
39
|
+
this._serverInfo = result.serverInfo;
|
|
40
|
+
}
|
|
41
|
+
getServerCapabilities() {
|
|
42
|
+
return this._capabilities;
|
|
43
|
+
}
|
|
44
|
+
getServerVersion() {
|
|
45
|
+
return this._serverInfo;
|
|
46
|
+
}
|
|
47
|
+
async listTools() {
|
|
48
|
+
return this.request("tools/list", {});
|
|
49
|
+
}
|
|
50
|
+
async callTool(params) {
|
|
51
|
+
return this.request("tools/call", params);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
3
54
|
let client = null;
|
|
4
55
|
export async function connect(url, token) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
headers: { "x-heroui-personal-token": token },
|
|
8
|
-
},
|
|
9
|
-
});
|
|
10
|
-
client = new Client({ name: "hpmcp", version: "0.0.1" }, { capabilities: {} });
|
|
11
|
-
await client.connect(transport);
|
|
56
|
+
client = new McpClient(url, token);
|
|
57
|
+
await client.connect();
|
|
12
58
|
console.error(`[hpmcp] connected to ${url}`);
|
|
13
59
|
return client;
|
|
14
60
|
}
|
|
15
61
|
export function getClient() {
|
|
16
62
|
return client;
|
|
17
63
|
}
|
|
18
|
-
export function isConnected() {
|
|
19
|
-
return client != null;
|
|
20
|
-
}
|
|
21
64
|
//# sourceMappingURL=remote.js.map
|
package/dist/remote.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,SAAS;IAMV;IACA;IANF,EAAE,GAAG,CAAC,CAAC;IACP,aAAa,GAAQ,IAAI,CAAC;IAC1B,WAAW,GAAQ,IAAI,CAAC;IAEhC,YACU,GAAW,EACX,KAAa;QADb,QAAG,GAAH,GAAG,CAAQ;QACX,UAAK,GAAL,KAAK,CAAQ;IACpB,CAAC;IAEI,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,MAAY;QAChD,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEpE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,yBAAyB,EAAE,IAAI,CAAC,KAAK;aACtC;YACD,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAE9B,4DAA4D;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAE1E,MAAM,GAAG,GAAc,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,GAAG,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YAC9C,eAAe,EAAE,YAAY;YAC7B,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;SAChD,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAyC;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,IAAI,MAAM,GAAqB,IAAI,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,KAAa;IACtD,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACvB,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC"}
|