mcpbox 0.1.0 → 0.1.1
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 +4 -1
- package/dist/assets.d.ts +1 -1
- package/dist/assets.js +1 -1
- package/dist/auth/oauth-utils.d.ts +0 -1
- package/dist/auth/oauth-utils.js +1 -2
- package/dist/config/loader.d.ts +3 -2
- package/dist/config/loader.js +24 -3
- package/dist/config/schema.d.ts +4 -0
- package/dist/index.js +6 -2
- package/dist/mcp/manager.js +2 -3
- package/dist/server.js +2 -10
- package/dist/storage/memory.d.ts +0 -1
- package/dist/storage/memory.js +0 -24
- package/dist/storage/types.d.ts +0 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/logo-dark.svg">
|
|
4
|
+
<img src="assets/logo.svg" width="128" alt="MCPBox">
|
|
5
|
+
</picture>
|
|
3
6
|
</p>
|
|
4
7
|
|
|
5
8
|
**MCPBox** is a lightweight gateway that exposes local stdio-based MCP (Model Context Protocol) servers via Streamable HTTP, enabling Claude and other AI agents to connect from anywhere.
|
package/dist/assets.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const LOGO_PNG_BASE64 = "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";
|
|
1
|
+
export declare const LOGO_PNG_BASE64 = "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";
|
package/dist/assets.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const LOGO_PNG_BASE64 = "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";
|
|
1
|
+
export const LOGO_PNG_BASE64 = "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";
|
|
@@ -10,7 +10,6 @@ export declare function hashSecret(secret: string): string;
|
|
|
10
10
|
export declare function verifyClientSecret(input: string, storedHash: string): boolean;
|
|
11
11
|
/**
|
|
12
12
|
* Check if a password string is a bcrypt hash.
|
|
13
|
-
* Bcrypt hashes start with $2a$ or $2b$ followed by cost factor.
|
|
14
13
|
*/
|
|
15
14
|
export declare function isBcryptHash(password: string): boolean;
|
|
16
15
|
/**
|
package/dist/auth/oauth-utils.js
CHANGED
|
@@ -16,10 +16,9 @@ export function verifyClientSecret(input, storedHash) {
|
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Check if a password string is a bcrypt hash.
|
|
19
|
-
* Bcrypt hashes start with $2a$ or $2b$ followed by cost factor.
|
|
20
19
|
*/
|
|
21
20
|
export function isBcryptHash(password) {
|
|
22
|
-
return /^\$2[
|
|
21
|
+
return /^\$2[aby]\$\d{2}\$/.test(password);
|
|
23
22
|
}
|
|
24
23
|
/**
|
|
25
24
|
* Verify a password against a stored value.
|
package/dist/config/loader.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type LoadConfigResult } from "./schema.js";
|
|
2
|
+
export type { LoadConfigResult } from "./schema.js";
|
|
2
3
|
export declare function resolveConfigPath(configPath?: string): string;
|
|
3
|
-
export declare function loadConfig(configPath: string):
|
|
4
|
+
export declare function loadConfig(configPath: string): LoadConfigResult;
|
package/dist/config/loader.js
CHANGED
|
@@ -103,16 +103,36 @@ function formatZodError(error) {
|
|
|
103
103
|
export function resolveConfigPath(configPath) {
|
|
104
104
|
return configPath ?? "mcpbox.json";
|
|
105
105
|
}
|
|
106
|
+
function checkConfig(config) {
|
|
107
|
+
const warnings = [];
|
|
108
|
+
if (!config.auth) {
|
|
109
|
+
warnings.push("No authentication configured");
|
|
110
|
+
}
|
|
111
|
+
if (config.mcps.length === 0) {
|
|
112
|
+
warnings.push("No MCPs configured");
|
|
113
|
+
}
|
|
114
|
+
if (config.storage && config.auth?.type !== "oauth") {
|
|
115
|
+
warnings.push("Storage config ignored: only used with OAuth authentication");
|
|
116
|
+
}
|
|
117
|
+
if (config.auth?.type === "oauth" && config.auth.users) {
|
|
118
|
+
for (const user of config.auth.users) {
|
|
119
|
+
if (!/^\$2[aby]\$\d{2}\$/.test(user.password)) {
|
|
120
|
+
warnings.push(`User "${user.username}": password is not hashed, consider using a bcrypt hash`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return warnings;
|
|
125
|
+
}
|
|
106
126
|
export function loadConfig(configPath) {
|
|
107
127
|
if (!existsSync(configPath)) {
|
|
108
|
-
|
|
109
|
-
return {
|
|
128
|
+
const config = {
|
|
110
129
|
server: { port: 8080 },
|
|
111
130
|
auth: undefined,
|
|
112
131
|
storage: undefined,
|
|
113
132
|
log: undefined,
|
|
114
133
|
mcps: [],
|
|
115
134
|
};
|
|
135
|
+
return { config, warnings: checkConfig(config) };
|
|
116
136
|
}
|
|
117
137
|
const content = readFileSync(configPath, "utf-8");
|
|
118
138
|
let parsed;
|
|
@@ -131,11 +151,12 @@ export function loadConfig(configPath) {
|
|
|
131
151
|
}
|
|
132
152
|
const raw = result.data;
|
|
133
153
|
const mcps = raw.mcpServers ? parseMcpServers(raw.mcpServers) : [];
|
|
134
|
-
|
|
154
|
+
const config = {
|
|
135
155
|
server: raw.server ?? { port: 8080 },
|
|
136
156
|
auth: raw.auth,
|
|
137
157
|
storage: raw.storage,
|
|
138
158
|
log: raw.log,
|
|
139
159
|
mcps,
|
|
140
160
|
};
|
|
161
|
+
return { config, warnings: checkConfig(config) };
|
|
141
162
|
}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -218,3 +218,7 @@ export type StorageConfig = z.infer<typeof StorageConfigSchema>;
|
|
|
218
218
|
export type RawConfig = z.infer<typeof RawConfigSchema>;
|
|
219
219
|
export type McpConfig = z.infer<typeof McpConfigSchema>;
|
|
220
220
|
export type Config = z.infer<typeof ConfigSchema>;
|
|
221
|
+
export interface LoadConfigResult {
|
|
222
|
+
config: Config;
|
|
223
|
+
warnings: string[];
|
|
224
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { loadConfig, resolveConfigPath } from "./config/loader.js";
|
|
2
|
+
import { loadConfig, resolveConfigPath, } from "./config/loader.js";
|
|
3
3
|
import { configureLogger, logger } from "./logger.js";
|
|
4
4
|
import { createServer } from "./server.js";
|
|
5
5
|
import { VERSION } from "./version.js";
|
|
@@ -51,8 +51,9 @@ if (args.version) {
|
|
|
51
51
|
}
|
|
52
52
|
const configPath = resolveConfigPath(args.config);
|
|
53
53
|
let config;
|
|
54
|
+
let warnings;
|
|
54
55
|
try {
|
|
55
|
-
config = loadConfig(configPath);
|
|
56
|
+
({ config, warnings } = loadConfig(configPath));
|
|
56
57
|
}
|
|
57
58
|
catch (error) {
|
|
58
59
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -66,6 +67,9 @@ logger.info({
|
|
|
66
67
|
mcps: config.mcps.map((m) => m.name),
|
|
67
68
|
auth: config.auth?.type ?? "none",
|
|
68
69
|
}, "Config loaded");
|
|
70
|
+
for (const warning of warnings) {
|
|
71
|
+
logger.warn(warning);
|
|
72
|
+
}
|
|
69
73
|
let closeServer;
|
|
70
74
|
let isShuttingDown = false;
|
|
71
75
|
async function shutdown(signal) {
|
package/dist/mcp/manager.js
CHANGED
|
@@ -16,7 +16,6 @@ export class McpManager {
|
|
|
16
16
|
}
|
|
17
17
|
async start(configs) {
|
|
18
18
|
if (configs.length === 0) {
|
|
19
|
-
logger.warn("No MCPs configured");
|
|
20
19
|
return;
|
|
21
20
|
}
|
|
22
21
|
//Can be disabled via internal env var for conformance test.
|
|
@@ -120,7 +119,7 @@ export class McpManager {
|
|
|
120
119
|
}
|
|
121
120
|
}
|
|
122
121
|
catch {
|
|
123
|
-
logger.
|
|
122
|
+
logger.debug({ mcp: config.name }, "Server doesn't support resources");
|
|
124
123
|
}
|
|
125
124
|
// Get prompts from this MCP (namespace them if multiple servers)
|
|
126
125
|
let prompts = [];
|
|
@@ -137,7 +136,7 @@ export class McpManager {
|
|
|
137
136
|
}
|
|
138
137
|
}
|
|
139
138
|
catch {
|
|
140
|
-
logger.
|
|
139
|
+
logger.debug({ mcp: config.name }, "Server doesn't support prompts");
|
|
141
140
|
}
|
|
142
141
|
this.mcps.set(config.name, {
|
|
143
142
|
name: config.name,
|
package/dist/server.js
CHANGED
|
@@ -38,10 +38,6 @@ export async function createServer(config) {
|
|
|
38
38
|
dynamicRegistration: auth.dynamic_registration,
|
|
39
39
|
}, store);
|
|
40
40
|
}
|
|
41
|
-
// Warn if storage is configured but not used
|
|
42
|
-
if (config.storage && auth?.type !== "oauth") {
|
|
43
|
-
logger.warn("Storage config ignored: only used with OAuth authentication");
|
|
44
|
-
}
|
|
45
41
|
const app = new Hono();
|
|
46
42
|
// Request logging middleware (applies to all routes)
|
|
47
43
|
app.use("*", async (c, next) => {
|
|
@@ -198,14 +194,10 @@ export async function createServer(config) {
|
|
|
198
194
|
port: config.server.port,
|
|
199
195
|
hostname: "0.0.0.0",
|
|
200
196
|
}, () => {
|
|
201
|
-
|
|
202
|
-
if (!auth) {
|
|
203
|
-
logger.warn("No authentication configured");
|
|
204
|
-
}
|
|
205
|
-
else if (auth.type === "apikey") {
|
|
197
|
+
if (auth?.type === "apikey") {
|
|
206
198
|
logger.info("Authentication: API key");
|
|
207
199
|
}
|
|
208
|
-
else if (auth
|
|
200
|
+
else if (auth?.type === "oauth") {
|
|
209
201
|
const userCount = auth.users?.length ?? 0;
|
|
210
202
|
const clientCount = auth.clients?.length ?? 0;
|
|
211
203
|
const dynamicReg = auth.dynamic_registration ? "enabled" : "disabled";
|
package/dist/storage/memory.d.ts
CHANGED
|
@@ -15,6 +15,5 @@ export declare class MemoryStore implements StateStore {
|
|
|
15
15
|
saveRefreshToken(token: StoredRefreshToken): void;
|
|
16
16
|
deleteRefreshToken(token: string): void;
|
|
17
17
|
rotateRefreshToken(oldTokenHash: string, newToken: StoredRefreshToken): void;
|
|
18
|
-
cleanupExpired(): void;
|
|
19
18
|
close(): void;
|
|
20
19
|
}
|
package/dist/storage/memory.js
CHANGED
|
@@ -57,30 +57,6 @@ export class MemoryStore {
|
|
|
57
57
|
this.refreshTokens.delete(oldTokenHash);
|
|
58
58
|
this.refreshTokens.set(newToken.token, newToken);
|
|
59
59
|
}
|
|
60
|
-
// Cleanup expired tokens
|
|
61
|
-
cleanupExpired() {
|
|
62
|
-
const now = Date.now();
|
|
63
|
-
let accessCount = 0;
|
|
64
|
-
let refreshCount = 0;
|
|
65
|
-
for (const [token, data] of this.accessTokens) {
|
|
66
|
-
if (data.expires_at < now) {
|
|
67
|
-
this.accessTokens.delete(token);
|
|
68
|
-
accessCount++;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
for (const [token, data] of this.refreshTokens) {
|
|
72
|
-
if (data.expires_at < now) {
|
|
73
|
-
this.refreshTokens.delete(token);
|
|
74
|
-
refreshCount++;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (accessCount > 0 || refreshCount > 0) {
|
|
78
|
-
logger.debug({
|
|
79
|
-
accessTokens: accessCount,
|
|
80
|
-
refreshTokens: refreshCount,
|
|
81
|
-
}, "Cleaned up expired tokens");
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
60
|
close() {
|
|
85
61
|
// Nothing to close for memory store
|
|
86
62
|
}
|
package/dist/storage/types.d.ts
CHANGED
|
@@ -41,6 +41,5 @@ export interface StateStore {
|
|
|
41
41
|
saveRefreshToken(token: StoredRefreshToken): void;
|
|
42
42
|
deleteRefreshToken(token: string): void;
|
|
43
43
|
rotateRefreshToken(oldTokenHash: string, newToken: StoredRefreshToken): void;
|
|
44
|
-
cleanupExpired(): void;
|
|
45
44
|
close(): void | Promise<void>;
|
|
46
45
|
}
|