mcp-server-gemini 1.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 (48) hide show
  1. package/CHANGELOG.md +155 -0
  2. package/LICENSE +21 -0
  3. package/README.md +180 -0
  4. package/dist/config/constants.js +71 -0
  5. package/dist/config/constants.js.map +1 -0
  6. package/dist/config/models.js +121 -0
  7. package/dist/config/models.js.map +1 -0
  8. package/dist/enhanced-stdio-server.js +1164 -0
  9. package/dist/enhanced-stdio-server.js.map +1 -0
  10. package/dist/i18n.js +109 -0
  11. package/dist/i18n.js.map +1 -0
  12. package/dist/server.js +251 -0
  13. package/dist/server.js.map +1 -0
  14. package/dist/tools/analyze-codebase.js +373 -0
  15. package/dist/tools/analyze-codebase.js.map +1 -0
  16. package/dist/tools/analyze-content.js +295 -0
  17. package/dist/tools/analyze-content.js.map +1 -0
  18. package/dist/tools/brainstorm.js +237 -0
  19. package/dist/tools/brainstorm.js.map +1 -0
  20. package/dist/tools/definitions.js +375 -0
  21. package/dist/tools/definitions.js.map +1 -0
  22. package/dist/tools/fix-ui.js +262 -0
  23. package/dist/tools/fix-ui.js.map +1 -0
  24. package/dist/tools/generate-ui.js +311 -0
  25. package/dist/tools/generate-ui.js.map +1 -0
  26. package/dist/tools/index.js +17 -0
  27. package/dist/tools/index.js.map +1 -0
  28. package/dist/tools/list-models.js +30 -0
  29. package/dist/tools/list-models.js.map +1 -0
  30. package/dist/tools/multimodal-query.js +83 -0
  31. package/dist/tools/multimodal-query.js.map +1 -0
  32. package/dist/tools/search.js +94 -0
  33. package/dist/tools/search.js.map +1 -0
  34. package/dist/types.js +2 -0
  35. package/dist/types.js.map +1 -0
  36. package/dist/utils/error-handler.js +69 -0
  37. package/dist/utils/error-handler.js.map +1 -0
  38. package/dist/utils/file-reader.js +470 -0
  39. package/dist/utils/file-reader.js.map +1 -0
  40. package/dist/utils/gemini-client.js +184 -0
  41. package/dist/utils/gemini-client.js.map +1 -0
  42. package/dist/utils/security.js +370 -0
  43. package/dist/utils/security.js.map +1 -0
  44. package/dist/utils/validators.js +150 -0
  45. package/dist/utils/validators.js.map +1 -0
  46. package/dist/windows-utils.js +175 -0
  47. package/dist/windows-utils.js.map +1 -0
  48. package/package.json +69 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanced-stdio-server.js","sourceRoot":"","sources":["../src/enhanced-stdio-server.ts"],"names":[],"mappings":"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"}
package/dist/i18n.js ADDED
@@ -0,0 +1,109 @@
1
+ /**
2
+ * 国际化支持 - 中文错误信息和系统提示
3
+ * i18n Support - Chinese error messages and system prompts
4
+ */
5
+ export const ERROR_MESSAGES = {
6
+ API_KEY_MISSING: '缺少 GEMINI_API_KEY 环境变量。请设置您的 Google Gemini API 密钥。',
7
+ API_KEY_INVALID: 'Gemini API 密钥无效或已过期。请检查您的 API 密钥。',
8
+ MODEL_NOT_FOUND: '找不到指定的模型。请使用 list_models 工具查看可用模型列表。',
9
+ NETWORK_ERROR: '网络连接失败。请检查您的网络连接和代理设置。',
10
+ RATE_LIMIT: 'API 调用频率超限。请稍后重试。',
11
+ CONTEXT_TOO_LONG: '上下文长度超出模型限制。请减少输入内容或清除对话历史。',
12
+ SAFETY_BLOCKED: '内容因安全策略被拦截。请修改您的输入内容。',
13
+ INVALID_REQUEST: '无效的请求格式。请检查您的输入参数。',
14
+ SERVER_ERROR: 'Gemini API 服务器错误。请稍后重试。',
15
+ THINKING_NOT_SUPPORTED: '所选模型不支持思考模式。请使用 gemini-2.5-pro 或 gemini-2.5-flash。',
16
+ FILE_NOT_FOUND: '找不到指定的文件。请检查文件路径是否正确。',
17
+ FILE_READ_ERROR: '读取文件失败。请检查文件权限和路径格式。'
18
+ };
19
+ export const SYSTEM_PROMPTS = {
20
+ CHINESE_OPTIMIZATION: `
21
+ 你是一个专为中文用户优化的 AI 助手,运行在 Windows 平台上。
22
+
23
+ ## 重要提示
24
+ 1. **路径格式**: Windows 使用反斜杠 \\ 作为路径分隔符(如 C:\\Users\\...)
25
+ 2. **中文路径**: 支持中文文件名和文件夹名,但建议使用英文路径以避免编码问题
26
+ 3. **换行符**: Windows 使用 CRLF (\\r\\n) 而非 LF (\\n)
27
+ 4. **大小写**: Windows 文件系统不区分大小写
28
+
29
+ ## 交互规则
30
+ - 优先使用中文进行交流
31
+ - 代码注释使用中文
32
+ - 错误信息提供中文说明
33
+ - 提供 Windows 平台特定的建议
34
+ `,
35
+ WINDOWS_PATH_TIPS: `
36
+ ## Windows 路径处理建议
37
+ 1. 使用 path.normalize() 标准化路径
38
+ 2. 使用 path.join() 拼接路径,自动处理分隔符
39
+ 3. 使用 path.resolve() 获取绝对路径
40
+ 4. 避免硬编码路径分隔符
41
+ 5. 处理中文路径时使用 UTF-8 编码
42
+ `
43
+ };
44
+ /**
45
+ * 将英文错误信息翻译为中文
46
+ * @param error 原始错误对象
47
+ * @returns 中文错误信息
48
+ */
49
+ export function translateError(error) {
50
+ const message = error.message || error.toString();
51
+ // API Key 相关
52
+ if (message.includes('API key') || message.includes('GEMINI_API_KEY')) {
53
+ return ERROR_MESSAGES.API_KEY_MISSING;
54
+ }
55
+ if (message.includes('invalid') && message.includes('key')) {
56
+ return ERROR_MESSAGES.API_KEY_INVALID;
57
+ }
58
+ // 网络相关
59
+ if (message.includes('network') || message.includes('ECONNREFUSED') || message.includes('ETIMEDOUT')) {
60
+ return ERROR_MESSAGES.NETWORK_ERROR;
61
+ }
62
+ if (message.includes('rate limit') || message.includes('quota')) {
63
+ return ERROR_MESSAGES.RATE_LIMIT;
64
+ }
65
+ // 模型和内容相关
66
+ if (message.includes('model not found') || message.includes('invalid model')) {
67
+ return ERROR_MESSAGES.MODEL_NOT_FOUND;
68
+ }
69
+ if (message.includes('context length') || message.includes('too long')) {
70
+ return ERROR_MESSAGES.CONTEXT_TOO_LONG;
71
+ }
72
+ if (message.includes('safety') || message.includes('blocked')) {
73
+ return ERROR_MESSAGES.SAFETY_BLOCKED;
74
+ }
75
+ if (message.includes('thinking') && message.includes('not supported')) {
76
+ return ERROR_MESSAGES.THINKING_NOT_SUPPORTED;
77
+ }
78
+ // 文件相关
79
+ if (message.includes('ENOENT') || message.includes('not found')) {
80
+ return ERROR_MESSAGES.FILE_NOT_FOUND;
81
+ }
82
+ if (message.includes('EACCES') || message.includes('permission')) {
83
+ return ERROR_MESSAGES.FILE_READ_ERROR;
84
+ }
85
+ // 服务器错误
86
+ if (message.includes('500') || message.includes('server error')) {
87
+ return ERROR_MESSAGES.SERVER_ERROR;
88
+ }
89
+ // 默认返回原始错误和中文说明
90
+ return `操作失败: ${message}`;
91
+ }
92
+ /**
93
+ * 格式化成功消息
94
+ * @param key 消息类型
95
+ * @param details 详细信息
96
+ * @returns 格式化的中文消息
97
+ */
98
+ export function formatSuccessMessage(key, details) {
99
+ const messages = {
100
+ chat_complete: '对话完成',
101
+ models_listed: `已列出 ${details?.count || 0} 个可用模型`,
102
+ conversation_cleared: '对话历史已清除',
103
+ file_read: `成功读取文件: ${details?.path || ''}`,
104
+ thinking_enabled: '已启用思考模式',
105
+ thinking_disabled: '已禁用思考模式'
106
+ };
107
+ return messages[key] || '操作成功';
108
+ }
109
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
package/dist/server.js ADDED
@@ -0,0 +1,251 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * mcp-server-gemini-lkbaba
4
+ * Main server file
5
+ *
6
+ * Specialized MCP server for Gemini 3.0 Pro focused on UI generation and frontend development
7
+ * Based on: aliargun/mcp-server-gemini v4.2.2
8
+ * Author: LKbaba
9
+ */
10
+ import { createInterface } from 'readline';
11
+ import { SERVER_INFO, MCP_VERSION, ERROR_CODES, TOOL_NAMES } from './config/constants.js';
12
+ import { createGeminiClient } from './utils/gemini-client.js';
13
+ import { handleAPIError, handleValidationError, handleInternalError, logError } from './utils/error-handler.js';
14
+ import { TOOL_DEFINITIONS } from './tools/definitions.js';
15
+ import { handleGenerateUI, handleMultimodalQuery, handleFixUI,
16
+ // handleCreateAnimation removed - animation can be generated via generate_ui
17
+ handleAnalyzeContent, handleAnalyzeCodebase, handleBrainstorm, handleSearch, handleListModels } from './tools/index.js';
18
+ // Setup proxy for Node.js fetch (required for users behind proxy/VPN)
19
+ async function setupProxy() {
20
+ const proxyUrl = process.env.HTTP_PROXY || process.env.HTTPS_PROXY || process.env.http_proxy || process.env.https_proxy;
21
+ if (proxyUrl) {
22
+ try {
23
+ const { ProxyAgent, setGlobalDispatcher } = await import('undici');
24
+ const dispatcher = new ProxyAgent(proxyUrl);
25
+ setGlobalDispatcher(dispatcher);
26
+ console.error(`🌐 Proxy configured: ${proxyUrl}`);
27
+ }
28
+ catch (error) {
29
+ console.error('⚠️ Failed to configure proxy. If you need proxy support, run: npm install undici');
30
+ }
31
+ }
32
+ }
33
+ // Initialize proxy before anything else
34
+ await setupProxy();
35
+ // Increase stdin buffer size (for large images)
36
+ if (process.stdin.setEncoding) {
37
+ process.stdin.setEncoding('utf8');
38
+ }
39
+ // Global state
40
+ let geminiClient = null;
41
+ let isInitialized = false;
42
+ /**
43
+ * Send response to stdout
44
+ */
45
+ function sendResponse(response) {
46
+ console.log(JSON.stringify(response));
47
+ }
48
+ /**
49
+ * Send error response
50
+ */
51
+ function sendError(id, code, message, data) {
52
+ sendResponse({
53
+ jsonrpc: '2.0',
54
+ id,
55
+ error: { code, message, data }
56
+ });
57
+ }
58
+ /**
59
+ * Handle initialize request
60
+ */
61
+ function handleInitialize(request) {
62
+ const result = {
63
+ protocolVersion: MCP_VERSION,
64
+ serverInfo: {
65
+ name: SERVER_INFO.name,
66
+ version: SERVER_INFO.version
67
+ },
68
+ capabilities: {
69
+ tools: {
70
+ listChanged: false
71
+ }
72
+ }
73
+ };
74
+ sendResponse({
75
+ jsonrpc: '2.0',
76
+ id: request.id,
77
+ result
78
+ });
79
+ isInitialized = true;
80
+ }
81
+ /**
82
+ * Handle tools/list request
83
+ */
84
+ function handleToolsList(request) {
85
+ sendResponse({
86
+ jsonrpc: '2.0',
87
+ id: request.id,
88
+ result: {
89
+ tools: TOOL_DEFINITIONS
90
+ }
91
+ });
92
+ }
93
+ /**
94
+ * Handle tools/call request
95
+ */
96
+ async function handleToolsCall(request) {
97
+ if (!isInitialized) {
98
+ sendError(request.id, ERROR_CODES.INTERNAL_ERROR, 'Server not initialized');
99
+ return;
100
+ }
101
+ const { name, arguments: args } = request.params;
102
+ // Initialize Gemini client (if not already)
103
+ if (!geminiClient) {
104
+ const apiKey = process.env.GEMINI_API_KEY;
105
+ if (!apiKey) {
106
+ sendError(request.id, ERROR_CODES.API_ERROR, 'GEMINI_API_KEY environment variable is not set');
107
+ return;
108
+ }
109
+ geminiClient = createGeminiClient(apiKey);
110
+ }
111
+ try {
112
+ let result;
113
+ // Route to corresponding tool handler
114
+ switch (name) {
115
+ case TOOL_NAMES.LIST_MODELS:
116
+ result = await handleListModels();
117
+ break;
118
+ case TOOL_NAMES.GENERATE_UI:
119
+ result = await handleGenerateUI(args, geminiClient);
120
+ break;
121
+ case TOOL_NAMES.MULTIMODAL_QUERY:
122
+ result = await handleMultimodalQuery(args, geminiClient);
123
+ break;
124
+ case TOOL_NAMES.FIX_UI:
125
+ result = await handleFixUI(args, geminiClient);
126
+ break;
127
+ // CREATE_ANIMATION case removed - animation can be generated via generate_ui
128
+ case TOOL_NAMES.ANALYZE_CONTENT:
129
+ result = await handleAnalyzeContent(args, geminiClient);
130
+ break;
131
+ case TOOL_NAMES.ANALYZE_CODEBASE:
132
+ result = await handleAnalyzeCodebase(args, geminiClient);
133
+ break;
134
+ case TOOL_NAMES.BRAINSTORM:
135
+ result = await handleBrainstorm(args, geminiClient);
136
+ break;
137
+ case TOOL_NAMES.SEARCH:
138
+ result = await handleSearch(args, process.env.GEMINI_API_KEY);
139
+ break;
140
+ default:
141
+ sendError(request.id, ERROR_CODES.METHOD_NOT_FOUND, `Unknown tool: ${name}`);
142
+ return;
143
+ }
144
+ // Send success response
145
+ sendResponse({
146
+ jsonrpc: '2.0',
147
+ id: request.id,
148
+ result: {
149
+ content: [
150
+ {
151
+ type: 'text',
152
+ text: typeof result === 'string' ? result : JSON.stringify(result, null, 2)
153
+ }
154
+ ]
155
+ }
156
+ });
157
+ }
158
+ catch (error) {
159
+ logError(`Tool: ${name}`, error);
160
+ // Return appropriate error based on error type
161
+ if (error.message?.includes('not yet implemented')) {
162
+ sendError(request.id, ERROR_CODES.INTERNAL_ERROR, error.message);
163
+ }
164
+ else if (error.message?.includes('required') || error.message?.includes('must be')) {
165
+ const validationError = handleValidationError(error.message);
166
+ sendError(request.id, validationError.code, validationError.message, validationError.data);
167
+ }
168
+ else {
169
+ const apiError = handleAPIError(error);
170
+ sendError(request.id, apiError.code, apiError.message, apiError.data);
171
+ }
172
+ }
173
+ }
174
+ /**
175
+ * Handle request
176
+ */
177
+ async function handleRequest(request) {
178
+ try {
179
+ switch (request.method) {
180
+ case 'initialize':
181
+ handleInitialize(request);
182
+ break;
183
+ case 'tools/list':
184
+ handleToolsList(request);
185
+ break;
186
+ case 'tools/call':
187
+ await handleToolsCall(request);
188
+ break;
189
+ case 'ping':
190
+ sendResponse({
191
+ jsonrpc: '2.0',
192
+ id: request.id,
193
+ result: { status: 'ok' }
194
+ });
195
+ break;
196
+ default:
197
+ sendError(request.id, ERROR_CODES.METHOD_NOT_FOUND, `Method not found: ${request.method}`);
198
+ }
199
+ }
200
+ catch (error) {
201
+ logError('Request handler', error);
202
+ const internalError = handleInternalError(error);
203
+ sendError(request.id, internalError.code, internalError.message, internalError.data);
204
+ }
205
+ }
206
+ /**
207
+ * Main function
208
+ */
209
+ function main() {
210
+ console.error(`🚀 ${SERVER_INFO.name} v${SERVER_INFO.version}`);
211
+ console.error(`📋 Based on: ${SERVER_INFO.basedOn}`);
212
+ console.error(`🎨 Specialized for UI generation and frontend development`);
213
+ console.error(`⚡ Powered by Gemini 3.0 Pro`);
214
+ console.error('');
215
+ console.error('Waiting for requests...');
216
+ console.error('');
217
+ // Read stdin line by line
218
+ const rl = createInterface({
219
+ input: process.stdin,
220
+ output: process.stdout,
221
+ terminal: false
222
+ });
223
+ rl.on('line', async (line) => {
224
+ if (!line.trim())
225
+ return;
226
+ try {
227
+ const request = JSON.parse(line);
228
+ await handleRequest(request);
229
+ }
230
+ catch (error) {
231
+ console.error('Failed to parse request:', error);
232
+ sendError('unknown', ERROR_CODES.PARSE_ERROR, 'Invalid JSON-RPC request');
233
+ }
234
+ });
235
+ rl.on('close', () => {
236
+ console.error('Connection closed');
237
+ process.exit(0);
238
+ });
239
+ // Handle process signals
240
+ process.on('SIGINT', () => {
241
+ console.error('\nShutting down...');
242
+ process.exit(0);
243
+ });
244
+ process.on('SIGTERM', () => {
245
+ console.error('\nShutting down...');
246
+ process.exit(0);
247
+ });
248
+ }
249
+ // Start server
250
+ main();
251
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}