@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.
Files changed (39) hide show
  1. package/LICENCE +21 -0
  2. package/README.md +418 -0
  3. package/dist/gemini-client.d.ts +120 -0
  4. package/dist/gemini-client.js +399 -0
  5. package/dist/index.d.ts +8 -0
  6. package/dist/index.js +220 -0
  7. package/dist/tools/analyze.d.ts +10 -0
  8. package/dist/tools/analyze.js +96 -0
  9. package/dist/tools/brainstorm.d.ts +10 -0
  10. package/dist/tools/brainstorm.js +220 -0
  11. package/dist/tools/cache.d.ts +17 -0
  12. package/dist/tools/cache.js +286 -0
  13. package/dist/tools/code-exec.d.ts +17 -0
  14. package/dist/tools/code-exec.js +135 -0
  15. package/dist/tools/document.d.ts +16 -0
  16. package/dist/tools/document.js +333 -0
  17. package/dist/tools/image-edit.d.ts +16 -0
  18. package/dist/tools/image-edit.js +291 -0
  19. package/dist/tools/image-gen.d.ts +17 -0
  20. package/dist/tools/image-gen.js +148 -0
  21. package/dist/tools/query.d.ts +11 -0
  22. package/dist/tools/query.js +63 -0
  23. package/dist/tools/search.d.ts +15 -0
  24. package/dist/tools/search.js +128 -0
  25. package/dist/tools/speech.d.ts +17 -0
  26. package/dist/tools/speech.js +304 -0
  27. package/dist/tools/structured.d.ts +16 -0
  28. package/dist/tools/structured.js +247 -0
  29. package/dist/tools/summarize.d.ts +10 -0
  30. package/dist/tools/summarize.js +77 -0
  31. package/dist/tools/url-context.d.ts +17 -0
  32. package/dist/tools/url-context.js +226 -0
  33. package/dist/tools/video-gen.d.ts +11 -0
  34. package/dist/tools/video-gen.js +136 -0
  35. package/dist/tools/youtube.d.ts +16 -0
  36. package/dist/tools/youtube.js +218 -0
  37. package/dist/utils/logger.d.ts +33 -0
  38. package/dist/utils/logger.js +82 -0
  39. 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
+ }