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.
Files changed (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +176 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +191 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/export.d.ts +5 -0
  8. package/dist/commands/export.d.ts.map +1 -0
  9. package/dist/commands/export.js +117 -0
  10. package/dist/commands/export.js.map +1 -0
  11. package/dist/commands/install.d.ts +4 -0
  12. package/dist/commands/install.d.ts.map +1 -0
  13. package/dist/commands/install.js +120 -0
  14. package/dist/commands/install.js.map +1 -0
  15. package/dist/commands/list.d.ts +4 -0
  16. package/dist/commands/list.d.ts.map +1 -0
  17. package/dist/commands/list.js +62 -0
  18. package/dist/commands/list.js.map +1 -0
  19. package/dist/commands/openclaw.d.ts +6 -0
  20. package/dist/commands/openclaw.d.ts.map +1 -0
  21. package/dist/commands/openclaw.js +163 -0
  22. package/dist/commands/openclaw.js.map +1 -0
  23. package/dist/commands/search.d.ts +4 -0
  24. package/dist/commands/search.d.ts.map +1 -0
  25. package/dist/commands/search.js +88 -0
  26. package/dist/commands/search.js.map +1 -0
  27. package/dist/commands/template.d.ts +5 -0
  28. package/dist/commands/template.d.ts.map +1 -0
  29. package/dist/commands/template.js +122 -0
  30. package/dist/commands/template.js.map +1 -0
  31. package/dist/commands/toggle.d.ts +3 -0
  32. package/dist/commands/toggle.d.ts.map +1 -0
  33. package/dist/commands/toggle.js +53 -0
  34. package/dist/commands/toggle.js.map +1 -0
  35. package/dist/commands/uninstall.d.ts +2 -0
  36. package/dist/commands/uninstall.d.ts.map +1 -0
  37. package/dist/commands/uninstall.js +48 -0
  38. package/dist/commands/uninstall.js.map +1 -0
  39. package/package.json +56 -0
  40. package/src/cli.ts +191 -0
  41. package/src/commands/export.ts +127 -0
  42. package/src/commands/install.ts +139 -0
  43. package/src/commands/list.ts +75 -0
  44. package/src/commands/openclaw.ts +186 -0
  45. package/src/commands/search.ts +99 -0
  46. package/src/commands/template.ts +135 -0
  47. package/src/commands/toggle.ts +58 -0
  48. package/src/commands/uninstall.ts +51 -0
  49. 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,4 @@
1
+ export declare function listServers(options: {
2
+ all?: boolean;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=list.d.ts.map
@@ -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,6 @@
1
+ export declare const openclawCommand: {
2
+ setup(): Promise<void>;
3
+ sync(): Promise<void>;
4
+ status(): Promise<void>;
5
+ };
6
+ //# sourceMappingURL=openclaw.d.ts.map
@@ -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,4 @@
1
+ export declare function searchServers(query: string, options: {
2
+ category?: string;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=search.d.ts.map
@@ -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,5 @@
1
+ export declare const templateCommand: {
2
+ list(): Promise<void>;
3
+ use(templateName: string): Promise<void>;
4
+ };
5
+ //# sourceMappingURL=template.d.ts.map
@@ -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,3 @@
1
+ export declare function enableServer(serverName: string): Promise<void>;
2
+ export declare function disableServer(serverName: string): Promise<void>;
3
+ //# sourceMappingURL=toggle.d.ts.map
@@ -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,2 @@
1
+ export declare function uninstallServer(serverName: string): Promise<void>;
2
+ //# sourceMappingURL=uninstall.d.ts.map
@@ -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"}