@journal.one/gateway 0.1.0 → 0.2.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 +51 -0
- package/dist/config.d.ts +154 -21
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +67 -20
- package/dist/config.js.map +1 -1
- package/dist/mcp-client.d.ts +1 -0
- package/dist/mcp-client.d.ts.map +1 -1
- package/dist/mcp-client.js +25 -12
- package/dist/mcp-client.js.map +1 -1
- package/package.json +3 -2
package/README.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# @journal.one/gateway
|
|
2
|
+
|
|
3
|
+
The Journal Gateway connects MCP servers and skills running in your network to [Journal](https://journal.one). It connects outbound — your credentials never leave your infrastructure and you don't need to open any inbound ports.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @journal.one/gateway
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick start
|
|
12
|
+
|
|
13
|
+
Create a config file (`gateway.json`):
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"mcpServers": [
|
|
18
|
+
{
|
|
19
|
+
"id": "postgresql",
|
|
20
|
+
"command": "npx",
|
|
21
|
+
"args": ["-y", "@modelcontextprotocol/server-postgres"],
|
|
22
|
+
"name": "PostgreSQL",
|
|
23
|
+
"envVars": { "DATABASE_URL": "DATABASE_URL" }
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Run the gateway:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
JOURNAL_GATEWAY_TOKEN=gw_your_token journal-gateway --config gateway.json
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The gateway authenticates, announces its tools, and waits for requests from Journal. MCP servers are started on demand and their tools are made available automatically.
|
|
36
|
+
|
|
37
|
+
## Transports
|
|
38
|
+
|
|
39
|
+
MCP servers can connect via three transports:
|
|
40
|
+
|
|
41
|
+
- **`stdio`** (default) — local subprocess (`command` + `args`)
|
|
42
|
+
- **`sse`** — legacy SSE-based remote servers
|
|
43
|
+
- **`streamable-http`** — current MCP spec recommendation for remote servers
|
|
44
|
+
|
|
45
|
+
## Full documentation
|
|
46
|
+
|
|
47
|
+
See the [root README](https://github.com/journal-ai/journal-edge#readme) for the complete configuration reference, environment variables, protocol details, and Docker usage.
|
|
48
|
+
|
|
49
|
+
## License
|
|
50
|
+
|
|
51
|
+
MIT
|
package/dist/config.d.ts
CHANGED
|
@@ -1,64 +1,197 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { GatewayConfig } from "@journal.one/gateway-protocol";
|
|
3
|
-
|
|
3
|
+
declare const StdioServerSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodString;
|
|
5
|
+
name: z.ZodOptional<z.ZodString>;
|
|
6
|
+
description: z.ZodDefault<z.ZodString>;
|
|
7
|
+
} & {
|
|
8
|
+
transport: z.ZodLiteral<"stdio">;
|
|
9
|
+
command: z.ZodString;
|
|
10
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
11
|
+
envVars: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
4
13
|
id: string;
|
|
5
|
-
type: "mcp_server";
|
|
6
|
-
name: string;
|
|
7
14
|
description: string;
|
|
15
|
+
transport: "stdio";
|
|
8
16
|
command: string;
|
|
9
17
|
args: string[];
|
|
10
18
|
envVars: Record<string, string>;
|
|
11
|
-
|
|
19
|
+
name?: string | undefined;
|
|
20
|
+
}, {
|
|
21
|
+
id: string;
|
|
22
|
+
transport: "stdio";
|
|
23
|
+
command: string;
|
|
24
|
+
name?: string | undefined;
|
|
25
|
+
description?: string | undefined;
|
|
26
|
+
args?: string[] | undefined;
|
|
27
|
+
envVars?: Record<string, string> | undefined;
|
|
28
|
+
}>;
|
|
29
|
+
declare const SseServerSchema: z.ZodObject<{
|
|
30
|
+
id: z.ZodString;
|
|
31
|
+
name: z.ZodOptional<z.ZodString>;
|
|
32
|
+
description: z.ZodDefault<z.ZodString>;
|
|
33
|
+
} & {
|
|
34
|
+
transport: z.ZodLiteral<"sse">;
|
|
35
|
+
url: z.ZodString;
|
|
36
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
37
|
+
}, "strip", z.ZodTypeAny, {
|
|
38
|
+
id: string;
|
|
39
|
+
description: string;
|
|
40
|
+
transport: "sse";
|
|
41
|
+
url: string;
|
|
42
|
+
headers: Record<string, string>;
|
|
43
|
+
name?: string | undefined;
|
|
44
|
+
}, {
|
|
45
|
+
id: string;
|
|
46
|
+
transport: "sse";
|
|
47
|
+
url: string;
|
|
48
|
+
name?: string | undefined;
|
|
49
|
+
description?: string | undefined;
|
|
50
|
+
headers?: Record<string, string> | undefined;
|
|
51
|
+
}>;
|
|
52
|
+
declare const StreamableHttpServerSchema: z.ZodObject<{
|
|
53
|
+
id: z.ZodString;
|
|
54
|
+
name: z.ZodOptional<z.ZodString>;
|
|
55
|
+
description: z.ZodDefault<z.ZodString>;
|
|
56
|
+
} & {
|
|
57
|
+
transport: z.ZodLiteral<"streamable-http">;
|
|
58
|
+
url: z.ZodString;
|
|
59
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
id: string;
|
|
62
|
+
description: string;
|
|
63
|
+
transport: "streamable-http";
|
|
64
|
+
url: string;
|
|
65
|
+
headers: Record<string, string>;
|
|
66
|
+
name?: string | undefined;
|
|
67
|
+
}, {
|
|
68
|
+
id: string;
|
|
69
|
+
transport: "streamable-http";
|
|
70
|
+
url: string;
|
|
71
|
+
name?: string | undefined;
|
|
72
|
+
description?: string | undefined;
|
|
73
|
+
headers?: Record<string, string> | undefined;
|
|
74
|
+
}>;
|
|
75
|
+
export type StdioServerConfig = z.infer<typeof StdioServerSchema> & {
|
|
76
|
+
type: "mcp_server";
|
|
77
|
+
name: string;
|
|
78
|
+
};
|
|
79
|
+
export type SseServerConfig = z.infer<typeof SseServerSchema> & {
|
|
80
|
+
type: "mcp_server";
|
|
81
|
+
name: string;
|
|
82
|
+
};
|
|
83
|
+
export type StreamableHttpServerConfig = z.infer<typeof StreamableHttpServerSchema> & {
|
|
84
|
+
type: "mcp_server";
|
|
85
|
+
name: string;
|
|
86
|
+
};
|
|
87
|
+
export type McpServerConfig = StdioServerConfig | SseServerConfig | StreamableHttpServerConfig;
|
|
12
88
|
export type RuntimeConfig = GatewayConfig & {
|
|
13
89
|
mcpServers: McpServerConfig[];
|
|
14
90
|
mcpEnvVars: Map<string, Record<string, string>>;
|
|
15
91
|
skillsDir: string | null;
|
|
16
92
|
};
|
|
17
93
|
export declare const GatewayConfigFileSchema: z.ZodObject<{
|
|
18
|
-
mcpServers: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
94
|
+
mcpServers: z.ZodPipeline<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodUnknown, "many">>, unknown[], unknown[] | undefined>, z.ZodArray<z.ZodDiscriminatedUnion<"transport", [z.ZodObject<{
|
|
19
95
|
id: z.ZodString;
|
|
20
|
-
command: z.ZodString;
|
|
21
|
-
args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
22
96
|
name: z.ZodOptional<z.ZodString>;
|
|
23
97
|
description: z.ZodDefault<z.ZodString>;
|
|
98
|
+
} & {
|
|
99
|
+
transport: z.ZodLiteral<"stdio">;
|
|
100
|
+
command: z.ZodString;
|
|
101
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
24
102
|
envVars: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
25
103
|
}, "strip", z.ZodTypeAny, {
|
|
26
104
|
id: string;
|
|
105
|
+
description: string;
|
|
106
|
+
transport: "stdio";
|
|
27
107
|
command: string;
|
|
28
108
|
args: string[];
|
|
29
|
-
description: string;
|
|
30
109
|
envVars: Record<string, string>;
|
|
31
110
|
name?: string | undefined;
|
|
32
111
|
}, {
|
|
33
112
|
id: string;
|
|
113
|
+
transport: "stdio";
|
|
34
114
|
command: string;
|
|
35
|
-
args?: string[] | undefined;
|
|
36
115
|
name?: string | undefined;
|
|
37
116
|
description?: string | undefined;
|
|
117
|
+
args?: string[] | undefined;
|
|
38
118
|
envVars?: Record<string, string> | undefined;
|
|
39
|
-
}>,
|
|
119
|
+
}>, z.ZodObject<{
|
|
120
|
+
id: z.ZodString;
|
|
121
|
+
name: z.ZodOptional<z.ZodString>;
|
|
122
|
+
description: z.ZodDefault<z.ZodString>;
|
|
123
|
+
} & {
|
|
124
|
+
transport: z.ZodLiteral<"sse">;
|
|
125
|
+
url: z.ZodString;
|
|
126
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
127
|
+
}, "strip", z.ZodTypeAny, {
|
|
128
|
+
id: string;
|
|
129
|
+
description: string;
|
|
130
|
+
transport: "sse";
|
|
131
|
+
url: string;
|
|
132
|
+
headers: Record<string, string>;
|
|
133
|
+
name?: string | undefined;
|
|
134
|
+
}, {
|
|
135
|
+
id: string;
|
|
136
|
+
transport: "sse";
|
|
137
|
+
url: string;
|
|
138
|
+
name?: string | undefined;
|
|
139
|
+
description?: string | undefined;
|
|
140
|
+
headers?: Record<string, string> | undefined;
|
|
141
|
+
}>, z.ZodObject<{
|
|
142
|
+
id: z.ZodString;
|
|
143
|
+
name: z.ZodOptional<z.ZodString>;
|
|
144
|
+
description: z.ZodDefault<z.ZodString>;
|
|
145
|
+
} & {
|
|
146
|
+
transport: z.ZodLiteral<"streamable-http">;
|
|
147
|
+
url: z.ZodString;
|
|
148
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
149
|
+
}, "strip", z.ZodTypeAny, {
|
|
150
|
+
id: string;
|
|
151
|
+
description: string;
|
|
152
|
+
transport: "streamable-http";
|
|
153
|
+
url: string;
|
|
154
|
+
headers: Record<string, string>;
|
|
155
|
+
name?: string | undefined;
|
|
156
|
+
}, {
|
|
157
|
+
id: string;
|
|
158
|
+
transport: "streamable-http";
|
|
159
|
+
url: string;
|
|
160
|
+
name?: string | undefined;
|
|
161
|
+
description?: string | undefined;
|
|
162
|
+
headers?: Record<string, string> | undefined;
|
|
163
|
+
}>]>, "many">>;
|
|
40
164
|
skillsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
41
165
|
}, "strip", z.ZodTypeAny, {
|
|
42
|
-
mcpServers: {
|
|
166
|
+
mcpServers: ({
|
|
43
167
|
id: string;
|
|
168
|
+
description: string;
|
|
169
|
+
transport: "stdio";
|
|
44
170
|
command: string;
|
|
45
171
|
args: string[];
|
|
46
|
-
description: string;
|
|
47
172
|
envVars: Record<string, string>;
|
|
48
173
|
name?: string | undefined;
|
|
49
|
-
}
|
|
50
|
-
skillsDir: string | null;
|
|
51
|
-
}, {
|
|
52
|
-
mcpServers?: {
|
|
174
|
+
} | {
|
|
53
175
|
id: string;
|
|
54
|
-
|
|
55
|
-
|
|
176
|
+
description: string;
|
|
177
|
+
transport: "sse";
|
|
178
|
+
url: string;
|
|
179
|
+
headers: Record<string, string>;
|
|
56
180
|
name?: string | undefined;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
181
|
+
} | {
|
|
182
|
+
id: string;
|
|
183
|
+
description: string;
|
|
184
|
+
transport: "streamable-http";
|
|
185
|
+
url: string;
|
|
186
|
+
headers: Record<string, string>;
|
|
187
|
+
name?: string | undefined;
|
|
188
|
+
})[];
|
|
189
|
+
skillsDir: string | null;
|
|
190
|
+
}, {
|
|
191
|
+
mcpServers?: unknown[] | undefined;
|
|
60
192
|
skillsDir?: string | null | undefined;
|
|
61
193
|
}>;
|
|
62
194
|
export type GatewayConfigFile = z.infer<typeof GatewayConfigFileSchema>;
|
|
63
195
|
export declare function parseConfig(env?: Record<string, string | undefined>, argv?: string[]): RuntimeConfig;
|
|
196
|
+
export {};
|
|
64
197
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAUnE,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;EAKrB,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;EAInB,CAAC;AAEH,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;EAI9B,CAAC;AAUH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GAAG;IAClE,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,GAAG;IAC9D,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,eAAe,GACf,0BAA0B,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AA4BF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAwBxE,wBAAgB,WAAW,CACzB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,IAAI,GAAE,MAAM,EAAiB,GAC5B,aAAa,CAoFf"}
|
package/dist/config.js
CHANGED
|
@@ -1,20 +1,58 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
url: z.string().url(),
|
|
6
|
-
logLevel: z.enum(["debug", "info", "warn", "error"]),
|
|
7
|
-
});
|
|
8
|
-
const McpServerConfigSchema = z.object({
|
|
3
|
+
// --- Discriminated union for MCP server configs ---
|
|
4
|
+
const McpServerBaseSchema = z.object({
|
|
9
5
|
id: z.string().min(1, "Each MCP server must have an id"),
|
|
10
|
-
command: z.string().min(1, "Each MCP server must have a command"),
|
|
11
|
-
args: z.array(z.string()).default([]),
|
|
12
6
|
name: z.string().optional(),
|
|
13
7
|
description: z.string().default(""),
|
|
8
|
+
});
|
|
9
|
+
const StdioServerSchema = McpServerBaseSchema.extend({
|
|
10
|
+
transport: z.literal("stdio"),
|
|
11
|
+
command: z.string().min(1, "stdio transport requires a command"),
|
|
12
|
+
args: z.array(z.string()).default([]),
|
|
14
13
|
envVars: z.record(z.string()).default({}),
|
|
15
14
|
});
|
|
15
|
+
const SseServerSchema = McpServerBaseSchema.extend({
|
|
16
|
+
transport: z.literal("sse"),
|
|
17
|
+
url: z.string().url("sse transport requires a valid url"),
|
|
18
|
+
headers: z.record(z.string()).default({}),
|
|
19
|
+
});
|
|
20
|
+
const StreamableHttpServerSchema = McpServerBaseSchema.extend({
|
|
21
|
+
transport: z.literal("streamable-http"),
|
|
22
|
+
url: z.string().url("streamable-http transport requires a valid url"),
|
|
23
|
+
headers: z.record(z.string()).default({}),
|
|
24
|
+
});
|
|
25
|
+
const McpServerConfigSchema = z.discriminatedUnion("transport", [
|
|
26
|
+
StdioServerSchema,
|
|
27
|
+
SseServerSchema,
|
|
28
|
+
StreamableHttpServerSchema,
|
|
29
|
+
]);
|
|
30
|
+
const OperationalSchema = z.object({
|
|
31
|
+
token: z.string().min(1, "JOURNAL_GATEWAY_TOKEN is required"),
|
|
32
|
+
url: z.string().url(),
|
|
33
|
+
logLevel: z.enum(["debug", "info", "warn", "error"]),
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Backward compat: inject `transport: "stdio"` into objects that have
|
|
37
|
+
* `command` but no `transport` field.
|
|
38
|
+
*/
|
|
39
|
+
function preprocessMcpServers(servers) {
|
|
40
|
+
return servers.map((s) => {
|
|
41
|
+
if (typeof s === "object" &&
|
|
42
|
+
s !== null &&
|
|
43
|
+
"command" in s &&
|
|
44
|
+
!("transport" in s)) {
|
|
45
|
+
return { ...s, transport: "stdio" };
|
|
46
|
+
}
|
|
47
|
+
return s;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
16
50
|
export const GatewayConfigFileSchema = z.object({
|
|
17
|
-
mcpServers: z
|
|
51
|
+
mcpServers: z
|
|
52
|
+
.array(z.unknown())
|
|
53
|
+
.default([])
|
|
54
|
+
.transform((servers) => preprocessMcpServers(servers))
|
|
55
|
+
.pipe(z.array(McpServerConfigSchema)),
|
|
18
56
|
skillsDir: z.string().nullable().default(null),
|
|
19
57
|
});
|
|
20
58
|
function parseCliConfigArg(argv) {
|
|
@@ -74,26 +112,35 @@ export function parseConfig(env = process.env, argv = process.argv) {
|
|
|
74
112
|
if (configFile.mcpServers.length === 0 && !configFile.skillsDir) {
|
|
75
113
|
console.warn("Warning: no mcpServers or skillsDir configured. The gateway will connect but have no tools or skills to offer.");
|
|
76
114
|
}
|
|
77
|
-
// Build McpServerConfig[] and resolve envVars
|
|
115
|
+
// Build McpServerConfig[] and resolve envVars / headers
|
|
78
116
|
const mcpServers = [];
|
|
79
117
|
const mcpEnvVars = new Map();
|
|
80
118
|
for (const server of configFile.mcpServers) {
|
|
81
119
|
const config = {
|
|
82
|
-
|
|
120
|
+
...server,
|
|
83
121
|
type: "mcp_server",
|
|
84
122
|
name: server.name ?? server.id,
|
|
85
|
-
description: server.description,
|
|
86
|
-
command: server.command,
|
|
87
|
-
args: server.args,
|
|
88
|
-
envVars: server.envVars,
|
|
89
123
|
};
|
|
90
124
|
const resolvedEnv = {};
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
125
|
+
if (config.transport === "stdio") {
|
|
126
|
+
// Resolve envVars mapping: { hostVar: serverVar }
|
|
127
|
+
for (const [hostVar, serverVar] of Object.entries(config.envVars)) {
|
|
128
|
+
const value = env[hostVar];
|
|
129
|
+
if (!value) {
|
|
130
|
+
throw new Error(`MCP server "${config.id}" requires environment variable ${hostVar}`);
|
|
131
|
+
}
|
|
132
|
+
resolvedEnv[serverVar] = value;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
// SSE / streamable-http: resolve headers mapping { headerName: envVarName }
|
|
137
|
+
for (const [headerName, envVarName] of Object.entries(config.headers)) {
|
|
138
|
+
const value = env[envVarName];
|
|
139
|
+
if (!value) {
|
|
140
|
+
throw new Error(`MCP server "${config.id}" requires environment variable ${envVarName} for header "${headerName}"`);
|
|
141
|
+
}
|
|
142
|
+
resolvedEnv[headerName] = value;
|
|
95
143
|
}
|
|
96
|
-
resolvedEnv[serverVar] = value;
|
|
97
144
|
}
|
|
98
145
|
mcpServers.push(config);
|
|
99
146
|
mcpEnvVars.set(config.id, resolvedEnv);
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-client.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare class McpClient extends EventEmitter<McpClientEvents> {
|
|
|
14
14
|
private transport;
|
|
15
15
|
private running;
|
|
16
16
|
constructor(definition: McpServerConfig, env: Record<string, string>, logger: Logger);
|
|
17
|
+
private createTransport;
|
|
17
18
|
start(): Promise<void>;
|
|
18
19
|
listTools(): Promise<ToolDefinition[]>;
|
|
19
20
|
callTool(name: string, args: Record<string, unknown>): Promise<ToolResult>;
|
package/dist/mcp-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAgB,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtB,aAAa,EAAE,EAAE,CAAC;CACnB;AAED,qBAAa,SAAU,SAAQ,YAAY,CAAC,eAAe,CAAC;IAMxD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,MAAM;IAPhB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,OAAO,CAAS;gBAGd,UAAU,EAAE,eAAe,EAC3B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,MAAM,EAAE,MAAM;IAKxB,OAAO,CAAC,eAAe;IAsBjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4CtB,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAWtC,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC;IAwBhB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,SAAS,IAAI,OAAO;IAIpB,IAAI,aAAa,IAAI,MAAM,CAE1B;CACF"}
|
package/dist/mcp-client.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
2
2
|
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
3
|
+
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
|
|
4
|
+
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
|
|
3
5
|
import { ToolListChangedNotificationSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
4
6
|
import { VERSION } from "./version.js";
|
|
5
7
|
import { EventEmitter } from "node:events";
|
|
@@ -16,21 +18,32 @@ export class McpClient extends EventEmitter {
|
|
|
16
18
|
this.env = env;
|
|
17
19
|
this.logger = logger;
|
|
18
20
|
}
|
|
21
|
+
createTransport() {
|
|
22
|
+
switch (this.definition.transport) {
|
|
23
|
+
case "stdio":
|
|
24
|
+
return new StdioClientTransport({
|
|
25
|
+
command: this.definition.command,
|
|
26
|
+
args: this.definition.args,
|
|
27
|
+
env: { ...process.env, ...this.env },
|
|
28
|
+
});
|
|
29
|
+
case "sse":
|
|
30
|
+
return new SSEClientTransport(new URL(this.definition.url), {
|
|
31
|
+
requestInit: { headers: this.env },
|
|
32
|
+
});
|
|
33
|
+
case "streamable-http":
|
|
34
|
+
return new StreamableHTTPClientTransport(new URL(this.definition.url), { requestInit: { headers: this.env } });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
19
37
|
async start() {
|
|
20
|
-
this.logger.info(`Starting MCP
|
|
21
|
-
command: this.definition.command,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.transport = new StdioClientTransport({
|
|
25
|
-
command: this.definition.command,
|
|
26
|
-
args: this.definition.args,
|
|
27
|
-
env: { ...process.env, ...this.env },
|
|
28
|
-
});
|
|
38
|
+
this.logger.info(`Starting MCP ${this.definition.transport} transport for integration "${this.definition.id}"`, this.definition.transport === "stdio"
|
|
39
|
+
? { command: this.definition.command, args: this.definition.args }
|
|
40
|
+
: { url: this.definition.url });
|
|
41
|
+
this.transport = this.createTransport();
|
|
29
42
|
this.client = new Client({ name: `journal-gateway/${this.definition.id}`, version: VERSION }, { capabilities: {} });
|
|
30
43
|
this.transport.onclose = () => {
|
|
31
44
|
if (this.running) {
|
|
32
45
|
this.running = false;
|
|
33
|
-
const err = new Error(`MCP
|
|
46
|
+
const err = new Error(`MCP ${this.definition.transport} transport for integration "${this.definition.id}" closed unexpectedly`);
|
|
34
47
|
this.logger.error(err.message);
|
|
35
48
|
this.emit("crash", err);
|
|
36
49
|
}
|
|
@@ -41,7 +54,7 @@ export class McpClient extends EventEmitter {
|
|
|
41
54
|
this.logger.info(`MCP server "${this.definition.id}" reported tools changed`);
|
|
42
55
|
this.emit("tools_changed");
|
|
43
56
|
});
|
|
44
|
-
this.logger.info(`MCP
|
|
57
|
+
this.logger.info(`MCP ${this.definition.transport} transport for integration "${this.definition.id}" started successfully`);
|
|
45
58
|
}
|
|
46
59
|
async listTools() {
|
|
47
60
|
if (!this.client)
|
|
@@ -79,7 +92,7 @@ export class McpClient extends EventEmitter {
|
|
|
79
92
|
this.transport = null;
|
|
80
93
|
}
|
|
81
94
|
this.client = null;
|
|
82
|
-
this.logger.info(`MCP
|
|
95
|
+
this.logger.info(`MCP ${this.definition.transport} transport for integration "${this.definition.id}" stopped`);
|
|
83
96
|
}
|
|
84
97
|
isRunning() {
|
|
85
98
|
return this.running;
|
package/dist/mcp-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@journal.one/gateway",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"license": "MIT",
|
|
4
5
|
"type": "module",
|
|
5
6
|
"main": "./dist/main.js",
|
|
6
7
|
"types": "./dist/main.d.ts",
|
|
@@ -23,7 +24,7 @@
|
|
|
23
24
|
"@modelcontextprotocol/sdk": "^1.12",
|
|
24
25
|
"ws": "^8",
|
|
25
26
|
"zod": "^3.24",
|
|
26
|
-
"@journal.one/gateway-protocol": "0.
|
|
27
|
+
"@journal.one/gateway-protocol": "0.2.0"
|
|
27
28
|
},
|
|
28
29
|
"devDependencies": {
|
|
29
30
|
"@types/node": "^22",
|