@rlabs-inc/gemini-mcp 0.5.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/LICENCE +21 -0
- package/README.md +418 -0
- package/dist/gemini-client.d.ts +120 -0
- package/dist/gemini-client.js +399 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +220 -0
- package/dist/tools/analyze.d.ts +10 -0
- package/dist/tools/analyze.js +96 -0
- package/dist/tools/brainstorm.d.ts +10 -0
- package/dist/tools/brainstorm.js +220 -0
- package/dist/tools/cache.d.ts +17 -0
- package/dist/tools/cache.js +286 -0
- package/dist/tools/code-exec.d.ts +17 -0
- package/dist/tools/code-exec.js +135 -0
- package/dist/tools/document.d.ts +16 -0
- package/dist/tools/document.js +333 -0
- package/dist/tools/image-edit.d.ts +16 -0
- package/dist/tools/image-edit.js +291 -0
- package/dist/tools/image-gen.d.ts +17 -0
- package/dist/tools/image-gen.js +148 -0
- package/dist/tools/query.d.ts +11 -0
- package/dist/tools/query.js +63 -0
- package/dist/tools/search.d.ts +15 -0
- package/dist/tools/search.js +128 -0
- package/dist/tools/speech.d.ts +17 -0
- package/dist/tools/speech.js +304 -0
- package/dist/tools/structured.d.ts +16 -0
- package/dist/tools/structured.js +247 -0
- package/dist/tools/summarize.d.ts +10 -0
- package/dist/tools/summarize.js +77 -0
- package/dist/tools/url-context.d.ts +17 -0
- package/dist/tools/url-context.js +226 -0
- package/dist/tools/video-gen.d.ts +11 -0
- package/dist/tools/video-gen.js +136 -0
- package/dist/tools/youtube.d.ts +16 -0
- package/dist/tools/youtube.js +218 -0
- package/dist/utils/logger.d.ts +33 -0
- package/dist/utils/logger.js +82 -0
- package/package.json +48 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger Utility - Provides logging capabilities with different verbosity levels
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Current logging level
|
|
6
|
+
*/
|
|
7
|
+
let currentLogLevel = "normal";
|
|
8
|
+
/**
|
|
9
|
+
* Sets up the logger with the specified verbosity level
|
|
10
|
+
*/
|
|
11
|
+
export function setupLogger(level) {
|
|
12
|
+
currentLogLevel = level;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns whether full prompts and responses should be logged
|
|
16
|
+
*/
|
|
17
|
+
export function shouldLogFullMessages() {
|
|
18
|
+
return currentLogLevel === "verbose";
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns whether info messages should be logged
|
|
22
|
+
*/
|
|
23
|
+
export function shouldLogInfo() {
|
|
24
|
+
return currentLogLevel !== "quiet";
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns whether debug messages should be logged
|
|
28
|
+
*/
|
|
29
|
+
export function shouldLogDebug() {
|
|
30
|
+
return currentLogLevel === "verbose";
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The logger instance
|
|
34
|
+
*/
|
|
35
|
+
export const logger = {
|
|
36
|
+
error: (message, ...args) => {
|
|
37
|
+
// Errors are always logged
|
|
38
|
+
console.error(`ERROR: ${message}`, ...args);
|
|
39
|
+
},
|
|
40
|
+
warn: (message, ...args) => {
|
|
41
|
+
// Warnings are always logged
|
|
42
|
+
console.warn(`WARN: ${message}`, ...args);
|
|
43
|
+
},
|
|
44
|
+
info: (message, ...args) => {
|
|
45
|
+
// Info messages are logged in normal and verbose modes
|
|
46
|
+
if (shouldLogInfo()) {
|
|
47
|
+
console.info(`INFO: ${message}`, ...args);
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
debug: (message, ...args) => {
|
|
51
|
+
// Debug messages are only logged in verbose mode
|
|
52
|
+
if (shouldLogDebug()) {
|
|
53
|
+
console.debug(`DEBUG: ${message}`, ...args);
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
prompt: (prompt) => {
|
|
57
|
+
// Prompts are only fully logged in verbose mode
|
|
58
|
+
if (shouldLogFullMessages()) {
|
|
59
|
+
console.info(`\n===== PROMPT =====\n${prompt}\n==================\n`);
|
|
60
|
+
}
|
|
61
|
+
else if (shouldLogInfo()) {
|
|
62
|
+
// In normal mode, just log a summary
|
|
63
|
+
const summary = prompt.length > 100
|
|
64
|
+
? `${prompt.substring(0, 100)}...`
|
|
65
|
+
: prompt;
|
|
66
|
+
console.info(`PROMPT: ${summary}`);
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
response: (response) => {
|
|
70
|
+
// Responses are only fully logged in verbose mode
|
|
71
|
+
if (shouldLogFullMessages()) {
|
|
72
|
+
console.info(`\n===== RESPONSE =====\n${response}\n====================\n`);
|
|
73
|
+
}
|
|
74
|
+
else if (shouldLogInfo()) {
|
|
75
|
+
// In normal mode, just log a summary
|
|
76
|
+
const summary = response.length > 100
|
|
77
|
+
? `${response.substring(0, 100)}...`
|
|
78
|
+
: response;
|
|
79
|
+
console.info(`RESPONSE: ${summary}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@rlabs-inc/gemini-mcp",
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "MCP server for Gemini 3 integration with Claude Code - full frontier AI capabilities",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"gemini-mcp": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "bun run tsc && chmod 755 dist/index.js",
|
|
12
|
+
"start": "bun dist/index.js",
|
|
13
|
+
"dev": "bun --watch src/index.ts",
|
|
14
|
+
"prepare": "bun run build",
|
|
15
|
+
"format": "bunx prettier --write .",
|
|
16
|
+
"lint": "bunx eslint \"**/*.{js,ts}\" --fix",
|
|
17
|
+
"typecheck": "bun run tsc --noEmit"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"mcp",
|
|
21
|
+
"model-context-protocol",
|
|
22
|
+
"claude",
|
|
23
|
+
"gemini",
|
|
24
|
+
"ai"
|
|
25
|
+
],
|
|
26
|
+
"files": [
|
|
27
|
+
"dist/**/*",
|
|
28
|
+
"LICENSE",
|
|
29
|
+
"README.md"
|
|
30
|
+
],
|
|
31
|
+
"author": "",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@google/genai": "^1.34.0",
|
|
35
|
+
"@modelcontextprotocol/sdk": "^1.10.2",
|
|
36
|
+
"zod": "^3.24.0"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@types/bun": "latest",
|
|
40
|
+
"@types/node": "^20.10.5",
|
|
41
|
+
"eslint": "^8.56.0",
|
|
42
|
+
"prettier": "^3.1.1",
|
|
43
|
+
"typescript": "^5.3.3"
|
|
44
|
+
},
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=18.0.0"
|
|
47
|
+
}
|
|
48
|
+
}
|