agent-discover 1.0.5 → 1.0.7
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/CHANGELOG.md +2 -2
- package/README.md +58 -39
- package/dist/domain/marketplace.d.ts.map +1 -1
- package/dist/domain/marketplace.js +1 -0
- package/dist/domain/marketplace.js.map +1 -1
- package/dist/domain/proxy.d.ts +5 -1
- package/dist/domain/proxy.d.ts.map +1 -1
- package/dist/domain/proxy.js +50 -14
- package/dist/domain/proxy.js.map +1 -1
- package/dist/domain/registry.d.ts +2 -2
- package/dist/domain/registry.d.ts.map +1 -1
- package/dist/domain/registry.js +4 -23
- package/dist/domain/registry.js.map +1 -1
- package/dist/lib.d.ts +1 -1
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js.map +1 -1
- package/dist/storage/database.js +7 -1
- package/dist/storage/database.js.map +1 -1
- package/dist/transport/mcp-handlers.d.ts.map +1 -1
- package/dist/transport/mcp-handlers.js +9 -11
- package/dist/transport/mcp-handlers.js.map +1 -1
- package/dist/transport/mcp.d.ts.map +1 -1
- package/dist/transport/mcp.js +0 -5
- package/dist/transport/mcp.js.map +1 -1
- package/dist/transport/rest.d.ts.map +1 -1
- package/dist/transport/rest.js +86 -10
- package/dist/transport/rest.js.map +1 -1
- package/dist/types.d.ts +2 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/ui/app.js +156 -79
- package/dist/ui/styles.css +0 -59
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,10 +8,10 @@ Initial release.
|
|
|
8
8
|
- MCP server proxy: activate/deactivate servers, expose their tools via `serverName__toolName` namespacing with `tools/list_changed` notifications
|
|
9
9
|
- Official MCP registry marketplace browser (registry.modelcontextprotocol.io)
|
|
10
10
|
- Auto-detect install method (npx, uvx, docker) with package name validation
|
|
11
|
-
- Enterprise features: secrets management (masked values, env merge on activate), health monitoring, usage metrics
|
|
11
|
+
- Enterprise features: secrets management (masked values, env merge on activate), health monitoring, usage metrics
|
|
12
12
|
- REST API with 16 endpoints (CRUD, secrets, health, metrics, browse)
|
|
13
13
|
- WebSocket real-time dashboard with 2s polling
|
|
14
|
-
- Dashboard UI: Servers tab (
|
|
14
|
+
- Dashboard UI: Servers tab (health dots, expandable Secrets/Metrics/Config sections) and Browse tab (marketplace search with install button)
|
|
15
15
|
- SQLite with WAL mode, schema V2 (servers, server_tools, server_secrets, server_metrics, servers_fts)
|
|
16
16
|
- 152 tests (unit, integration, E2E)
|
|
17
17
|
- Theme sync for agent-desk integration (postMessage + MutationObserver)
|
package/README.md
CHANGED
|
@@ -3,15 +3,22 @@
|
|
|
3
3
|
[](LICENSE)
|
|
4
4
|
[](https://nodejs.org/)
|
|
5
5
|
[]()
|
|
6
|
-
[]()
|
|
7
7
|
|
|
8
8
|
**MCP server registry and marketplace.** Discover, install, activate, and manage MCP tools on demand. Acts as a dynamic proxy -- activated servers have their tools merged into the registry's own tool list, so agents can use them without restarting.
|
|
9
9
|
|
|
10
|
+
Built for AI coding agents (Claude Code, Codex CLI, Gemini CLI, Aider) but works equally well with any MCP client, REST consumer, or WebSocket listener.
|
|
11
|
+
|
|
10
12
|
---
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
## Screenshots
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<img src="docs/screenshots/dark.png" alt="Dashboard (Dark)" width="800" />
|
|
18
|
+
</p>
|
|
19
|
+
<p align="center">
|
|
20
|
+
<img src="docs/screenshots/light.png" alt="Dashboard (Light)" width="800" />
|
|
21
|
+
</p>
|
|
15
22
|
|
|
16
23
|
---
|
|
17
24
|
|
|
@@ -26,22 +33,26 @@ Static MCP configs mean every server is always running, even when unused. Adding
|
|
|
26
33
|
| **Activation** | All servers always running | Activate/deactivate on demand, tools appear/disappear live |
|
|
27
34
|
| **Secrets** | API keys in config files or env | Per-server secret storage, auto-injected on activation |
|
|
28
35
|
| **Monitoring** | No visibility into server health | Health checks, per-tool metrics, error counts |
|
|
29
|
-
| **Management** | Manual config edits | Dashboard + REST API for config,
|
|
36
|
+
| **Management** | Manual config edits | Dashboard + REST API for config, tags |
|
|
30
37
|
|
|
31
|
-
|
|
38
|
+
---
|
|
32
39
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
- **
|
|
36
|
-
- **
|
|
37
|
-
- **
|
|
38
|
-
- **
|
|
39
|
-
- **
|
|
40
|
-
- **
|
|
41
|
-
- **
|
|
42
|
-
-
|
|
40
|
+
## Features
|
|
41
|
+
|
|
42
|
+
- **Local registry** -- register MCP servers in a SQLite database with name, command, args, env, tags
|
|
43
|
+
- **Marketplace browser** -- search the official MCP registry (`registry.modelcontextprotocol.io`) and install with one tool call
|
|
44
|
+
- **On-demand activation** -- activate/deactivate servers at runtime; their tools appear and disappear dynamically
|
|
45
|
+
- **Tool proxying** -- activated server tools are namespaced as `serverName__toolName` and merged into the tool list
|
|
46
|
+
- **Multi-transport** -- supports stdio, SSE, and streamable-http transports for connecting to child servers
|
|
47
|
+
- **Secret management** -- store API keys and tokens per server, automatically injected as env vars (stdio) or HTTP headers (SSE/streamable-http) on activation
|
|
48
|
+
- **Health checks** -- connect/disconnect probes for inactive servers, tool-list checks for active ones, with error count tracking
|
|
49
|
+
- **Per-tool metrics** -- call counts, error counts, and average latency recorded automatically on every proxied tool call
|
|
50
|
+
- **Full-text search** -- FTS5 search across server names, descriptions, and tags
|
|
51
|
+
- **NPM pre-download** -- fire-and-forget `npm cache add` on registration for npx-based servers, plus a dedicated preinstall endpoint
|
|
52
|
+
- **Real-time dashboard** -- web UI at http://localhost:3424 with Servers and Browse tabs, dark/light theme, WebSocket updates
|
|
53
|
+
- **3 transport layers** -- MCP (stdio), REST API (HTTP), WebSocket (real-time events)
|
|
43
54
|
|
|
44
|
-
|
|
55
|
+
---
|
|
45
56
|
|
|
46
57
|
## Quick Start
|
|
47
58
|
|
|
@@ -68,7 +79,7 @@ npm run build
|
|
|
68
79
|
|
|
69
80
|
### Option 1: MCP server (for AI agents)
|
|
70
81
|
|
|
71
|
-
Add to your MCP client config (Claude Code, Cline, etc.):
|
|
82
|
+
Add to your MCP client config (Claude Code, Cline, Cursor, Windsurf, etc.):
|
|
72
83
|
|
|
73
84
|
```json
|
|
74
85
|
{
|
|
@@ -104,28 +115,30 @@ Activated servers expose their tools through agent-discover, namespaced as `serv
|
|
|
104
115
|
|
|
105
116
|
---
|
|
106
117
|
|
|
107
|
-
## REST API (
|
|
118
|
+
## REST API (18 endpoints)
|
|
108
119
|
|
|
109
120
|
All endpoints return JSON. CORS enabled.
|
|
110
121
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
122
|
+
```
|
|
123
|
+
GET /health Version, uptime
|
|
124
|
+
GET /api/servers List servers (?query=, ?source=, ?installed=)
|
|
125
|
+
GET /api/servers/:id Server details + tools
|
|
126
|
+
POST /api/servers Register new server
|
|
127
|
+
PUT /api/servers/:id Update server config (description, command, args, env, tags)
|
|
128
|
+
DELETE /api/servers/:id Unregister (deactivates first if active)
|
|
129
|
+
POST /api/servers/:id/activate Activate -- start server, discover tools, begin proxying
|
|
130
|
+
POST /api/servers/:id/deactivate Deactivate -- stop server, remove tools
|
|
131
|
+
POST /api/servers/:id/preinstall Pre-download npx package to npm cache
|
|
132
|
+
GET /api/servers/:id/secrets List secrets (masked values)
|
|
133
|
+
PUT /api/servers/:id/secrets/:key Set a secret (upsert)
|
|
134
|
+
DELETE /api/servers/:id/secrets/:key Delete a secret
|
|
135
|
+
POST /api/servers/:id/health Run health check (connect/disconnect probe)
|
|
136
|
+
GET /api/servers/:id/metrics Per-tool metrics for a server (call count, errors, latency)
|
|
137
|
+
GET /api/metrics Metrics overview across all servers
|
|
138
|
+
GET /api/browse Proxy to official MCP registry (?query=, ?limit=, ?cursor=)
|
|
139
|
+
GET /api/npm-check Check if an npm package exists (?package=)
|
|
140
|
+
GET /api/status Active servers summary (names, tool counts, tool lists)
|
|
141
|
+
```
|
|
129
142
|
|
|
130
143
|
---
|
|
131
144
|
|
|
@@ -133,7 +146,7 @@ All endpoints return JSON. CORS enabled.
|
|
|
133
146
|
|
|
134
147
|
The web dashboard auto-starts at **http://localhost:3424** and provides two views:
|
|
135
148
|
|
|
136
|
-
**Servers tab** -- all registered servers as cards showing
|
|
149
|
+
**Servers tab** -- all registered servers as cards showing health dots, error counts, active/inactive status, description, tags, tools list, and expandable Secrets/Metrics/Config sections. Action buttons for activate, deactivate, health check, and delete.
|
|
137
150
|
|
|
138
151
|
**Browse tab** -- search the official MCP registry. Results show server name, version, description, packages, and an install button.
|
|
139
152
|
|
|
@@ -145,7 +158,9 @@ Real-time updates via WebSocket with 2-second database polling. Dark and light t
|
|
|
145
158
|
|
|
146
159
|
```bash
|
|
147
160
|
npm test # Run tests
|
|
148
|
-
npm run
|
|
161
|
+
npm run test:watch # Watch mode
|
|
162
|
+
npm run test:coverage # Coverage report
|
|
163
|
+
npm run check # Full CI: typecheck + lint + format + test
|
|
149
164
|
```
|
|
150
165
|
|
|
151
166
|
---
|
|
@@ -162,6 +177,10 @@ npm run check # Full check (typecheck + lint + format + test)
|
|
|
162
177
|
## Documentation
|
|
163
178
|
|
|
164
179
|
- [User Manual](docs/USER-MANUAL.md) -- comprehensive guide covering all tools, REST API, dashboard, and troubleshooting
|
|
180
|
+
- [API Reference](docs/API.md) -- all MCP tools and REST endpoints
|
|
181
|
+
- [Architecture](docs/ARCHITECTURE.md) -- source structure, design principles, database schema
|
|
182
|
+
- [Dashboard](docs/DASHBOARD.md) -- web UI views and features
|
|
183
|
+
- [Setup Guide](docs/SETUP.md) -- installation, client setup (Claude Code, Cursor, Windsurf)
|
|
165
184
|
- [Changelog](CHANGELOG.md)
|
|
166
185
|
|
|
167
186
|
---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../src/domain/marketplace.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrD,qBAAa,iBAAiB;IACtB,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4B/E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAuBtE,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../src/domain/marketplace.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrD,qBAAa,iBAAiB;IACtB,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4B/E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAuBtE,OAAO,CAAC,aAAa;CAuCtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../src/domain/marketplace.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../src/domain/marketplace.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/proxy.d.ts
CHANGED
|
@@ -2,9 +2,12 @@ import type { SecretsService } from './secrets.js';
|
|
|
2
2
|
import type { MetricsService } from './metrics.js';
|
|
3
3
|
export interface ServerConfig {
|
|
4
4
|
name: string;
|
|
5
|
-
command
|
|
5
|
+
command?: string;
|
|
6
6
|
args?: string[];
|
|
7
7
|
env?: Record<string, string>;
|
|
8
|
+
transport?: 'stdio' | 'sse' | 'streamable-http';
|
|
9
|
+
url?: string;
|
|
10
|
+
headers?: Record<string, string>;
|
|
8
11
|
}
|
|
9
12
|
export interface ProxiedTool {
|
|
10
13
|
name: string;
|
|
@@ -45,6 +48,7 @@ export declare class McpProxy {
|
|
|
45
48
|
description?: string;
|
|
46
49
|
}>;
|
|
47
50
|
isActive(name: string): boolean;
|
|
51
|
+
private createTransport;
|
|
48
52
|
deactivateAll(): Promise<void>;
|
|
49
53
|
}
|
|
50
54
|
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/domain/proxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/domain/proxy.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA4BnD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,iBAAiB,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmC;IACjE,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,gBAAgB,CAAC,CAAkC;IAE3D,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIhD,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIhD,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI;IAI9D,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAC3C,KAAK,CAAC;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvC,CAAC,CACH;IA4BK,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvC,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC;QACT,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAkCF,OAAO,CAAC,aAAa;IAiBrB,kBAAkB,IAAI,WAAW,EAAE;IAcnC,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAgB5D,oBAAoB,IAAI,MAAM,EAAE;IAIhC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAK3E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,OAAO,CAAC,eAAe;IAoDjB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAUrC"}
|
package/dist/domain/proxy.js
CHANGED
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
// =============================================================================
|
|
8
8
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
9
9
|
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
10
|
+
import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
|
|
11
|
+
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
10
12
|
import { version } from '../version.js';
|
|
11
|
-
const ACTIVATE_TIMEOUT_MS =
|
|
13
|
+
const ACTIVATE_TIMEOUT_MS = 60_000;
|
|
12
14
|
const CALL_TIMEOUT_MS = 60_000;
|
|
13
15
|
function withTimeout(promise, ms, label) {
|
|
14
16
|
return Promise.race([
|
|
@@ -34,19 +36,7 @@ export class McpProxy {
|
|
|
34
36
|
if (this.activeServers.has(config.name)) {
|
|
35
37
|
throw new Error(`Server "${config.name}" is already active`);
|
|
36
38
|
}
|
|
37
|
-
|
|
38
|
-
if (this.secretsService && this.serverIdResolver) {
|
|
39
|
-
const serverId = this.serverIdResolver(config.name);
|
|
40
|
-
if (serverId !== null) {
|
|
41
|
-
const secretsEnv = this.secretsService.getEnvForServer(serverId);
|
|
42
|
-
mergedEnv = { ...mergedEnv, ...secretsEnv };
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const transport = new StdioClientTransport({
|
|
46
|
-
command: config.command,
|
|
47
|
-
args: config.args ?? [],
|
|
48
|
-
env: mergedEnv,
|
|
49
|
-
});
|
|
39
|
+
const transport = this.createTransport(config);
|
|
50
40
|
const client = new Client({ name: 'agent-discover', version }, { capabilities: {} });
|
|
51
41
|
try {
|
|
52
42
|
await withTimeout(client.connect(transport), ACTIVATE_TIMEOUT_MS, 'connect');
|
|
@@ -156,6 +146,52 @@ export class McpProxy {
|
|
|
156
146
|
isActive(name) {
|
|
157
147
|
return this.activeServers.has(name);
|
|
158
148
|
}
|
|
149
|
+
createTransport(config) {
|
|
150
|
+
const transportType = config.transport ?? 'stdio';
|
|
151
|
+
if ((transportType === 'streamable-http' || transportType === 'sse') && config.url) {
|
|
152
|
+
// Build headers from config + secrets (secrets used as HTTP headers for remote servers)
|
|
153
|
+
const headers = { ...(config.headers ?? {}) };
|
|
154
|
+
if (this.secretsService && this.serverIdResolver) {
|
|
155
|
+
const serverId = this.serverIdResolver(config.name);
|
|
156
|
+
if (serverId !== null) {
|
|
157
|
+
const secretsEnv = this.secretsService.getEnvForServer(serverId);
|
|
158
|
+
// Map common secret keys to HTTP headers
|
|
159
|
+
if (secretsEnv.AUTHORIZATION)
|
|
160
|
+
headers['Authorization'] = secretsEnv.AUTHORIZATION;
|
|
161
|
+
if (secretsEnv.API_KEY)
|
|
162
|
+
headers['Authorization'] = 'Bearer ' + secretsEnv.API_KEY;
|
|
163
|
+
// Pass all other secrets as headers too
|
|
164
|
+
Object.entries(secretsEnv).forEach(([k, v]) => {
|
|
165
|
+
if (!headers[k] && k !== 'AUTHORIZATION' && k !== 'API_KEY') {
|
|
166
|
+
headers[k] = v;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
const requestInit = Object.keys(headers).length > 0 ? { headers } : undefined;
|
|
172
|
+
if (transportType === 'streamable-http') {
|
|
173
|
+
return new StreamableHTTPClientTransport(new URL(config.url), { requestInit });
|
|
174
|
+
}
|
|
175
|
+
return new SSEClientTransport(new URL(config.url), { requestInit });
|
|
176
|
+
}
|
|
177
|
+
// Default: stdio
|
|
178
|
+
if (!config.command) {
|
|
179
|
+
throw new Error(`Server "${config.name}" has no command configured for stdio transport`);
|
|
180
|
+
}
|
|
181
|
+
let mergedEnv = { ...process.env, ...(config.env ?? {}) };
|
|
182
|
+
if (this.secretsService && this.serverIdResolver) {
|
|
183
|
+
const serverId = this.serverIdResolver(config.name);
|
|
184
|
+
if (serverId !== null) {
|
|
185
|
+
const secretsEnv = this.secretsService.getEnvForServer(serverId);
|
|
186
|
+
mergedEnv = { ...mergedEnv, ...secretsEnv };
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return new StdioClientTransport({
|
|
190
|
+
command: config.command,
|
|
191
|
+
args: config.args ?? [],
|
|
192
|
+
env: mergedEnv,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
159
195
|
async deactivateAll() {
|
|
160
196
|
const names = this.getActiveServerNames();
|
|
161
197
|
for (const name of names) {
|
package/dist/domain/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/domain/proxy.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,oCAAoC;AACpC,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,4CAA4C;AAC5C,gFAAgF;AAEhF,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/domain/proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Db } from '../storage/database.js';
|
|
2
2
|
import type { EventBus } from './events.js';
|
|
3
|
-
import type { ServerEntry, ServerCreateInput, ServerUpdateInput, ServerTool
|
|
3
|
+
import type { ServerEntry, ServerCreateInput, ServerUpdateInput, ServerTool } from '../types.js';
|
|
4
4
|
export declare class RegistryService {
|
|
5
5
|
private readonly db;
|
|
6
6
|
private readonly events;
|
|
@@ -8,7 +8,6 @@ export declare class RegistryService {
|
|
|
8
8
|
register(input: ServerCreateInput): ServerEntry;
|
|
9
9
|
update(name: string, updates: ServerUpdateInput): ServerEntry;
|
|
10
10
|
updateById(id: number, updates: ServerUpdateInput): ServerEntry;
|
|
11
|
-
setApprovalStatus(id: number, status: ApprovalStatus): ServerEntry;
|
|
12
11
|
unregister(name: string): void;
|
|
13
12
|
list(options?: {
|
|
14
13
|
query?: string;
|
|
@@ -23,6 +22,7 @@ export declare class RegistryService {
|
|
|
23
22
|
getByName(name: string): ServerEntry | null;
|
|
24
23
|
getById(id: number): ServerEntry | null;
|
|
25
24
|
setActive(name: string, active: boolean): void;
|
|
25
|
+
incrementErrorCount(id: number): void;
|
|
26
26
|
setInstalled(name: string, installed: boolean): void;
|
|
27
27
|
saveTools(serverId: number, tools: Array<{
|
|
28
28
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/domain/registry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/domain/registry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyEjG,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,QAAQ;IAGnC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW;IAwC/C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,WAAW;IA2C7D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,WAAW;IAM/D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ9B,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,WAAW,EAAE;IAyB3F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,WAAW,EAAE;IA2B5F,OAAO,CAAC,cAAc;IAwBtB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAK3C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAKvC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAO9C,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAOrC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAWpD,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvC,CAAC,GACD,IAAI;IAUP,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE;IAMxC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAGnC"}
|
package/dist/domain/registry.js
CHANGED
|
@@ -23,7 +23,6 @@ function rowToServer(row) {
|
|
|
23
23
|
homepage: row.homepage,
|
|
24
24
|
installed: row.installed === 1,
|
|
25
25
|
active: row.active === 1,
|
|
26
|
-
approval_status: (row.approval_status ?? 'experimental'),
|
|
27
26
|
latest_version: row.latest_version ?? null,
|
|
28
27
|
last_health_check: row.last_health_check ?? null,
|
|
29
28
|
health_status: (row.health_status ?? 'unknown'),
|
|
@@ -75,7 +74,7 @@ export class RegistryService {
|
|
|
75
74
|
input.transport ?? 'stdio',
|
|
76
75
|
input.repository ?? null,
|
|
77
76
|
input.homepage ?? null,
|
|
78
|
-
input.command ? 1 : 0,
|
|
77
|
+
input.command || input.transport === 'sse' || input.transport === 'streamable-http' ? 1 : 0,
|
|
79
78
|
]);
|
|
80
79
|
const server = this.getById(result.lastInsertRowid);
|
|
81
80
|
this.events.emit('server:registered', { server });
|
|
@@ -111,14 +110,6 @@ export class RegistryService {
|
|
|
111
110
|
fields.push('transport = ?');
|
|
112
111
|
values.push(updates.transport);
|
|
113
112
|
}
|
|
114
|
-
if (updates.approval_status !== undefined) {
|
|
115
|
-
const valid = ['experimental', 'approved', 'production'];
|
|
116
|
-
if (!valid.includes(updates.approval_status)) {
|
|
117
|
-
throw new ValidationError(`Invalid approval_status "${updates.approval_status}" — must be one of: ${valid.join(', ')}`);
|
|
118
|
-
}
|
|
119
|
-
fields.push('approval_status = ?');
|
|
120
|
-
values.push(updates.approval_status);
|
|
121
|
-
}
|
|
122
113
|
if (fields.length === 0)
|
|
123
114
|
return existing;
|
|
124
115
|
fields.push("updated_at = datetime('now')");
|
|
@@ -134,19 +125,6 @@ export class RegistryService {
|
|
|
134
125
|
throw new NotFoundError('Server', String(id));
|
|
135
126
|
return this.update(existing.name, updates);
|
|
136
127
|
}
|
|
137
|
-
setApprovalStatus(id, status) {
|
|
138
|
-
const valid = ['experimental', 'approved', 'production'];
|
|
139
|
-
if (!valid.includes(status)) {
|
|
140
|
-
throw new ValidationError(`Invalid approval_status "${status}" — must be one of: ${valid.join(', ')}`);
|
|
141
|
-
}
|
|
142
|
-
const existing = this.getById(id);
|
|
143
|
-
if (!existing)
|
|
144
|
-
throw new NotFoundError('Server', String(id));
|
|
145
|
-
this.db.run("UPDATE servers SET approval_status = ?, updated_at = datetime('now') WHERE id = ?", [status, id]);
|
|
146
|
-
const server = this.getById(id);
|
|
147
|
-
this.events.emit('server:updated', { server });
|
|
148
|
-
return server;
|
|
149
|
-
}
|
|
150
128
|
unregister(name) {
|
|
151
129
|
const existing = this.getByName(name);
|
|
152
130
|
if (!existing)
|
|
@@ -229,6 +207,9 @@ export class RegistryService {
|
|
|
229
207
|
name,
|
|
230
208
|
]);
|
|
231
209
|
}
|
|
210
|
+
incrementErrorCount(id) {
|
|
211
|
+
this.db.run("UPDATE servers SET error_count = error_count + 1, updated_at = datetime('now') WHERE id = ?", [id]);
|
|
212
|
+
}
|
|
232
213
|
setInstalled(name, installed) {
|
|
233
214
|
this.db.run("UPDATE servers SET installed = ?, updated_at = datetime('now') WHERE name = ?", [
|
|
234
215
|
installed ? 1 : 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/domain/registry.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,uCAAuC;AACvC,EAAE;AACF,wEAAwE;AACxE,qCAAqC;AACrC,gFAAgF;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/domain/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/lib.d.ts
CHANGED
|
@@ -11,6 +11,6 @@ export { EventBus } from './domain/events.js';
|
|
|
11
11
|
export type { ServerConfig, ProxiedTool, ParsedToolName } from './domain/proxy.js';
|
|
12
12
|
export type { InstallConfig } from './domain/installer.js';
|
|
13
13
|
export type { HealthCheckResult, HealthInfo } from './domain/health.js';
|
|
14
|
-
export type { ServerSource, ServerTransport,
|
|
14
|
+
export type { ServerSource, ServerTransport, HealthStatus, ServerEntry, ServerCreateInput, ServerTool, ServerUpdateInput, SecretEntry, MetricEntry, MarketplaceServer, MarketplacePackage, MarketplaceResult, EventType, RegistryEvent, JsonRpcRequest, JsonRpcResponse, ToolDefinition, } from './types.js';
|
|
15
15
|
export { RegistryError, NotFoundError, ValidationError, ConflictError } from './types.js';
|
|
16
16
|
//# sourceMappingURL=lib.d.ts.map
|
package/dist/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAG1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnF,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGxE,YAAY,EACV,YAAY,EACZ,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAG1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnF,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGxE,YAAY,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,+BAA+B;AAC/B,EAAE;AACF,yEAAyE;AACzE,yDAAyD;AACzD,gFAAgF;AAEhF,8CAA8C;AAC9C,OAAO,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAC;AAE9D,UAAU;AACV,OAAO,EAAE,QAAQ,EAA2B,MAAM,uBAAuB,CAAC;AAE1E,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,+BAA+B;AAC/B,EAAE;AACF,yEAAyE;AACzE,yDAAyD;AACzD,gFAAgF;AAEhF,8CAA8C;AAC9C,OAAO,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAC;AAE9D,UAAU;AACV,OAAO,EAAE,QAAQ,EAA2B,MAAM,uBAAuB,CAAC;AAE1E,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA4B9C,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/storage/database.js
CHANGED
|
@@ -8,7 +8,7 @@ import Database from 'better-sqlite3';
|
|
|
8
8
|
import { homedir } from 'os';
|
|
9
9
|
import { join } from 'path';
|
|
10
10
|
import { mkdirSync } from 'fs';
|
|
11
|
-
const SCHEMA_VERSION =
|
|
11
|
+
const SCHEMA_VERSION = 3;
|
|
12
12
|
export function createDb(options = {}) {
|
|
13
13
|
const dbPath = resolveDbPath(options.path);
|
|
14
14
|
const raw = new Database(dbPath, {
|
|
@@ -120,6 +120,9 @@ function applySchema(raw) {
|
|
|
120
120
|
if (currentVersion < 2) {
|
|
121
121
|
migrateV2(raw);
|
|
122
122
|
}
|
|
123
|
+
if (currentVersion < 3) {
|
|
124
|
+
migrateV3(raw);
|
|
125
|
+
}
|
|
123
126
|
raw.pragma(`user_version = ${SCHEMA_VERSION}`);
|
|
124
127
|
})();
|
|
125
128
|
}
|
|
@@ -159,4 +162,7 @@ function migrateV2(raw) {
|
|
|
159
162
|
);
|
|
160
163
|
`);
|
|
161
164
|
}
|
|
165
|
+
function migrateV3(raw) {
|
|
166
|
+
raw.exec(`ALTER TABLE servers DROP COLUMN approval_status;`);
|
|
167
|
+
}
|
|
162
168
|
//# sourceMappingURL=database.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../../src/transport/mcp-handlers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../../src/transport/mcp-handlers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AA0UhG,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAGlD,CAAC"}
|