@daniel.stefan/metalink 1.3.1 → 1.3.3
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 +58 -107
- package/package.json +5 -12
- package/packages/core/dist/config/defaults.d.ts +1 -1
- package/packages/core/dist/config/defaults.d.ts.map +1 -1
- package/packages/core/dist/config/defaults.js +86 -48
- package/packages/core/dist/config/defaults.js.map +1 -1
- package/packages/core/dist/config/loader.d.ts +1 -1
- package/packages/core/dist/config/loader.d.ts.map +1 -1
- package/packages/core/dist/config/loader.js +151 -131
- package/packages/core/dist/config/loader.js.map +1 -1
- package/packages/core/dist/config/schema.d.ts +94 -2
- package/packages/core/dist/config/schema.d.ts.map +1 -1
- package/packages/core/dist/config/schema.js +124 -52
- package/packages/core/dist/config/schema.js.map +1 -1
- package/packages/core/dist/server/http.d.ts +7 -2
- package/packages/core/dist/server/http.d.ts.map +1 -1
- package/packages/core/dist/server/http.js +941 -717
- package/packages/core/dist/server/http.js.map +1 -1
- package/packages/core/dist/utils/toon-formatter.d.ts +88 -0
- package/packages/core/dist/utils/toon-formatter.d.ts.map +1 -0
- package/packages/core/dist/utils/toon-formatter.js +239 -0
- package/packages/core/dist/utils/toon-formatter.js.map +1 -0
package/README.md
CHANGED
|
@@ -1,159 +1,110 @@
|
|
|
1
1
|
# MetaLink - Universal MCP Server Manager
|
|
2
2
|
|
|
3
|
-
**Version:** 1.2
|
|
4
|
-
**License:** MIT
|
|
3
|
+
**Version:** 1.3.2
|
|
4
|
+
**License:** MIT
|
|
5
|
+
**Repository:** https://github.com/danielfstefan/metalink
|
|
6
|
+
**NPM:** https://www.npmjs.com/package/@daniel.stefan/metalink
|
|
5
7
|
|
|
6
8
|
A modern, unified platform for managing Model Context Protocol (MCP) servers with REST API, CLI, real-time dashboard, and advanced features like secrets management, circuit breakers, and automatic restarts.
|
|
7
9
|
|
|
8
10
|
## Features
|
|
9
11
|
|
|
10
12
|
- **REST API** - HTTP API for server management and tool execution
|
|
11
|
-
- **CLI Tool** -
|
|
12
|
-
- **Real-time Dashboard** -
|
|
13
|
+
- **CLI Tool** - Comprehensive CLI for managing MCP servers
|
|
14
|
+
- **Real-time Dashboard** - Web interface with Server-Sent Events
|
|
13
15
|
- **Process Management** - Automatic spawn/kill with health checks
|
|
14
16
|
- **Circuit Breakers** - Prevents cascade failures
|
|
15
17
|
- **Auto-Restart** - Exponential backoff for crashed servers
|
|
16
18
|
- **Secrets Management** - OS keyring integration (macOS, Linux, Windows)
|
|
17
19
|
- **Schema Caching** - Persistent tool schema storage
|
|
18
|
-
- **
|
|
19
|
-
- **Metrics** - Built-in metrics collection
|
|
20
|
+
- **Lazy Schema Refresh** - Auto-fixes stale tool schemas
|
|
20
21
|
|
|
21
|
-
##
|
|
22
|
-
|
|
23
|
-
### Installation
|
|
22
|
+
## Installation
|
|
24
23
|
|
|
25
24
|
```bash
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
npm install
|
|
30
|
-
npm run build
|
|
31
|
-
npm link
|
|
32
|
-
|
|
33
|
-
# Verify
|
|
25
|
+
npm install -g @daniel.stefan/metalink
|
|
26
|
+
|
|
27
|
+
# Verify installation
|
|
34
28
|
metalink --version
|
|
35
29
|
```
|
|
36
30
|
|
|
37
|
-
|
|
31
|
+
## Quick Start
|
|
32
|
+
|
|
33
|
+
### Start the Daemon
|
|
38
34
|
|
|
39
35
|
```bash
|
|
40
|
-
|
|
41
|
-
metalink config init
|
|
36
|
+
metalink-daemon start
|
|
42
37
|
|
|
43
|
-
#
|
|
44
|
-
metalink
|
|
38
|
+
# Or with custom port
|
|
39
|
+
METALINK_PORT=6655 metalink-daemon start
|
|
45
40
|
```
|
|
46
41
|
|
|
47
|
-
###
|
|
42
|
+
### Configure Servers
|
|
48
43
|
|
|
49
44
|
```bash
|
|
50
|
-
#
|
|
51
|
-
metalink
|
|
52
|
-
|
|
53
|
-
# List servers
|
|
54
|
-
metalink server list
|
|
55
|
-
|
|
56
|
-
# Start a server
|
|
57
|
-
metalink server start <server-name>
|
|
58
|
-
|
|
59
|
-
# Execute a tool
|
|
60
|
-
metalink tool execute <server> <tool> --with '{"arg": "value"}'
|
|
61
|
-
|
|
62
|
-
# Dashboard
|
|
63
|
-
open http://localhost:3000
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## Architecture
|
|
45
|
+
# Initialize config
|
|
46
|
+
metalink config init
|
|
67
47
|
|
|
68
|
-
|
|
48
|
+
# Add a server
|
|
49
|
+
metalink server add
|
|
69
50
|
|
|
51
|
+
# List configured servers
|
|
52
|
+
metalink server list
|
|
70
53
|
```
|
|
71
|
-
metalink/
|
|
72
|
-
├── packages/
|
|
73
|
-
│ ├── core/ # @metalink/core - Server management
|
|
74
|
-
│ ├── cli/ # metalink - CLI tool
|
|
75
|
-
│ ├── dashboard/ # @metalink/dashboard - Web UI
|
|
76
|
-
│ └── shared/ # @metalink/shared - Version info
|
|
77
|
-
├── scripts/ # Build and deployment scripts
|
|
78
|
-
└── package.json # Root configuration
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### Core Managers (v1.2.0)
|
|
82
54
|
|
|
83
|
-
|
|
84
|
-
- **HttpConnectionManager** - HTTP client lifecycle
|
|
85
|
-
- **SchemaCacheManager** - Tool schema caching
|
|
86
|
-
- **CircuitBreakerManager** - Failure handling
|
|
55
|
+
### Execute Tools
|
|
87
56
|
|
|
88
|
-
|
|
57
|
+
```bash
|
|
58
|
+
# List available tools
|
|
59
|
+
metalink tool list <server-name>
|
|
89
60
|
|
|
90
|
-
|
|
61
|
+
# Execute a tool
|
|
62
|
+
metalink tool execute <server> <tool> --with '{"arg": "value"}'
|
|
91
63
|
|
|
92
|
-
|
|
93
|
-
|
|
64
|
+
# Or use shorthand
|
|
65
|
+
metalink tool <server>-<tool> --with '{"arg": "value"}'
|
|
94
66
|
```
|
|
95
67
|
|
|
96
|
-
###
|
|
68
|
+
### Web Dashboard
|
|
97
69
|
|
|
98
70
|
```bash
|
|
99
|
-
|
|
71
|
+
# Dashboard is available at
|
|
72
|
+
open http://localhost:3000
|
|
100
73
|
```
|
|
101
74
|
|
|
102
|
-
|
|
75
|
+
## Common Commands
|
|
103
76
|
|
|
104
|
-
|
|
77
|
+
| Command | Description |
|
|
78
|
+
| ------------------------------ | ----------------------------------- |
|
|
79
|
+
| `metalink daemon start` | Start the MetaLink daemon |
|
|
80
|
+
| `metalink daemon status` | Check daemon status |
|
|
81
|
+
| `metalink server list` | List all configured servers |
|
|
82
|
+
| `metalink server start <name>` | Start a specific server |
|
|
83
|
+
| `metalink tool search <query>` | Search for tools across all servers |
|
|
84
|
+
| `metalink tool list <server>` | List tools for a specific server |
|
|
85
|
+
| `metalink config edit` | Edit configuration |
|
|
105
86
|
|
|
106
|
-
|
|
107
|
-
# 1. Document what changed (interactive)
|
|
108
|
-
npx changeset
|
|
87
|
+
## Configuration
|
|
109
88
|
|
|
110
|
-
|
|
111
|
-
npm run version
|
|
89
|
+
MetaLink stores configuration in `~/.config/metalink/`:
|
|
112
90
|
|
|
113
|
-
|
|
114
|
-
|
|
91
|
+
- `mcp-registry.json` - Server configurations
|
|
92
|
+
- `config.yaml` - Daemon settings
|
|
93
|
+
- `schemas/` - Cached tool schemas
|
|
115
94
|
|
|
116
|
-
|
|
117
|
-
npm run build
|
|
118
|
-
metalink --version # Verify correct version
|
|
95
|
+
### Environment Variables
|
|
119
96
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
git push origin main --tags
|
|
97
|
+
```bash
|
|
98
|
+
METALINK_PORT=6655 # Daemon port (default: 3000)
|
|
99
|
+
METALINK_LOG_LEVEL=info # Log level (debug, info, warn, error)
|
|
100
|
+
METALINK_CONFIG_DIR=~/.config/metalink # Config directory
|
|
125
101
|
```
|
|
126
102
|
|
|
127
|
-
**What each command does:**
|
|
128
|
-
|
|
129
|
-
- `npx changeset` - Creates a changeset describing your changes
|
|
130
|
-
- `npm run version` - Bumps version in ALL package.json files and updates CHANGELOG.md
|
|
131
|
-
- `npm run sync-version` - Syncs version from package.json to version.ts (what CLI reports)
|
|
132
|
-
- `npm run build` - Compiles TypeScript
|
|
133
|
-
- `git tag` - Creates release tag
|
|
134
|
-
|
|
135
|
-
**Version sources:**
|
|
136
|
-
|
|
137
|
-
- `packages/*/package.json` - Used by npm and changeset
|
|
138
|
-
- `packages/shared/version.ts` - Used by CLI (`metalink --version`)
|
|
139
|
-
|
|
140
103
|
## Documentation
|
|
141
104
|
|
|
142
|
-
- **
|
|
143
|
-
- **
|
|
144
|
-
- **
|
|
145
|
-
- **CONTRIBUTING.md** - Contribution guidelines
|
|
146
|
-
- **SECURITY.md** - Security policies
|
|
147
|
-
|
|
148
|
-
## Supported Editors
|
|
149
|
-
|
|
150
|
-
MetaLink is actively developed with:
|
|
151
|
-
|
|
152
|
-
- **OpenCode** - Primary IDE
|
|
153
|
-
- **Claude Code** - AI-assisted development
|
|
154
|
-
- **Zed** - High-performance editor
|
|
155
|
-
|
|
156
|
-
Legacy editor configs removed: Cursor, Cline, Roo, Grok, Kilo, Kiro, Trae, Windsurf, Taskmaster
|
|
105
|
+
- **Full Documentation** - https://github.com/danielfstefan/metalink#readme
|
|
106
|
+
- **Contributing** - See [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
107
|
+
- **Changelog** - See [CHANGELOG.md](CHANGELOG.md)
|
|
157
108
|
|
|
158
109
|
## License
|
|
159
110
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daniel.stefan/metalink",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.3",
|
|
4
4
|
"description": "MetaLink MCP Management Platform - Universal MCP server orchestrator",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -25,20 +25,13 @@
|
|
|
25
25
|
"packages/*"
|
|
26
26
|
],
|
|
27
27
|
"scripts": {
|
|
28
|
-
"postinstall": "node scripts/setup-platform.js",
|
|
29
|
-
"sync-version": "node scripts/sync-version.js",
|
|
30
|
-
"verify-release": "./scripts/release-check.sh",
|
|
31
|
-
"verify-ai": "./scripts/verify-ai-work.sh",
|
|
32
28
|
"build": "turbo build",
|
|
33
29
|
"test": "npm --workspaces run test",
|
|
34
30
|
"dev": "npm --workspaces run dev",
|
|
35
31
|
"lint": "npm --workspaces run lint",
|
|
36
32
|
"format": "prettier --write \"packages/**/*.{ts,tsx,json,md}\"",
|
|
37
|
-
"install-deps": "pnpm install -r",
|
|
38
|
-
"analyze-logs": "npx tsx scripts/analyze-logs.ts",
|
|
39
33
|
"changeset": "changeset",
|
|
40
|
-
"version": "changeset version"
|
|
41
|
-
"release": "changeset publish"
|
|
34
|
+
"version": "changeset version"
|
|
42
35
|
},
|
|
43
36
|
"dependencies": {
|
|
44
37
|
"@modelcontextprotocol/sdk": "^1.21.1",
|
|
@@ -82,12 +75,12 @@
|
|
|
82
75
|
"license": "MIT",
|
|
83
76
|
"repository": {
|
|
84
77
|
"type": "git",
|
|
85
|
-
"url": "
|
|
78
|
+
"url": "https://github.com/danielfstefan/metalink.git"
|
|
86
79
|
},
|
|
87
80
|
"bugs": {
|
|
88
|
-
"url": "https://
|
|
81
|
+
"url": "https://github.com/danielfstefan/metalink/issues"
|
|
89
82
|
},
|
|
90
|
-
"homepage": "https://
|
|
83
|
+
"homepage": "https://github.com/danielfstefan/metalink#readme",
|
|
91
84
|
"pnpm": {
|
|
92
85
|
"overrides": {
|
|
93
86
|
"typescript": "^5.0.0"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAcnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,YAAY,CAQvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAcnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,YAAY,CAQvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,cA8C5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cA6DhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cA6DjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,YAAY,EAyCzC,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAQnE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,GACpC,cAAc,CAyFhB"}
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export const DEFAULT_DAEMON_CONFIG = {
|
|
6
6
|
port: 3000,
|
|
7
|
-
host:
|
|
8
|
-
logLevel:
|
|
7
|
+
host: "0.0.0.0",
|
|
8
|
+
logLevel: "info",
|
|
9
9
|
auth: {
|
|
10
10
|
enabled: false,
|
|
11
|
-
type:
|
|
11
|
+
type: "bearer",
|
|
12
12
|
},
|
|
13
13
|
rateLimit: {
|
|
14
14
|
enabled: true,
|
|
15
15
|
windowMs: 60000, // 1 minute
|
|
16
16
|
max: 500, // 500 requests per minute
|
|
17
|
-
keyGenerator:
|
|
17
|
+
keyGenerator: "ip",
|
|
18
18
|
},
|
|
19
19
|
};
|
|
20
20
|
/**
|
|
@@ -34,19 +34,19 @@ export const DEFAULT_SERVER_CONFIG = {
|
|
|
34
34
|
* Used as fallback if no config file exists
|
|
35
35
|
*/
|
|
36
36
|
export const DEFAULT_CONFIG = {
|
|
37
|
-
version:
|
|
38
|
-
description:
|
|
37
|
+
version: "1.0.0",
|
|
38
|
+
description: "MetaLink MCP Server Management Platform",
|
|
39
39
|
daemon: DEFAULT_DAEMON_CONFIG,
|
|
40
40
|
servers: [],
|
|
41
41
|
plugins: [],
|
|
42
42
|
profiles: [],
|
|
43
43
|
environment: {},
|
|
44
44
|
secrets: {
|
|
45
|
-
provider:
|
|
46
|
-
keyringService:
|
|
45
|
+
provider: "env",
|
|
46
|
+
keyringService: "metalink",
|
|
47
47
|
},
|
|
48
48
|
schemasCacheTTL: 900000, // 15 minutes
|
|
49
|
-
schemasCachePath:
|
|
49
|
+
schemasCachePath: "~/.config/metalink/schemas", // v1.3.60: Global cache across versions
|
|
50
50
|
maxSchemaCacheEntries: 100, // Maximum schemas in memory (LRU eviction)
|
|
51
51
|
schemasBackgroundRefresh: true,
|
|
52
52
|
backgroundSchemaPopulation: true, // v1.3.64 - Background population of missing schemas (enabled by default)
|
|
@@ -71,39 +71,47 @@ export const DEFAULT_CONFIG = {
|
|
|
71
71
|
maxDelay: 300000, // 5 minutes
|
|
72
72
|
backoffMultiplier: 2,
|
|
73
73
|
},
|
|
74
|
+
toon: {
|
|
75
|
+
enabled: false,
|
|
76
|
+
format: "json",
|
|
77
|
+
includeDescriptions: true,
|
|
78
|
+
includeTypes: true,
|
|
79
|
+
includeExamples: true,
|
|
80
|
+
maxDescriptionLength: 100,
|
|
81
|
+
},
|
|
74
82
|
};
|
|
75
83
|
/**
|
|
76
84
|
* Development profile configuration
|
|
77
85
|
*/
|
|
78
86
|
export const DEV_PROFILE_CONFIG = {
|
|
79
|
-
version:
|
|
87
|
+
version: "1.0.0",
|
|
80
88
|
daemon: {
|
|
81
89
|
port: 3000,
|
|
82
|
-
host:
|
|
83
|
-
logLevel:
|
|
90
|
+
host: "127.0.0.1",
|
|
91
|
+
logLevel: "debug",
|
|
84
92
|
auth: {
|
|
85
93
|
enabled: false,
|
|
86
|
-
type:
|
|
94
|
+
type: "bearer",
|
|
87
95
|
},
|
|
88
96
|
rateLimit: {
|
|
89
97
|
enabled: false, // Disabled in dev
|
|
90
98
|
windowMs: 60000,
|
|
91
99
|
max: 500,
|
|
92
|
-
keyGenerator:
|
|
100
|
+
keyGenerator: "ip",
|
|
93
101
|
},
|
|
94
102
|
},
|
|
95
103
|
servers: [],
|
|
96
104
|
plugins: [],
|
|
97
105
|
profiles: [],
|
|
98
106
|
environment: {
|
|
99
|
-
NODE_ENV:
|
|
107
|
+
NODE_ENV: "development",
|
|
100
108
|
},
|
|
101
109
|
secrets: {
|
|
102
|
-
provider:
|
|
103
|
-
keyringService:
|
|
110
|
+
provider: "env",
|
|
111
|
+
keyringService: "metalink",
|
|
104
112
|
},
|
|
105
113
|
schemasCacheTTL: 900000, // 15 minutes
|
|
106
|
-
schemasCachePath:
|
|
114
|
+
schemasCachePath: "~/.config/metalink/schemas", // v1.3.60: Global cache across versions
|
|
107
115
|
maxSchemaCacheEntries: 100, // Maximum schemas in memory (LRU eviction)
|
|
108
116
|
schemasBackgroundRefresh: true,
|
|
109
117
|
backgroundSchemaPopulation: true, // v1.3.64 - Background population of missing schemas (enabled by default)
|
|
@@ -128,39 +136,47 @@ export const DEV_PROFILE_CONFIG = {
|
|
|
128
136
|
maxDelay: 300000, // 5 minutes
|
|
129
137
|
backoffMultiplier: 2,
|
|
130
138
|
},
|
|
139
|
+
toon: {
|
|
140
|
+
enabled: false,
|
|
141
|
+
format: "json",
|
|
142
|
+
includeDescriptions: true,
|
|
143
|
+
includeTypes: true,
|
|
144
|
+
includeExamples: true,
|
|
145
|
+
maxDescriptionLength: 100,
|
|
146
|
+
},
|
|
131
147
|
};
|
|
132
148
|
/**
|
|
133
149
|
* Production profile configuration
|
|
134
150
|
*/
|
|
135
151
|
export const PROD_PROFILE_CONFIG = {
|
|
136
|
-
version:
|
|
152
|
+
version: "1.0.0",
|
|
137
153
|
daemon: {
|
|
138
154
|
port: 3000,
|
|
139
|
-
host:
|
|
140
|
-
logLevel:
|
|
155
|
+
host: "0.0.0.0", // Listen on all interfaces
|
|
156
|
+
logLevel: "warn",
|
|
141
157
|
auth: {
|
|
142
158
|
enabled: true,
|
|
143
|
-
type:
|
|
159
|
+
type: "bearer",
|
|
144
160
|
},
|
|
145
161
|
rateLimit: {
|
|
146
162
|
enabled: true,
|
|
147
163
|
windowMs: 60000,
|
|
148
164
|
max: 500,
|
|
149
|
-
keyGenerator:
|
|
165
|
+
keyGenerator: "user",
|
|
150
166
|
},
|
|
151
167
|
},
|
|
152
168
|
servers: [],
|
|
153
169
|
plugins: [],
|
|
154
170
|
profiles: [],
|
|
155
171
|
environment: {
|
|
156
|
-
NODE_ENV:
|
|
172
|
+
NODE_ENV: "production",
|
|
157
173
|
},
|
|
158
174
|
secrets: {
|
|
159
|
-
provider:
|
|
160
|
-
keyringService:
|
|
175
|
+
provider: "keyring", // Use OS keyring in production
|
|
176
|
+
keyringService: "metalink",
|
|
161
177
|
},
|
|
162
178
|
schemasCacheTTL: 900000, // 15 minutes
|
|
163
|
-
schemasCachePath:
|
|
179
|
+
schemasCachePath: "~/.config/metalink/schemas", // v1.3.60: Global cache across versions
|
|
164
180
|
maxSchemaCacheEntries: 100, // Maximum schemas in memory (LRU eviction)
|
|
165
181
|
schemasBackgroundRefresh: true,
|
|
166
182
|
backgroundSchemaPopulation: true, // v1.3.64 - Background population of missing schemas (enabled by default)
|
|
@@ -185,18 +201,26 @@ export const PROD_PROFILE_CONFIG = {
|
|
|
185
201
|
maxDelay: 300000, // 5 minutes
|
|
186
202
|
backoffMultiplier: 2,
|
|
187
203
|
},
|
|
204
|
+
toon: {
|
|
205
|
+
enabled: false,
|
|
206
|
+
format: "json",
|
|
207
|
+
includeDescriptions: true,
|
|
208
|
+
includeTypes: true,
|
|
209
|
+
includeExamples: true,
|
|
210
|
+
maxDescriptionLength: 100,
|
|
211
|
+
},
|
|
188
212
|
};
|
|
189
213
|
/**
|
|
190
214
|
* Example servers for demonstration
|
|
191
215
|
*/
|
|
192
216
|
export const EXAMPLE_SERVERS = [
|
|
193
217
|
{
|
|
194
|
-
name:
|
|
195
|
-
transport:
|
|
196
|
-
command:
|
|
197
|
-
args: [
|
|
218
|
+
name: "memory",
|
|
219
|
+
transport: "stdio",
|
|
220
|
+
command: "npx",
|
|
221
|
+
args: ["-y", "@modelcontextprotocol/server-memory"],
|
|
198
222
|
env: {
|
|
199
|
-
MEMORY_FILE_PATH:
|
|
223
|
+
MEMORY_FILE_PATH: "${HOME}/.mcp-memory/memory.json",
|
|
200
224
|
},
|
|
201
225
|
healthCheck: {
|
|
202
226
|
enabled: true,
|
|
@@ -205,10 +229,10 @@ export const EXAMPLE_SERVERS = [
|
|
|
205
229
|
},
|
|
206
230
|
},
|
|
207
231
|
{
|
|
208
|
-
name:
|
|
209
|
-
transport:
|
|
210
|
-
command:
|
|
211
|
-
args: [
|
|
232
|
+
name: "filesystem",
|
|
233
|
+
transport: "stdio",
|
|
234
|
+
command: "npx",
|
|
235
|
+
args: ["-y", "@modelcontextprotocol/server-filesystem", "."],
|
|
212
236
|
env: {},
|
|
213
237
|
healthCheck: {
|
|
214
238
|
enabled: true,
|
|
@@ -217,12 +241,12 @@ export const EXAMPLE_SERVERS = [
|
|
|
217
241
|
},
|
|
218
242
|
},
|
|
219
243
|
{
|
|
220
|
-
name:
|
|
221
|
-
transport:
|
|
222
|
-
command:
|
|
223
|
-
args: [
|
|
244
|
+
name: "sqlite",
|
|
245
|
+
transport: "stdio",
|
|
246
|
+
command: "npx",
|
|
247
|
+
args: ["-y", "@modelcontextprotocol/server-sqlite"],
|
|
224
248
|
env: {
|
|
225
|
-
SQLITE_DB_PATH:
|
|
249
|
+
SQLITE_DB_PATH: "${HOME}/.mcp/data.db",
|
|
226
250
|
},
|
|
227
251
|
healthCheck: {
|
|
228
252
|
enabled: false,
|
|
@@ -235,8 +259,8 @@ export const EXAMPLE_SERVERS = [
|
|
|
235
259
|
* Get default config for environment
|
|
236
260
|
*/
|
|
237
261
|
export function getDefaultConfigForEnv(env) {
|
|
238
|
-
const environment = env || process.env.NODE_ENV ||
|
|
239
|
-
if (environment ===
|
|
262
|
+
const environment = env || process.env.NODE_ENV || "development";
|
|
263
|
+
if (environment === "production") {
|
|
240
264
|
return PROD_PROFILE_CONFIG;
|
|
241
265
|
}
|
|
242
266
|
return DEV_PROFILE_CONFIG;
|
|
@@ -246,14 +270,14 @@ export function getDefaultConfigForEnv(env) {
|
|
|
246
270
|
*/
|
|
247
271
|
export function mergeConfigs(...configs) {
|
|
248
272
|
const result = {
|
|
249
|
-
version:
|
|
273
|
+
version: "1.0.0",
|
|
250
274
|
servers: [],
|
|
251
275
|
plugins: [],
|
|
252
276
|
profiles: [],
|
|
253
277
|
environment: {},
|
|
254
|
-
secrets: { provider:
|
|
278
|
+
secrets: { provider: "env", keyringService: "metalink" },
|
|
255
279
|
schemasCacheTTL: 900000, // 15 minutes
|
|
256
|
-
schemasCachePath:
|
|
280
|
+
schemasCachePath: "~/.config/metalink/schemas", // v1.3.60: Global cache across versions
|
|
257
281
|
maxSchemaCacheEntries: 100, // Maximum schemas in memory (LRU eviction)
|
|
258
282
|
schemasBackgroundRefresh: true,
|
|
259
283
|
backgroundSchemaPopulation: true, // v1.3.64 - Background population of missing schemas (enabled by default)
|
|
@@ -278,6 +302,14 @@ export function mergeConfigs(...configs) {
|
|
|
278
302
|
maxDelay: 300000,
|
|
279
303
|
backoffMultiplier: 2,
|
|
280
304
|
},
|
|
305
|
+
toon: {
|
|
306
|
+
enabled: false,
|
|
307
|
+
format: "json",
|
|
308
|
+
includeDescriptions: true,
|
|
309
|
+
includeTypes: true,
|
|
310
|
+
includeExamples: true,
|
|
311
|
+
maxDescriptionLength: 100,
|
|
312
|
+
},
|
|
281
313
|
};
|
|
282
314
|
for (const config of configs) {
|
|
283
315
|
if (config.version)
|
|
@@ -309,15 +341,21 @@ export function mergeConfigs(...configs) {
|
|
|
309
341
|
if (config.base_servers_auto_start !== undefined)
|
|
310
342
|
result.base_servers_auto_start = config.base_servers_auto_start;
|
|
311
343
|
if (config.base_servers_auto_expose_tools !== undefined)
|
|
312
|
-
result.base_servers_auto_expose_tools =
|
|
344
|
+
result.base_servers_auto_expose_tools =
|
|
345
|
+
config.base_servers_auto_expose_tools;
|
|
313
346
|
if (config.base_servers !== undefined)
|
|
314
347
|
result.base_servers = config.base_servers;
|
|
315
348
|
if (config.timeouts !== undefined)
|
|
316
349
|
result.timeouts = { ...result.timeouts, ...config.timeouts };
|
|
317
350
|
if (config.circuitBreaker !== undefined)
|
|
318
|
-
result.circuitBreaker = {
|
|
351
|
+
result.circuitBreaker = {
|
|
352
|
+
...result.circuitBreaker,
|
|
353
|
+
...config.circuitBreaker,
|
|
354
|
+
};
|
|
319
355
|
if (config.autoRestart !== undefined)
|
|
320
356
|
result.autoRestart = { ...result.autoRestart, ...config.autoRestart };
|
|
357
|
+
if (config.toon !== undefined)
|
|
358
|
+
result.toon = { ...result.toon, ...config.toon };
|
|
321
359
|
}
|
|
322
360
|
return result;
|
|
323
361
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,QAAQ;KACf;IACD,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,KAAK,EAAE,WAAW;QAC5B,GAAG,EAAE,GAAG,EAAE,0BAA0B;QACpC,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC1D,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE;IACP,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,KAAK,EAAE,aAAa;QAC9B,OAAO,EAAE,IAAI,EAAE,YAAY;KAC5B;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,qBAAqB;IAC7B,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,EAAE;IACf,OAAO,EAAE;QACP,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,UAAU;KAC3B;IACD,eAAe,EAAE,MAAM,EAAE,aAAa;IACtC,gBAAgB,EAAE,4BAA4B,EAAE,wCAAwC;IACxF,qBAAqB,EAAE,GAAG,EAAE,2CAA2C;IACvE,wBAAwB,EAAE,IAAI;IAC9B,0BAA0B,EAAE,IAAI,EAAE,0EAA0E;IAC5G,mBAAmB,EAAE,KAAK,EAAE,mCAAmC;IAC/D,uBAAuB,EAAE,IAAI,EAAE,mDAAmD;IAClF,8BAA8B,EAAE,KAAK,EAAE,gEAAgE;IACvG,QAAQ,EAAE;QACR,UAAU,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MetalinkConfig, ServerConfig, DaemonConfig } from
|
|
1
|
+
import { MetalinkConfig, ServerConfig, DaemonConfig } from "./schema.js";
|
|
2
2
|
/**
|
|
3
3
|
* ConfigLoader - Handles loading and validation of metalink configurations
|
|
4
4
|
* Supports YAML and JSON formats with environment variable interpolation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EAEd,YAAY,EACZ,YAAY,EACb,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAA+B;gBAEjC,UAAU,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|