@houtini/gemini-mcp 1.3.2 → 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 +784 -941
- package/dist/cli.js +5 -10
- package/dist/cli.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -41
- package/dist/config/index.js.map +1 -1
- package/dist/config/types.js +1 -2
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +182 -90
- package/dist/index.js.map +1 -1
- package/dist/services/base-service.js +3 -10
- package/dist/services/base-service.js.map +1 -1
- package/dist/services/gemini/index.d.ts +3 -3
- package/dist/services/gemini/index.d.ts.map +1 -1
- package/dist/services/gemini/index.js +20 -24
- package/dist/services/gemini/index.js.map +1 -1
- package/dist/services/gemini/types.js +1 -2
- package/dist/tools/gemini-chat.d.ts +1 -1
- package/dist/tools/gemini-chat.d.ts.map +1 -1
- package/dist/tools/gemini-chat.js +10 -17
- package/dist/tools/gemini-chat.js.map +1 -1
- package/dist/tools/gemini-deep-research.d.ts +1 -1
- package/dist/tools/gemini-deep-research.d.ts.map +1 -1
- package/dist/tools/gemini-deep-research.js +24 -31
- package/dist/tools/gemini-deep-research.js.map +1 -1
- package/dist/tools/gemini-list-models.d.ts +1 -1
- package/dist/tools/gemini-list-models.d.ts.map +1 -1
- package/dist/tools/gemini-list-models.js +7 -14
- package/dist/tools/gemini-list-models.js.map +1 -1
- package/dist/utils/error-handler.js +7 -18
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/logger.js +4 -39
- package/dist/utils/logger.js.map +1 -1
- package/package.json +7 -5
- package/dist/tools/gemini-describe-video.d.ts +0 -38
- package/dist/tools/gemini-describe-video.d.ts.map +0 -1
- package/dist/tools/gemini-describe-video.js +0 -196
- package/dist/tools/gemini-describe-video.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const index_1 = require("./index");
|
|
8
|
-
const logger_1 = __importDefault(require("./utils/logger"));
|
|
2
|
+
import { GeminiMcpServer } from './index.js';
|
|
3
|
+
import logger from './utils/logger.js';
|
|
9
4
|
// CLI entry point
|
|
10
5
|
async function cli() {
|
|
11
6
|
try {
|
|
12
|
-
|
|
13
|
-
const server = new
|
|
7
|
+
logger.info('Starting Gemini MCP Server via CLI...');
|
|
8
|
+
const server = new GeminiMcpServer();
|
|
14
9
|
await server.start();
|
|
15
10
|
}
|
|
16
11
|
catch (error) {
|
|
17
|
-
|
|
12
|
+
logger.error('CLI startup failed', { error });
|
|
18
13
|
process.exit(1);
|
|
19
14
|
}
|
|
20
15
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,kBAAkB;AAClB,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAEvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,GAAG,EAAE,CAAC"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAKpC,eAAO,MAAM,MAAM,EAAE,MAmCpB,CAAC;AAEF,wBAAgB,cAAc,IAAI,IAAI,CAOrC"}
|
package/dist/config/index.js
CHANGED
|
@@ -1,43 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.config = void 0;
|
|
37
|
-
exports.validateConfig = validateConfig;
|
|
38
|
-
const dotenv = __importStar(require("dotenv"));
|
|
1
|
+
import * as dotenv from 'dotenv';
|
|
39
2
|
dotenv.config();
|
|
40
|
-
|
|
3
|
+
export const config = {
|
|
41
4
|
gemini: {
|
|
42
5
|
apiKey: process.env.GEMINI_API_KEY,
|
|
43
6
|
safetySettings: [
|
|
@@ -73,8 +36,8 @@ exports.config = {
|
|
|
73
36
|
format: 'combined'
|
|
74
37
|
}
|
|
75
38
|
};
|
|
76
|
-
function validateConfig() {
|
|
77
|
-
if (!
|
|
39
|
+
export function validateConfig() {
|
|
40
|
+
if (!config.gemini.apiKey) {
|
|
78
41
|
throw new Error('GEMINI_API_KEY environment variable not set. ' +
|
|
79
42
|
'Please set your Gemini API key: export GEMINI_API_KEY=your-api-key-here');
|
|
80
43
|
}
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,MAAM,GAAW;IAC5B,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;QAClC,cAAc,EAAE;YACd;gBACE,QAAQ,EAAE,0BAA0B;gBACpC,SAAS,EAAE,wBAAwB;aACpC;YACD;gBACE,QAAQ,EAAE,2BAA2B;gBACrC,SAAS,EAAE,wBAAwB;aACpC;YACD;gBACE,QAAQ,EAAE,iCAAiC;gBAC3C,SAAS,EAAE,wBAAwB;aACpC;YACD;gBACE,QAAQ,EAAE,iCAAiC;gBAC3C,SAAS,EAAE,wBAAwB;aACpC;SACF;QACD,YAAY,EAAE,kBAAkB;QAChC,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,GAAG;QAChB,gBAAgB,EAAE,IAAI;QACtB,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,MAAM;KAC1E;IACD,MAAM,EAAE;QACN,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;KACjB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;QACtC,MAAM,EAAE,UAAU;KACnB;CACF,CAAC;AAEF,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,+CAA+C;YAC/C,yEAAyE,CAC1E,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/config/types.js
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAYA,cAAM,eAAe;IACnB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,aAAa,CAAgB;;IAyBrC,OAAO,CAAC,aAAa;IAkMf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB7B;AAgCD,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,102 +1,196 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
11
|
-
const config_1 = require("./config");
|
|
12
|
-
const gemini_1 = require("./services/gemini");
|
|
13
|
-
const gemini_chat_1 = require("./tools/gemini-chat");
|
|
14
|
-
const gemini_list_models_1 = require("./tools/gemini-list-models");
|
|
15
|
-
const gemini_deep_research_1 = require("./tools/gemini-deep-research");
|
|
16
|
-
const logger_1 = __importDefault(require("./utils/logger"));
|
|
17
|
-
const error_handler_1 = require("./utils/error-handler");
|
|
2
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
|
+
import * as z from 'zod';
|
|
5
|
+
import { config, validateConfig } from './config/index.js';
|
|
6
|
+
import { GeminiService } from './services/gemini/index.js';
|
|
7
|
+
import { GeminiDeepResearchTool } from './tools/gemini-deep-research.js';
|
|
8
|
+
import logger from './utils/logger.js';
|
|
9
|
+
import { McpError, createToolResult } from './utils/error-handler.js';
|
|
18
10
|
class GeminiMcpServer {
|
|
19
11
|
server;
|
|
20
12
|
geminiService;
|
|
21
|
-
tools;
|
|
22
13
|
constructor() {
|
|
23
14
|
try {
|
|
24
|
-
|
|
15
|
+
validateConfig();
|
|
25
16
|
}
|
|
26
17
|
catch (error) {
|
|
27
|
-
|
|
18
|
+
logger.error('Configuration validation failed', { error });
|
|
28
19
|
process.exit(1);
|
|
29
20
|
}
|
|
30
|
-
this.geminiService = new
|
|
31
|
-
this.server = new
|
|
32
|
-
name:
|
|
33
|
-
version:
|
|
34
|
-
}, {
|
|
35
|
-
capabilities: {
|
|
36
|
-
tools: {},
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
this.tools = new Map();
|
|
40
|
-
this.initializeTools();
|
|
41
|
-
this.setupHandlers();
|
|
42
|
-
logger_1.default.info('Gemini MCP Server initialized', {
|
|
43
|
-
serverName: config_1.config.server.name,
|
|
44
|
-
version: config_1.config.server.version
|
|
21
|
+
this.geminiService = new GeminiService(config.gemini);
|
|
22
|
+
this.server = new McpServer({
|
|
23
|
+
name: config.server.name,
|
|
24
|
+
version: config.server.version,
|
|
45
25
|
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const geminiDeepResearchTool = new gemini_deep_research_1.GeminiDeepResearchTool(this.geminiService);
|
|
51
|
-
this.tools.set('gemini_chat', geminiChatTool);
|
|
52
|
-
this.tools.set('gemini_list_models', geminiListModelsTool);
|
|
53
|
-
this.tools.set('gemini_deep_research', geminiDeepResearchTool);
|
|
54
|
-
logger_1.default.info('Tools initialized', {
|
|
55
|
-
toolCount: this.tools.size,
|
|
56
|
-
tools: Array.from(this.tools.keys())
|
|
26
|
+
this.registerTools();
|
|
27
|
+
logger.info('Gemini MCP Server initialized', {
|
|
28
|
+
serverName: config.server.name,
|
|
29
|
+
version: config.server.version
|
|
57
30
|
});
|
|
58
31
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
32
|
+
registerTools() {
|
|
33
|
+
// Register gemini_chat tool
|
|
34
|
+
this.server.registerTool('gemini_chat', {
|
|
35
|
+
title: 'Gemini Chat',
|
|
36
|
+
description: 'Chat with Google Gemini models',
|
|
37
|
+
inputSchema: {
|
|
38
|
+
message: z.string().describe('The message to send'),
|
|
39
|
+
model: z.string()
|
|
40
|
+
.optional()
|
|
41
|
+
.describe('Model to use (defaults to latest available)'),
|
|
42
|
+
temperature: z.number()
|
|
43
|
+
.min(0.0)
|
|
44
|
+
.max(1.0)
|
|
45
|
+
.optional()
|
|
46
|
+
.default(0.7)
|
|
47
|
+
.describe('Controls randomness (0.0 to 1.0)'),
|
|
48
|
+
max_tokens: z.number()
|
|
49
|
+
.int()
|
|
50
|
+
.min(1)
|
|
51
|
+
.max(32768)
|
|
52
|
+
.optional()
|
|
53
|
+
.default(8192)
|
|
54
|
+
.describe('Maximum tokens in response'),
|
|
55
|
+
system_prompt: z.string()
|
|
56
|
+
.optional()
|
|
57
|
+
.describe('Optional system instruction'),
|
|
58
|
+
grounding: z.boolean()
|
|
59
|
+
.optional()
|
|
60
|
+
.default(true)
|
|
61
|
+
.describe('Enable Google Search grounding for real-time information')
|
|
62
|
+
},
|
|
63
|
+
outputSchema: {
|
|
64
|
+
content: z.string(),
|
|
65
|
+
success: z.boolean()
|
|
66
|
+
}
|
|
67
|
+
}, async ({ message, model, temperature, max_tokens, system_prompt, grounding }) => {
|
|
68
|
+
try {
|
|
69
|
+
logger.info('Executing gemini_chat tool', {
|
|
70
|
+
model,
|
|
71
|
+
messageLength: message?.length
|
|
72
|
+
});
|
|
73
|
+
if (!message) {
|
|
74
|
+
throw new McpError('Message is required', 'INVALID_PARAMS');
|
|
75
|
+
}
|
|
76
|
+
const response = await this.geminiService.chat({
|
|
77
|
+
message,
|
|
78
|
+
model,
|
|
79
|
+
temperature,
|
|
80
|
+
maxTokens: max_tokens,
|
|
81
|
+
systemPrompt: system_prompt,
|
|
82
|
+
grounding
|
|
83
|
+
});
|
|
84
|
+
return {
|
|
85
|
+
content: createToolResult(true, response.content),
|
|
86
|
+
structuredContent: { content: response.content, success: true }
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
logger.error('gemini_chat tool execution failed', { error });
|
|
91
|
+
const errorMessage = error instanceof McpError
|
|
92
|
+
? error.message
|
|
93
|
+
: `Unexpected error: ${error.message}`;
|
|
94
|
+
return {
|
|
95
|
+
content: createToolResult(false, errorMessage, error),
|
|
96
|
+
structuredContent: { content: errorMessage, success: false }
|
|
97
|
+
};
|
|
98
|
+
}
|
|
66
99
|
});
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
100
|
+
// Register gemini_list_models tool
|
|
101
|
+
this.server.registerTool('gemini_list_models', {
|
|
102
|
+
title: 'List Gemini Models',
|
|
103
|
+
description: 'List available Gemini models and their descriptions',
|
|
104
|
+
inputSchema: {},
|
|
105
|
+
outputSchema: {
|
|
106
|
+
content: z.string(),
|
|
107
|
+
success: z.boolean()
|
|
108
|
+
}
|
|
109
|
+
}, async () => {
|
|
73
110
|
try {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
111
|
+
logger.info('Executing gemini_list_models tool');
|
|
112
|
+
const response = await this.geminiService.listModels();
|
|
113
|
+
let modelsInfo = 'Available Gemini Models:\n\n';
|
|
114
|
+
for (const model of response.models) {
|
|
115
|
+
modelsInfo += `• **${model.name}**: ${model.description}\n`;
|
|
77
116
|
}
|
|
78
|
-
|
|
117
|
+
modelsInfo += `\nLast updated: ${response.timestamp}`;
|
|
79
118
|
return {
|
|
80
|
-
content:
|
|
119
|
+
content: createToolResult(true, modelsInfo),
|
|
120
|
+
structuredContent: { content: modelsInfo, success: true }
|
|
81
121
|
};
|
|
82
122
|
}
|
|
83
123
|
catch (error) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
124
|
+
logger.error('gemini_list_models tool execution failed', { error });
|
|
125
|
+
const errorMessage = `Error listing models: ${error.message}`;
|
|
126
|
+
return {
|
|
127
|
+
content: createToolResult(false, errorMessage, error),
|
|
128
|
+
structuredContent: { content: errorMessage, success: false }
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
// Register gemini_deep_research tool
|
|
133
|
+
this.server.registerTool('gemini_deep_research', {
|
|
134
|
+
title: 'Gemini Deep Research',
|
|
135
|
+
description: 'Conduct deep research on complex topics using iterative multi-step analysis with Gemini. This performs multiple searches and synthesizes comprehensive research reports (takes several minutes). [MCP_RECOMMENDED_TIMEOUT_MS: 900000]',
|
|
136
|
+
inputSchema: {
|
|
137
|
+
research_question: z.string().describe('The complex research question or topic to investigate deeply'),
|
|
138
|
+
model: z.string()
|
|
139
|
+
.optional()
|
|
140
|
+
.describe('Model to use for deep research (defaults to latest available)'),
|
|
141
|
+
max_iterations: z.number()
|
|
142
|
+
.int()
|
|
143
|
+
.min(3)
|
|
144
|
+
.max(10)
|
|
145
|
+
.optional()
|
|
146
|
+
.default(5)
|
|
147
|
+
.describe('Number of research iterations (3-10, default 5). Environment guidance: Claude Desktop: use 3-4 (4-min timeout). Agent SDK/IDEs (VSCode, Cursor, Windsurf)/AI platforms (Cline, Roo-Cline): can use 7-10 (longer timeout tolerance)'),
|
|
148
|
+
focus_areas: z.array(z.string())
|
|
149
|
+
.optional()
|
|
150
|
+
.describe('Optional: specific areas to focus the research on')
|
|
151
|
+
},
|
|
152
|
+
outputSchema: {
|
|
153
|
+
content: z.string(),
|
|
154
|
+
success: z.boolean()
|
|
155
|
+
}
|
|
156
|
+
}, async ({ research_question, model, max_iterations, focus_areas }) => {
|
|
157
|
+
try {
|
|
158
|
+
logger.info('Starting deep research', {
|
|
159
|
+
question: research_question,
|
|
160
|
+
maxIterations: max_iterations || 5
|
|
161
|
+
});
|
|
162
|
+
// Create instance and execute (business logic preserved)
|
|
163
|
+
const deepResearchTool = new GeminiDeepResearchTool(this.geminiService);
|
|
164
|
+
const result = await deepResearchTool.execute({
|
|
165
|
+
research_question,
|
|
166
|
+
model,
|
|
167
|
+
max_iterations,
|
|
168
|
+
focus_areas
|
|
87
169
|
});
|
|
88
|
-
|
|
170
|
+
// Result is already TextContent[] from execute method
|
|
89
171
|
return {
|
|
90
|
-
content:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
172
|
+
content: result,
|
|
173
|
+
structuredContent: {
|
|
174
|
+
content: result[0]?.text || 'Research completed',
|
|
175
|
+
success: true
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
logger.error('Deep research failed', { error });
|
|
181
|
+
const errorMessage = error instanceof McpError
|
|
182
|
+
? error.message
|
|
183
|
+
: `Deep research failed: ${error.message}`;
|
|
184
|
+
return {
|
|
185
|
+
content: createToolResult(false, errorMessage, error),
|
|
186
|
+
structuredContent: { content: errorMessage, success: false }
|
|
97
187
|
};
|
|
98
188
|
}
|
|
99
189
|
});
|
|
190
|
+
logger.info('Tools registered', {
|
|
191
|
+
toolCount: 3,
|
|
192
|
+
tools: ['gemini_chat', 'gemini_list_models', 'gemini_deep_research']
|
|
193
|
+
});
|
|
100
194
|
}
|
|
101
195
|
async start() {
|
|
102
196
|
try {
|
|
@@ -104,45 +198,43 @@ class GeminiMcpServer {
|
|
|
104
198
|
if (!isValid) {
|
|
105
199
|
throw new Error('Gemini API key validation failed');
|
|
106
200
|
}
|
|
107
|
-
|
|
108
|
-
const transport = new
|
|
201
|
+
logger.info('Starting Gemini MCP Server...');
|
|
202
|
+
const transport = new StdioServerTransport();
|
|
109
203
|
await this.server.connect(transport);
|
|
110
|
-
|
|
204
|
+
logger.info('Gemini MCP Server started successfully', {
|
|
111
205
|
transport: 'stdio',
|
|
112
|
-
toolsAvailable:
|
|
206
|
+
toolsAvailable: ['gemini_chat', 'gemini_list_models', 'gemini_deep_research']
|
|
113
207
|
});
|
|
114
208
|
}
|
|
115
209
|
catch (error) {
|
|
116
|
-
|
|
210
|
+
logger.error('Failed to start Gemini MCP Server', { error });
|
|
117
211
|
process.exit(1);
|
|
118
212
|
}
|
|
119
213
|
}
|
|
120
214
|
}
|
|
121
|
-
exports.GeminiMcpServer = GeminiMcpServer;
|
|
122
215
|
process.on('SIGINT', () => {
|
|
123
|
-
|
|
216
|
+
logger.info('Received SIGINT, shutting down gracefully...');
|
|
124
217
|
process.exit(0);
|
|
125
218
|
});
|
|
126
219
|
process.on('SIGTERM', () => {
|
|
127
|
-
|
|
220
|
+
logger.info('Received SIGTERM, shutting down gracefully...');
|
|
128
221
|
process.exit(0);
|
|
129
222
|
});
|
|
130
223
|
process.on('uncaughtException', (error) => {
|
|
131
|
-
|
|
224
|
+
logger.error('Uncaught exception', { error });
|
|
132
225
|
process.exit(1);
|
|
133
226
|
});
|
|
134
227
|
process.on('unhandledRejection', (reason, promise) => {
|
|
135
|
-
|
|
228
|
+
logger.error('Unhandled promise rejection', { reason, promise });
|
|
136
229
|
process.exit(1);
|
|
137
230
|
});
|
|
138
231
|
async function main() {
|
|
139
232
|
const server = new GeminiMcpServer();
|
|
140
233
|
await server.start();
|
|
141
234
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
235
|
+
main().catch(error => {
|
|
236
|
+
logger.error('Server startup failed', { error });
|
|
237
|
+
process.exit(1);
|
|
238
|
+
});
|
|
239
|
+
export { GeminiMcpServer };
|
|
148
240
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.BaseService = void 0;
|
|
7
|
-
const logger_1 = __importDefault(require("../utils/logger"));
|
|
8
|
-
class BaseService {
|
|
9
|
-
logger = logger_1.default;
|
|
1
|
+
import logger from '../utils/logger.js';
|
|
2
|
+
export class BaseService {
|
|
3
|
+
logger = logger;
|
|
10
4
|
async handleError(error, context) {
|
|
11
5
|
const contextMessage = context ? `[${context}] ` : '';
|
|
12
6
|
const message = `${contextMessage}${error.message}`;
|
|
@@ -26,5 +20,4 @@ class BaseService {
|
|
|
26
20
|
this.logger.error(message, { error: error?.stack });
|
|
27
21
|
}
|
|
28
22
|
}
|
|
29
|
-
exports.BaseService = BaseService;
|
|
30
23
|
//# sourceMappingURL=base-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-service.js","sourceRoot":"","sources":["../../src/services/base-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-service.js","sourceRoot":"","sources":["../../src/services/base-service.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,MAAM,OAAgB,WAAW;IACrB,MAAM,GAAG,MAAM,CAAC;IAEhB,KAAK,CAAC,WAAW,CAAC,KAAY,EAAE,OAAgB;QACxD,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,GAAG,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAEpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,KAAK,CAAC;IACd,CAAC;IAES,OAAO,CAAC,OAAe,EAAE,QAAc;QAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAES,UAAU,CAAC,OAAe,EAAE,QAAc;QAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAES,QAAQ,CAAC,OAAe,EAAE,KAAa;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BaseService } from '../base-service';
|
|
2
|
-
import { GeminiConfig } from '../../config/types';
|
|
3
|
-
import { ChatRequest, ChatResponse, ListModelsResponse } from './types';
|
|
1
|
+
import { BaseService } from '../base-service.js';
|
|
2
|
+
import { GeminiConfig } from '../../config/types.js';
|
|
3
|
+
import { ChatRequest, ChatResponse, ListModelsResponse } from './types.js';
|
|
4
4
|
export declare class GeminiService extends BaseService {
|
|
5
5
|
private genAI;
|
|
6
6
|
private config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/gemini/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/gemini/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAGpB,qBAAa,aAAc,SAAQ,WAAW;IAC5C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,qBAAqB,CAA8B;gBAE/C,MAAM,EAAE,YAAY;YAelB,uBAAuB;YAcvB,gBAAgB;YAsBhB,kBAAkB;IAmChC,OAAO,CAAC,kBAAkB;IAkD1B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,iBAAiB;IAyCzB,eAAe,IAAI,MAAM;IAIzB,OAAO,CAAC,kBAAkB;IAkEpB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA8IjD,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAezC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IA4BxC,OAAO,CAAC,iBAAiB;IAqBzB,kBAAkB,IAAI,MAAM,EAAE;IAI9B,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAIjD"}
|