mcpmate 0.1.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/LICENSE +21 -0
- package/README.md +176 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +191 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/export.d.ts +5 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +117 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/install.d.ts +4 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +120 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/list.d.ts +4 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +62 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/openclaw.d.ts +6 -0
- package/dist/commands/openclaw.d.ts.map +1 -0
- package/dist/commands/openclaw.js +163 -0
- package/dist/commands/openclaw.js.map +1 -0
- package/dist/commands/search.d.ts +4 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +88 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/template.d.ts +5 -0
- package/dist/commands/template.d.ts.map +1 -0
- package/dist/commands/template.js +122 -0
- package/dist/commands/template.js.map +1 -0
- package/dist/commands/toggle.d.ts +3 -0
- package/dist/commands/toggle.d.ts.map +1 -0
- package/dist/commands/toggle.js +53 -0
- package/dist/commands/toggle.js.map +1 -0
- package/dist/commands/uninstall.d.ts +2 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +48 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/package.json +56 -0
- package/src/cli.ts +191 -0
- package/src/commands/export.ts +127 -0
- package/src/commands/install.ts +139 -0
- package/src/commands/list.ts +75 -0
- package/src/commands/openclaw.ts +186 -0
- package/src/commands/search.ts +99 -0
- package/src/commands/template.ts +135 -0
- package/src/commands/toggle.ts +58 -0
- package/src/commands/uninstall.ts +51 -0
- package/tsconfig.json +19 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAwBA,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD3E"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.listServers = listServers;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const os_1 = __importDefault(require("os"));
|
|
11
|
+
const CONFIG_DIR = path_1.default.join(os_1.default.homedir(), '.mcpm');
|
|
12
|
+
const SERVERS_FILE = path_1.default.join(CONFIG_DIR, 'servers.json');
|
|
13
|
+
async function getInstalledServers() {
|
|
14
|
+
if (await fs_extra_1.default.pathExists(SERVERS_FILE)) {
|
|
15
|
+
return await fs_extra_1.default.readJson(SERVERS_FILE);
|
|
16
|
+
}
|
|
17
|
+
return {};
|
|
18
|
+
}
|
|
19
|
+
async function listServers(options) {
|
|
20
|
+
console.log(chalk_1.default.blue('📋 Installed MCP servers\n'));
|
|
21
|
+
const servers = await getInstalledServers();
|
|
22
|
+
const serverList = Object.values(servers);
|
|
23
|
+
if (serverList.length === 0) {
|
|
24
|
+
console.log(chalk_1.default.yellow('No servers installed yet.'));
|
|
25
|
+
console.log(chalk_1.default.gray('Search and install servers with:'), chalk_1.default.cyan('mcpm search <query>'));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
// Filter enabled/disabled
|
|
29
|
+
const filteredServers = options.all
|
|
30
|
+
? serverList
|
|
31
|
+
: serverList.filter(s => s.enabled);
|
|
32
|
+
if (filteredServers.length === 0 && !options.all) {
|
|
33
|
+
console.log(chalk_1.default.yellow('No enabled servers.'));
|
|
34
|
+
console.log(chalk_1.default.gray('Use --all to see disabled servers.'));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
// Group by status
|
|
38
|
+
const enabledServers = filteredServers.filter(s => s.enabled);
|
|
39
|
+
const disabledServers = filteredServers.filter(s => !s.enabled);
|
|
40
|
+
if (enabledServers.length > 0) {
|
|
41
|
+
console.log(chalk_1.default.green(`✅ Enabled (${enabledServers.length}):\n`));
|
|
42
|
+
enabledServers.forEach((server, index) => {
|
|
43
|
+
console.log(chalk_1.default.white(` ${index + 1}. ${chalk_1.default.bold(server.name)}`));
|
|
44
|
+
console.log(chalk_1.default.gray(` Command: ${server.command} ${server.args.join(' ')}`));
|
|
45
|
+
console.log(chalk_1.default.gray(` Installed: ${new Date(server.installedAt).toLocaleDateString()}`));
|
|
46
|
+
console.log();
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
if (disabledServers.length > 0) {
|
|
50
|
+
console.log(chalk_1.default.gray(`⏸️ Disabled (${disabledServers.length}):\n`));
|
|
51
|
+
disabledServers.forEach((server, index) => {
|
|
52
|
+
console.log(chalk_1.default.gray(` ${index + 1}. ${server.name}`));
|
|
53
|
+
console.log();
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
console.log(chalk_1.default.blue('💡 Commands:'));
|
|
57
|
+
console.log(chalk_1.default.gray(' Enable:'), chalk_1.default.cyan('mcpm enable <server>'));
|
|
58
|
+
console.log(chalk_1.default.gray(' Disable:'), chalk_1.default.cyan('mcpm disable <server>'));
|
|
59
|
+
console.log(chalk_1.default.gray(' Uninstall:'), chalk_1.default.cyan('mcpm uninstall <server>'));
|
|
60
|
+
console.log(chalk_1.default.gray(' Export:'), chalk_1.default.cyan('mcpm export'));
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openclaw.d.ts","sourceRoot":"","sources":["../../src/commands/openclaw.ts"],"names":[],"mappings":"AAsCA,eAAO,MAAM,eAAe;aACX,OAAO,CAAC,IAAI,CAAC;YAsCd,OAAO,CAAC,IAAI,CAAC;cA4DX,OAAO,CAAC,IAAI,CAAC;CAgD9B,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.openclawCommand = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const os_1 = __importDefault(require("os"));
|
|
11
|
+
const yaml_1 = __importDefault(require("yaml"));
|
|
12
|
+
const CONFIG_DIR = path_1.default.join(os_1.default.homedir(), '.mcpm');
|
|
13
|
+
const SERVERS_FILE = path_1.default.join(CONFIG_DIR, 'servers.json');
|
|
14
|
+
// OpenClaw configuration paths
|
|
15
|
+
const OPENCLAW_CONFIG_PATHS = [
|
|
16
|
+
path_1.default.join(os_1.default.homedir(), '.openclaw', 'mcp.yaml'),
|
|
17
|
+
path_1.default.join(os_1.default.homedir(), '.openclaw', 'mcp.json'),
|
|
18
|
+
path_1.default.join(os_1.default.homedir(), '.openclaw', 'config', 'mcp.yaml'),
|
|
19
|
+
];
|
|
20
|
+
async function getInstalledServers() {
|
|
21
|
+
if (await fs_extra_1.default.pathExists(SERVERS_FILE)) {
|
|
22
|
+
return await fs_extra_1.default.readJson(SERVERS_FILE);
|
|
23
|
+
}
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
26
|
+
async function findOpenClawConfig() {
|
|
27
|
+
for (const configPath of OPENCLAW_CONFIG_PATHS) {
|
|
28
|
+
if (await fs_extra_1.default.pathExists(configPath)) {
|
|
29
|
+
return configPath;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
async function ensureOpenClawConfigDir() {
|
|
35
|
+
const openclawDir = path_1.default.join(os_1.default.homedir(), '.openclaw');
|
|
36
|
+
await fs_extra_1.default.ensureDir(openclawDir);
|
|
37
|
+
return path_1.default.join(openclawDir, 'mcp.yaml');
|
|
38
|
+
}
|
|
39
|
+
exports.openclawCommand = {
|
|
40
|
+
async setup() {
|
|
41
|
+
console.log(chalk_1.default.blue('🔧 Setting up OpenClaw MCP integration...\n'));
|
|
42
|
+
const existingConfig = await findOpenClawConfig();
|
|
43
|
+
if (existingConfig) {
|
|
44
|
+
console.log(chalk_1.default.green('✅ OpenClaw configuration found:'));
|
|
45
|
+
console.log(chalk_1.default.gray(` ${existingConfig}`));
|
|
46
|
+
console.log();
|
|
47
|
+
console.log(chalk_1.default.blue('💡 Run the following to sync your MCP servers:'));
|
|
48
|
+
console.log(chalk_1.default.cyan(' mcpm openclaw sync'));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
console.log(chalk_1.default.yellow('⚠️ No existing OpenClaw configuration found.'));
|
|
52
|
+
console.log(chalk_1.default.gray('Creating new configuration...\n'));
|
|
53
|
+
const configPath = await ensureOpenClawConfigDir();
|
|
54
|
+
const initialConfig = {
|
|
55
|
+
version: '1.0',
|
|
56
|
+
mcpServers: {},
|
|
57
|
+
metadata: {
|
|
58
|
+
createdAt: new Date().toISOString(),
|
|
59
|
+
tool: 'mcp-server-manager'
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
await fs_extra_1.default.writeFile(configPath, yaml_1.default.stringify(initialConfig));
|
|
63
|
+
console.log(chalk_1.default.green('✅ OpenClaw configuration created:'));
|
|
64
|
+
console.log(chalk_1.default.gray(` ${configPath}`));
|
|
65
|
+
}
|
|
66
|
+
console.log();
|
|
67
|
+
console.log(chalk_1.default.blue('📚 Next steps:'));
|
|
68
|
+
console.log(chalk_1.default.gray(' 1. Install MCP servers:'), chalk_1.default.cyan('mcpm install <server>'));
|
|
69
|
+
console.log(chalk_1.default.gray(' 2. Enable servers:'), chalk_1.default.cyan('mcpm enable <server>'));
|
|
70
|
+
console.log(chalk_1.default.gray(' 3. Sync to OpenClaw:'), chalk_1.default.cyan('mcpm openclaw sync'));
|
|
71
|
+
},
|
|
72
|
+
async sync() {
|
|
73
|
+
console.log(chalk_1.default.blue('🔄 Syncing MCP configuration to OpenClaw...\n'));
|
|
74
|
+
const servers = await getInstalledServers();
|
|
75
|
+
const enabledServers = Object.values(servers).filter((s) => s.enabled);
|
|
76
|
+
if (enabledServers.length === 0) {
|
|
77
|
+
console.log(chalk_1.default.yellow('⚠️ No enabled servers to sync.'));
|
|
78
|
+
console.log(chalk_1.default.gray('Enable servers with:'), chalk_1.default.cyan('mcpm enable <server>'));
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const configPath = await findOpenClawConfig() || await ensureOpenClawConfigDir();
|
|
82
|
+
// Build MCP servers config
|
|
83
|
+
const mcpServers = {};
|
|
84
|
+
enabledServers.forEach((server) => {
|
|
85
|
+
mcpServers[server.name] = {
|
|
86
|
+
command: server.command,
|
|
87
|
+
args: server.args,
|
|
88
|
+
env: server.env || {},
|
|
89
|
+
enabled: true
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
// Read existing config or create new
|
|
93
|
+
let existingConfig = {};
|
|
94
|
+
if (await fs_extra_1.default.pathExists(configPath)) {
|
|
95
|
+
const content = await fs_extra_1.default.readFile(configPath, 'utf-8');
|
|
96
|
+
existingConfig = yaml_1.default.parse(content) || {};
|
|
97
|
+
}
|
|
98
|
+
// Merge configs
|
|
99
|
+
const newConfig = {
|
|
100
|
+
...existingConfig,
|
|
101
|
+
version: existingConfig.version || '1.0',
|
|
102
|
+
mcpServers,
|
|
103
|
+
metadata: {
|
|
104
|
+
...(existingConfig.metadata || {}),
|
|
105
|
+
lastSyncedAt: new Date().toISOString(),
|
|
106
|
+
tool: 'mcp-server-manager',
|
|
107
|
+
version: '0.1.0'
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
await fs_extra_1.default.writeFile(configPath, yaml_1.default.stringify(newConfig));
|
|
111
|
+
console.log(chalk_1.default.green('✅ Synced successfully!'));
|
|
112
|
+
console.log(chalk_1.default.gray(`Configuration: ${configPath}`));
|
|
113
|
+
console.log(chalk_1.default.gray(`Servers synced: ${enabledServers.length}`));
|
|
114
|
+
console.log();
|
|
115
|
+
enabledServers.forEach((server) => {
|
|
116
|
+
console.log(chalk_1.default.gray(` • ${server.name}`));
|
|
117
|
+
});
|
|
118
|
+
console.log();
|
|
119
|
+
console.log(chalk_1.default.blue('💡 Restart OpenClaw to apply changes.'));
|
|
120
|
+
},
|
|
121
|
+
async status() {
|
|
122
|
+
console.log(chalk_1.default.blue('📊 OpenClaw MCP Configuration Status\n'));
|
|
123
|
+
const configPath = await findOpenClawConfig();
|
|
124
|
+
if (!configPath) {
|
|
125
|
+
console.log(chalk_1.default.yellow('⚠️ OpenClaw configuration not found.'));
|
|
126
|
+
console.log(chalk_1.default.gray('Run setup first:'), chalk_1.default.cyan('mcpm openclaw setup'));
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
console.log(chalk_1.default.green('✅ Configuration found:'));
|
|
130
|
+
console.log(chalk_1.default.gray(` ${configPath}`));
|
|
131
|
+
console.log();
|
|
132
|
+
const content = await fs_extra_1.default.readFile(configPath, 'utf-8');
|
|
133
|
+
const config = yaml_1.default.parse(content) || {};
|
|
134
|
+
if (config.metadata) {
|
|
135
|
+
console.log(chalk_1.default.blue('Metadata:'));
|
|
136
|
+
if (config.metadata.lastSyncedAt) {
|
|
137
|
+
console.log(chalk_1.default.gray(` Last synced: ${new Date(config.metadata.lastSyncedAt).toLocaleString()}`));
|
|
138
|
+
}
|
|
139
|
+
if (config.metadata.tool) {
|
|
140
|
+
console.log(chalk_1.default.gray(` Managed by: ${config.metadata.tool}`));
|
|
141
|
+
}
|
|
142
|
+
console.log();
|
|
143
|
+
}
|
|
144
|
+
const mcpServers = config.mcpServers || {};
|
|
145
|
+
const serverCount = Object.keys(mcpServers).length;
|
|
146
|
+
if (serverCount === 0) {
|
|
147
|
+
console.log(chalk_1.default.yellow('No MCP servers configured.'));
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
console.log(chalk_1.default.blue(`MCP Servers (${serverCount}):\n`));
|
|
151
|
+
Object.entries(mcpServers).forEach(([name, server]) => {
|
|
152
|
+
const status = server.enabled !== false ? chalk_1.default.green('✅') : chalk_1.default.gray('⏸️');
|
|
153
|
+
console.log(` ${status} ${name}`);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
console.log();
|
|
157
|
+
console.log(chalk_1.default.blue('💡 Commands:'));
|
|
158
|
+
console.log(chalk_1.default.gray(' Sync:'), chalk_1.default.cyan('mcpm openclaw sync'));
|
|
159
|
+
console.log(chalk_1.default.gray(' List local:'), chalk_1.default.cyan('mcpm list'));
|
|
160
|
+
console.log(chalk_1.default.gray(' Install:'), chalk_1.default.cyan('mcpm install <server>'));
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=openclaw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../src/commands/openclaw.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAgEA,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkChG"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.searchServers = searchServers;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
// Mock registry data for MVP
|
|
9
|
+
const MOCK_REGISTRY = [
|
|
10
|
+
{
|
|
11
|
+
name: '@modelcontextprotocol/server-postgres',
|
|
12
|
+
description: 'PostgreSQL database integration',
|
|
13
|
+
author: 'Anthropic',
|
|
14
|
+
category: 'database',
|
|
15
|
+
downloads: 15000,
|
|
16
|
+
rating: 4.5
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: '@modelcontextprotocol/server-github',
|
|
20
|
+
description: 'GitHub API integration',
|
|
21
|
+
author: 'Anthropic',
|
|
22
|
+
category: 'version-control',
|
|
23
|
+
downloads: 12000,
|
|
24
|
+
rating: 4.7
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: '@modelcontextprotocol/server-filesystem',
|
|
28
|
+
description: 'Local filesystem access',
|
|
29
|
+
author: 'Anthropic',
|
|
30
|
+
category: 'filesystem',
|
|
31
|
+
downloads: 20000,
|
|
32
|
+
rating: 4.6
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: '@modelcontextprotocol/server-puppeteer',
|
|
36
|
+
description: 'Web scraping and browser automation',
|
|
37
|
+
author: 'Anthropic',
|
|
38
|
+
category: 'automation',
|
|
39
|
+
downloads: 8000,
|
|
40
|
+
rating: 4.3
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: '@modelcontextprotocol/server-redis',
|
|
44
|
+
description: 'Redis database integration',
|
|
45
|
+
author: 'Community',
|
|
46
|
+
category: 'database',
|
|
47
|
+
downloads: 6000,
|
|
48
|
+
rating: 4.4
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: '@modelcontextprotocol/server-slack',
|
|
52
|
+
description: 'Slack workspace integration',
|
|
53
|
+
author: 'Anthropic',
|
|
54
|
+
category: 'communication',
|
|
55
|
+
downloads: 9000,
|
|
56
|
+
rating: 4.5
|
|
57
|
+
}
|
|
58
|
+
];
|
|
59
|
+
async function searchServers(query, options) {
|
|
60
|
+
console.log(chalk_1.default.blue('🔍 Searching for MCP servers...'));
|
|
61
|
+
console.log(chalk_1.default.gray(`Query: "${query}"`));
|
|
62
|
+
if (options.category) {
|
|
63
|
+
console.log(chalk_1.default.gray(`Category: ${options.category}`));
|
|
64
|
+
}
|
|
65
|
+
console.log();
|
|
66
|
+
// Filter servers based on query
|
|
67
|
+
const filteredServers = MOCK_REGISTRY.filter(server => {
|
|
68
|
+
const matchesQuery = server.name.toLowerCase().includes(query.toLowerCase()) ||
|
|
69
|
+
server.description.toLowerCase().includes(query.toLowerCase());
|
|
70
|
+
const matchesCategory = !options.category || server.category === options.category;
|
|
71
|
+
return matchesQuery && matchesCategory;
|
|
72
|
+
});
|
|
73
|
+
if (filteredServers.length === 0) {
|
|
74
|
+
console.log(chalk_1.default.yellow('No servers found matching your query.'));
|
|
75
|
+
console.log(chalk_1.default.gray('Try searching with different keywords or browse all with: mcpm list --all'));
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
console.log(chalk_1.default.green(`Found ${filteredServers.length} server(s):\n`));
|
|
79
|
+
filteredServers.forEach((server, index) => {
|
|
80
|
+
console.log(chalk_1.default.white(`${index + 1}. ${chalk_1.default.bold(server.name)}`));
|
|
81
|
+
console.log(chalk_1.default.gray(` ${server.description}`));
|
|
82
|
+
console.log(chalk_1.default.gray(` Category: ${server.category} | Author: ${server.author}`));
|
|
83
|
+
console.log(chalk_1.default.gray(` Downloads: ${server.downloads.toLocaleString()} | Rating: ${'⭐'.repeat(Math.floor(server.rating))}`));
|
|
84
|
+
console.log();
|
|
85
|
+
});
|
|
86
|
+
console.log(chalk_1.default.blue('💡 Install a server with:'), chalk_1.default.cyan('mcpm install <server-name>'));
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"AAiEA,eAAO,MAAM,eAAe;YACZ,OAAO,CAAC,IAAI,CAAC;sBAgBH,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAoD/C,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.templateCommand = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
9
|
+
const install_1 = require("./install");
|
|
10
|
+
const TEMPLATES = {
|
|
11
|
+
'ecommerce-analytics': {
|
|
12
|
+
name: 'ecommerce-analytics',
|
|
13
|
+
description: '电商数据分析场景 - 包含数据库、缓存、电商 API',
|
|
14
|
+
category: '电商',
|
|
15
|
+
servers: [
|
|
16
|
+
'@modelcontextprotocol/server-postgres',
|
|
17
|
+
'@modelcontextprotocol/server-redis',
|
|
18
|
+
'@custom/taobao-api',
|
|
19
|
+
'@custom/jingdong-api'
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
'content-creation': {
|
|
23
|
+
name: 'content-creation',
|
|
24
|
+
description: '内容创作场景 - 小红书、抖音内容创作助手',
|
|
25
|
+
category: '内容',
|
|
26
|
+
servers: [
|
|
27
|
+
'@modelcontextprotocol/server-filesystem',
|
|
28
|
+
'@custom/xiaohongshu-api',
|
|
29
|
+
'@custom/douyin-api'
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
'wechat-miniprogram': {
|
|
33
|
+
name: 'wechat-miniprogram',
|
|
34
|
+
description: '微信小程序开发场景',
|
|
35
|
+
category: '开发',
|
|
36
|
+
servers: [
|
|
37
|
+
'@modelcontextprotocol/server-filesystem',
|
|
38
|
+
'@custom/wechat-devtools',
|
|
39
|
+
'@modelcontextprotocol/server-git'
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
'alipay-miniprogram': {
|
|
43
|
+
name: 'alipay-miniprogram',
|
|
44
|
+
description: '支付宝小程序开发场景',
|
|
45
|
+
category: '开发',
|
|
46
|
+
servers: [
|
|
47
|
+
'@modelcontextprotocol/server-filesystem',
|
|
48
|
+
'@custom/alipay-devtools',
|
|
49
|
+
'@modelcontextprotocol/server-git'
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
'backend-api': {
|
|
53
|
+
name: 'backend-api',
|
|
54
|
+
description: '后端 API 开发场景 - 数据库、缓存、消息队列',
|
|
55
|
+
category: '开发',
|
|
56
|
+
servers: [
|
|
57
|
+
'@modelcontextprotocol/server-postgres',
|
|
58
|
+
'@modelcontextprotocol/server-redis',
|
|
59
|
+
'@modelcontextprotocol/server-sqlite'
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
exports.templateCommand = {
|
|
64
|
+
async list() {
|
|
65
|
+
console.log(chalk_1.default.blue('📋 Available Templates\n'));
|
|
66
|
+
const templates = Object.values(TEMPLATES);
|
|
67
|
+
templates.forEach((template, index) => {
|
|
68
|
+
console.log(chalk_1.default.white(`${index + 1}. ${chalk_1.default.bold(template.name)}`));
|
|
69
|
+
console.log(chalk_1.default.gray(` ${template.description}`));
|
|
70
|
+
console.log(chalk_1.default.gray(` Category: ${template.category}`));
|
|
71
|
+
console.log(chalk_1.default.gray(` Servers: ${template.servers.length}`));
|
|
72
|
+
console.log();
|
|
73
|
+
});
|
|
74
|
+
console.log(chalk_1.default.blue('💡 Use a template:'), chalk_1.default.cyan('mcpmate template use <template-name>'));
|
|
75
|
+
},
|
|
76
|
+
async use(templateName) {
|
|
77
|
+
const template = TEMPLATES[templateName];
|
|
78
|
+
if (!template) {
|
|
79
|
+
console.log(chalk_1.default.yellow(`⚠️ Template "${templateName}" not found.`));
|
|
80
|
+
console.log(chalk_1.default.gray('Available templates:'));
|
|
81
|
+
Object.keys(TEMPLATES).forEach(name => {
|
|
82
|
+
console.log(chalk_1.default.gray(` - ${name}`));
|
|
83
|
+
});
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
console.log(chalk_1.default.blue('📦 Using template:'), chalk_1.default.bold(template.name));
|
|
87
|
+
console.log(chalk_1.default.gray(template.description));
|
|
88
|
+
console.log();
|
|
89
|
+
console.log(chalk_1.default.blue('This template includes:'));
|
|
90
|
+
template.servers.forEach(server => {
|
|
91
|
+
console.log(chalk_1.default.gray(` • ${server}`));
|
|
92
|
+
});
|
|
93
|
+
console.log();
|
|
94
|
+
const { confirm } = await inquirer_1.default.prompt([{
|
|
95
|
+
type: 'confirm',
|
|
96
|
+
name: 'confirm',
|
|
97
|
+
message: 'Install all servers in this template?',
|
|
98
|
+
default: true
|
|
99
|
+
}]);
|
|
100
|
+
if (!confirm) {
|
|
101
|
+
console.log(chalk_1.default.gray('Installation cancelled.'));
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
console.log();
|
|
105
|
+
console.log(chalk_1.default.blue('🚀 Installing servers...\n'));
|
|
106
|
+
for (const server of template.servers) {
|
|
107
|
+
try {
|
|
108
|
+
await (0, install_1.installServer)(server, {});
|
|
109
|
+
console.log();
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
console.log(chalk_1.default.yellow(`⚠️ Failed to install ${server}, continuing...`));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
console.log();
|
|
116
|
+
console.log(chalk_1.default.green('✅ Template installation completed!'));
|
|
117
|
+
console.log(chalk_1.default.blue('💡 Next steps:'));
|
|
118
|
+
console.log(chalk_1.default.gray(' - Enable servers:'), chalk_1.default.cyan('mcpmate enable <server>'));
|
|
119
|
+
console.log(chalk_1.default.gray(' - Sync to OpenClaw:'), chalk_1.default.cyan('mcpmate openclaw sync'));
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/commands/toggle.ts"],"names":[],"mappings":"AAoBA,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBpE;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBrE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.enableServer = enableServer;
|
|
7
|
+
exports.disableServer = disableServer;
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const os_1 = __importDefault(require("os"));
|
|
12
|
+
const CONFIG_DIR = path_1.default.join(os_1.default.homedir(), '.mcpm');
|
|
13
|
+
const SERVERS_FILE = path_1.default.join(CONFIG_DIR, 'servers.json');
|
|
14
|
+
async function getInstalledServers() {
|
|
15
|
+
if (await fs_extra_1.default.pathExists(SERVERS_FILE)) {
|
|
16
|
+
return await fs_extra_1.default.readJson(SERVERS_FILE);
|
|
17
|
+
}
|
|
18
|
+
return {};
|
|
19
|
+
}
|
|
20
|
+
async function saveInstalledServers(servers) {
|
|
21
|
+
await fs_extra_1.default.ensureDir(CONFIG_DIR);
|
|
22
|
+
await fs_extra_1.default.writeJson(SERVERS_FILE, servers, { spaces: 2 });
|
|
23
|
+
}
|
|
24
|
+
async function enableServer(serverName) {
|
|
25
|
+
const servers = await getInstalledServers();
|
|
26
|
+
if (!servers[serverName]) {
|
|
27
|
+
console.log(chalk_1.default.yellow(`⚠️ Server "${serverName}" is not installed.`));
|
|
28
|
+
console.log(chalk_1.default.gray('Install it first with:'), chalk_1.default.cyan(`mcpm install ${serverName}`));
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (servers[serverName].enabled) {
|
|
32
|
+
console.log(chalk_1.default.yellow(`⚠️ Server "${serverName}" is already enabled.`));
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
servers[serverName].enabled = true;
|
|
36
|
+
await saveInstalledServers(servers);
|
|
37
|
+
console.log(chalk_1.default.green(`✅ Server "${serverName}" enabled successfully!`));
|
|
38
|
+
}
|
|
39
|
+
async function disableServer(serverName) {
|
|
40
|
+
const servers = await getInstalledServers();
|
|
41
|
+
if (!servers[serverName]) {
|
|
42
|
+
console.log(chalk_1.default.yellow(`⚠️ Server "${serverName}" is not installed.`));
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (!servers[serverName].enabled) {
|
|
46
|
+
console.log(chalk_1.default.yellow(`⚠️ Server "${serverName}" is already disabled.`));
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
servers[serverName].enabled = false;
|
|
50
|
+
await saveInstalledServers(servers);
|
|
51
|
+
console.log(chalk_1.default.gray(`⏸️ Server "${serverName}" disabled.`));
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../src/commands/toggle.ts"],"names":[],"mappings":";;;;;AAoBA,oCAkBC;AAED,sCAiBC;AAzDD,kDAA0B;AAC1B,wDAA0B;AAC1B,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AACpD,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAE3D,KAAK,UAAU,mBAAmB;IAChC,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,MAAM,kBAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAA4B;IAC9D,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,kBAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,UAAkB;IACnD,MAAM,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAE5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,eAAe,UAAU,qBAAqB,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,eAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,eAAe,UAAU,uBAAuB,CAAC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;IACnC,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,UAAU,yBAAyB,CAAC,CAAC,CAAC;AAC7E,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,MAAM,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAE5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,eAAe,UAAU,qBAAqB,CAAC,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,eAAe,UAAU,wBAAwB,CAAC,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;IACpC,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,UAAU,aAAa,CAAC,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAqBA,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BvE"}
|