@tuannvm/gemini-mcp-server 1.1.0 → 1.1.1
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 +68 -307
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/tools/analyze-media.tool.d.ts.map +1 -1
- package/dist/tools/analyze-media.tool.js +8 -8
- package/dist/tools/analyze-media.tool.js.map +1 -1
- package/dist/tools/ask-gemini.tool.d.ts.map +1 -1
- package/dist/tools/ask-gemini.tool.js +23 -14
- package/dist/tools/ask-gemini.tool.js.map +1 -1
- package/dist/tools/brainstorm.tool.d.ts.map +1 -1
- package/dist/tools/brainstorm.tool.js +21 -18
- package/dist/tools/brainstorm.tool.js.map +1 -1
- package/dist/tools/fetch-chunk.tool.d.ts.map +1 -1
- package/dist/tools/fetch-chunk.tool.js +4 -4
- package/dist/tools/fetch-chunk.tool.js.map +1 -1
- package/dist/tools/search.tool.d.ts.map +1 -1
- package/dist/tools/search.tool.js +6 -6
- package/dist/tools/search.tool.js.map +1 -1
- package/dist/tools/shell.tool.d.ts.map +1 -1
- package/dist/tools/shell.tool.js +8 -8
- package/dist/tools/shell.tool.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/geminiExecutor.d.ts +1 -1
- package/dist/utils/geminiExecutor.d.ts.map +1 -1
- package/dist/utils/geminiExecutor.js +7 -1
- package/dist/utils/geminiExecutor.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,28 +4,24 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/@tuannvm/gemini-mcp-server)
|
|
5
5
|
[](https://www.npmjs.com/package/@tuannvm/gemini-mcp-server)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Give Claude superpowers with Gemini's massive context window. Analyze entire codebases, search the web, process images, and brainstorm ideas—all through MCP.
|
|
8
8
|
|
|
9
9
|
```mermaid
|
|
10
10
|
graph LR
|
|
11
11
|
A[Claude Code] --> B[Gemini MCP Server]
|
|
12
|
-
|
|
13
12
|
B --> C[gemini]
|
|
14
13
|
B --> S[web-search]
|
|
15
14
|
B --> M[analyze-media]
|
|
16
15
|
B --> SH[shell]
|
|
17
16
|
B --> D[brainstorm]
|
|
18
|
-
B --> E[fetch-chunk]
|
|
19
|
-
B --> F[ping]
|
|
20
|
-
B --> G[help]
|
|
21
|
-
|
|
22
17
|
C --> H[Gemini CLI]
|
|
23
18
|
S --> H
|
|
24
19
|
M --> H
|
|
25
20
|
SH --> H
|
|
26
21
|
D --> H
|
|
27
|
-
|
|
28
|
-
E -->
|
|
22
|
+
H --> E[Extensions]
|
|
23
|
+
E --> W[Google Workspace]
|
|
24
|
+
E --> X[Custom Extensions]
|
|
29
25
|
|
|
30
26
|
style A fill:#FF6B35
|
|
31
27
|
style B fill:#4A90E2
|
|
@@ -34,49 +30,39 @@ graph LR
|
|
|
34
30
|
style M fill:#00D4AA
|
|
35
31
|
style SH fill:#00D4AA
|
|
36
32
|
style D fill:#00D4AA
|
|
37
|
-
style E fill:#00D4AA
|
|
38
|
-
style F fill:#00D4AA
|
|
39
|
-
style G fill:#00D4AA
|
|
40
33
|
style H fill:#4285F4
|
|
41
|
-
style
|
|
34
|
+
style E fill:#FBBC05
|
|
35
|
+
style W fill:#34A853
|
|
36
|
+
style X fill:#EA4335
|
|
42
37
|
```
|
|
43
38
|
|
|
44
|
-
##
|
|
39
|
+
## Quick Start
|
|
45
40
|
|
|
46
|
-
|
|
47
|
-
- Install: `npm install -g @google/gemini-cli`
|
|
48
|
-
- Authenticate: Run `gemini` and login with Google (free tier: 60 req/min, 1000 req/day)
|
|
49
|
-
- Or set API key: `export GEMINI_API_KEY="YOUR_API_KEY"`
|
|
50
|
-
- **Recommended**: Set default model to Gemini 3 Pro (see [Model Configuration](#model-configuration))
|
|
51
|
-
- **Node.js v18+** installed
|
|
52
|
-
- **Claude Code** or compatible MCP client
|
|
41
|
+
### Prerequisites
|
|
53
42
|
|
|
54
|
-
|
|
43
|
+
1. **Install Gemini CLI**: `npm install -g @google/gemini-cli`
|
|
44
|
+
2. **Authenticate**: Run `gemini` and login with Google (free: 60 req/min, 1000 req/day)
|
|
45
|
+
3. **Set default model** (recommended): `export GEMINI_MODEL="gemini-3-pro-preview"`
|
|
55
46
|
|
|
56
|
-
###
|
|
47
|
+
### Install
|
|
57
48
|
|
|
58
|
-
####
|
|
59
|
-
[](https://vscode.dev/redirect/mcp/install?name=gemini-cli&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40tuannvm%2Fgemini-mcp-server%22%5D%7D)
|
|
49
|
+
#### One-Click
|
|
60
50
|
|
|
61
|
-
|
|
62
|
-
[](https://vscode.dev/redirect/mcp/install?name=gemini-cli&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40tuannvm%2Fgemini-mcp-server%22%5D%7D)
|
|
52
|
+
[](https://insiders.vscode.dev/redirect/mcp/install?name=gemini-cli&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40tuannvm%2Fgemini-mcp-server%22%5D%7D)
|
|
53
|
+
[](https://cursor.com/en/install-mcp?name=gemini-cli&config=eyJ0eXBlIjoic3RkaW8iLCJjb21tYW5kIjoibnB4IC15IEB0dWFubnZtL2dlbWluaS1tY3Atc2VydmVyIiwiZW52Ijp7fX0=)
|
|
63
54
|
|
|
64
|
-
####
|
|
65
|
-
[](https://cursor.com/en/install-mcp?name=gemini-cli&config=eyJ0eXBlIjoic3RkaW8iLCJjb21tYW5kIjoibnB4IC15IEB0dWFubnZtL2dlbWluaS1tY3Atc2VydmVyIiwiZW52Ijp7fX0=)
|
|
55
|
+
#### Manual
|
|
66
56
|
|
|
67
|
-
### Manual Installation
|
|
68
|
-
|
|
69
|
-
#### Claude Code
|
|
70
57
|
```bash
|
|
58
|
+
# Claude Code
|
|
71
59
|
claude mcp add gemini-cli -- npx -y @tuannvm/gemini-mcp-server
|
|
72
60
|
```
|
|
73
61
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
62
|
+
<details>
|
|
63
|
+
<summary>Claude Desktop</summary>
|
|
78
64
|
|
|
79
|
-
|
|
65
|
+
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%/Claude/claude_desktop_config.json` (Windows):
|
|
80
66
|
|
|
81
67
|
```json
|
|
82
68
|
{
|
|
@@ -88,309 +74,84 @@ Add to your Claude Desktop configuration file:
|
|
|
88
74
|
}
|
|
89
75
|
}
|
|
90
76
|
```
|
|
77
|
+
</details>
|
|
91
78
|
|
|
92
|
-
##
|
|
93
|
-
|
|
94
|
-
Once installed, Claude Code can use these tools:
|
|
95
|
-
|
|
96
|
-
### `gemini` - File Analysis & Questions
|
|
97
|
-
Analyze files and codebases using Gemini's large context window with the `@` syntax.
|
|
98
|
-
|
|
99
|
-
**Basic Usage:**
|
|
100
|
-
```
|
|
101
|
-
Use gemini to analyze @src/main.js and explain what it does
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
**Advanced Usage:**
|
|
105
|
-
```
|
|
106
|
-
# Model selection (defaults to gemini-3-pro-preview)
|
|
107
|
-
Use gemini with model "gemini-3-flash-preview" to quickly summarize @package.json
|
|
108
|
-
|
|
109
|
-
# Sandbox mode for safe code execution
|
|
110
|
-
Use gemini with sandbox true to test @script.py safely
|
|
111
|
-
|
|
112
|
-
# Change mode for structured edits
|
|
113
|
-
Use gemini with changeMode true to refactor @src/utils.ts
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
**Parameters:**
|
|
117
|
-
- `prompt` (required): Your question or analysis request. Use `@` syntax for file references
|
|
118
|
-
- `model` (optional): Model to use (`gemini-3-pro-preview` or `gemini-3-flash-preview`)
|
|
119
|
-
- `sandbox` (optional): Enable sandbox mode for safe execution
|
|
120
|
-
- `changeMode` (optional): Enable structured edit mode for code changes
|
|
121
|
-
|
|
122
|
-
### `web-search` - Web Search with Google Grounding
|
|
123
|
-
Search the web using Gemini with Google Search grounding for real-time information.
|
|
124
|
-
|
|
125
|
-
**Basic Usage:**
|
|
126
|
-
```
|
|
127
|
-
Use web-search to find the latest React 19 features
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
**Advanced Usage:**
|
|
131
|
-
```
|
|
132
|
-
# Get raw results without summarization
|
|
133
|
-
Use web-search with query "kubernetes security best practices 2025" and summarize false
|
|
134
|
-
|
|
135
|
-
# Use specific model
|
|
136
|
-
Use web-search with query "latest AI news" and model "gemini-3-pro-preview"
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
**Parameters:**
|
|
140
|
-
- `query` (required): Search query
|
|
141
|
-
- `summarize` (optional): Summarize results (default: true)
|
|
142
|
-
- `model` (optional): Model to use (default: gemini-3-flash-preview for speed)
|
|
143
|
-
|
|
144
|
-
### `analyze-media` - Multimodal Analysis
|
|
145
|
-
Analyze images, PDFs, screenshots, and diagrams using Gemini's multimodal capabilities.
|
|
146
|
-
|
|
147
|
-
**Basic Usage:**
|
|
148
|
-
```
|
|
149
|
-
Use analyze-media with filePath "@screenshot.png" and prompt "describe this UI"
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
**Advanced Usage:**
|
|
153
|
-
```
|
|
154
|
-
# Detailed analysis
|
|
155
|
-
Use analyze-media with filePath "@architecture.pdf" and prompt "explain the system design" and detailed true
|
|
79
|
+
## What You Can Do
|
|
156
80
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
81
|
+
| Tool | What it does |
|
|
82
|
+
|------|--------------|
|
|
83
|
+
| **gemini** | Analyze files and codebases with Gemini's 1M+ token context |
|
|
84
|
+
| **web-search** | Search the web with Google Search grounding |
|
|
85
|
+
| **analyze-media** | Process images, PDFs, and screenshots |
|
|
86
|
+
| **shell** | Generate and execute shell commands |
|
|
87
|
+
| **brainstorm** | Creative ideation with structured methodologies |
|
|
160
88
|
|
|
161
|
-
|
|
162
|
-
- `filePath` (required): Path to media file (use `@` syntax)
|
|
163
|
-
- `prompt` (required): What to analyze or extract
|
|
164
|
-
- `model` (optional): Model to use (default: gemini-3-pro-preview for multimodal)
|
|
165
|
-
- `detailed` (optional): Provide detailed analysis
|
|
89
|
+
## Gemini CLI Extensions
|
|
166
90
|
|
|
167
|
-
|
|
168
|
-
Generate and optionally execute shell commands using Gemini.
|
|
91
|
+
Enable access to Gmail, Drive, Sheets, Docs, Calendar, and more through Gemini CLI extensions.
|
|
169
92
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
**Advanced Usage:**
|
|
176
|
-
```
|
|
177
|
-
# Dry run (default) - explains commands without executing
|
|
178
|
-
Use shell with task "clean up node_modules and rebuild" and dryRun true
|
|
179
|
-
|
|
180
|
-
# Execute in sandbox (safe)
|
|
181
|
-
Use shell with task "run the test suite" and dryRun false
|
|
182
|
-
|
|
183
|
-
# With working directory
|
|
184
|
-
Use shell with task "list all TODO comments" and workingDirectory "@src/"
|
|
93
|
+
```bash
|
|
94
|
+
# Install the Google Workspace extension
|
|
95
|
+
gemini extensions install https://github.com/gemini-cli-extensions/workspace
|
|
185
96
|
```
|
|
186
97
|
|
|
187
|
-
|
|
188
|
-
- `task` (required): Description of the shell task
|
|
189
|
-
- `dryRun` (optional): If true, explains commands without executing (default: true)
|
|
190
|
-
- `workingDirectory` (optional): Working directory for execution
|
|
191
|
-
- `model` (optional): Model to use (default: gemini-3-flash-preview)
|
|
98
|
+
Then use with `yolo: true` to auto-approve extension tool calls:
|
|
192
99
|
|
|
193
|
-
### `brainstorm` - Creative Ideation
|
|
194
|
-
Generate ideas using various brainstorming methodologies.
|
|
195
|
-
|
|
196
|
-
**Basic Usage:**
|
|
197
|
-
```
|
|
198
|
-
Use brainstorm to generate ideas for improving user onboarding
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
**Advanced Usage:**
|
|
202
100
|
```
|
|
203
|
-
#
|
|
204
|
-
Use
|
|
101
|
+
# Search your Google Drive
|
|
102
|
+
Use gemini with yolo=true to search my Google Drive for Q4 reports
|
|
205
103
|
|
|
206
|
-
#
|
|
207
|
-
Use
|
|
104
|
+
# Read a Google Sheet
|
|
105
|
+
Use gemini with yolo=true to read the first sheet from "Budget 2025"
|
|
208
106
|
|
|
209
|
-
#
|
|
210
|
-
Use
|
|
107
|
+
# Access Gmail
|
|
108
|
+
Use gemini with yolo=true to summarize my last 10 unread emails
|
|
211
109
|
```
|
|
212
110
|
|
|
213
|
-
**
|
|
214
|
-
- `prompt` (required): The brainstorming topic
|
|
215
|
-
- `methodology` (optional): Framework to use (`divergent`, `convergent`, `SCAMPER`, `design-thinking`, `lateral`, `auto`)
|
|
216
|
-
- `domain` (optional): Domain context for specialized ideas
|
|
217
|
-
- `constraints` (optional): Known limitations or requirements
|
|
218
|
-
- `ideaCount` (optional): Target number of ideas to generate
|
|
219
|
-
- `includeAnalysis` (optional): Include feasibility and impact analysis
|
|
220
|
-
|
|
221
|
-
### `fetch-chunk` - Retrieve Cached Chunks
|
|
222
|
-
Retrieve cached chunks from large changeMode responses.
|
|
223
|
-
|
|
224
|
-
**Parameters:**
|
|
225
|
-
- `cacheKey` (required): Cache key from previous response
|
|
226
|
-
- `chunkIndex` (required): Chunk index to retrieve (1-based)
|
|
227
|
-
|
|
228
|
-
### `ping` - Connection Test
|
|
229
|
-
Test if the MCP server is working properly.
|
|
111
|
+
> **Note:** Any Gemini CLI extension can be used. Pass the full GitHub URL or local path to `gemini extensions install`.
|
|
230
112
|
|
|
231
|
-
|
|
232
|
-
Get information about Gemini CLI capabilities and commands.
|
|
113
|
+
## Examples
|
|
233
114
|
|
|
234
|
-
## Example Workflows
|
|
235
|
-
|
|
236
|
-
**Large Codebase Analysis:**
|
|
237
115
|
```
|
|
116
|
+
# Analyze an entire codebase
|
|
238
117
|
Use gemini to analyze @. and provide an architecture overview
|
|
239
|
-
```
|
|
240
118
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
Use gemini to compare @src/old.ts and @src/new.ts and explain the differences
|
|
244
|
-
```
|
|
119
|
+
# Compare files
|
|
120
|
+
Use gemini to compare @src/old.ts and @src/new.ts
|
|
245
121
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
Use gemini with changeMode true to refactor @src/utils.ts for better error handling
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
**Creative Brainstorming:**
|
|
252
|
-
```
|
|
253
|
-
Use brainstorm with methodology "design-thinking" to improve the user dashboard experience
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
**Web Research:**
|
|
257
|
-
```
|
|
258
|
-
Use web-search to find the latest security vulnerabilities in npm packages
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
**Screenshot Analysis:**
|
|
262
|
-
```
|
|
263
|
-
Use analyze-media with filePath "@error-screenshot.png" and prompt "explain this error and suggest a fix"
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
**Shell Task Automation:**
|
|
267
|
-
```
|
|
268
|
-
Use shell with task "find all files modified in the last 24 hours" and dryRun false
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
## Advanced Features
|
|
272
|
-
|
|
273
|
-
### MCP 2025-11-25 Tool Annotations
|
|
274
|
-
|
|
275
|
-
All tools include annotations that help MCP clients understand tool behavior:
|
|
276
|
-
|
|
277
|
-
| Tool | `destructiveHint` | `readOnlyHint` | `idempotentHint` | `openWorldHint` |
|
|
278
|
-
|------|-------------------|----------------|------------------|-----------------|
|
|
279
|
-
| `gemini` | ✓ | - | - | ✓ |
|
|
280
|
-
| `web-search` | - | ✓ | - | ✓ |
|
|
281
|
-
| `analyze-media` | - | ✓ | - | ✓ |
|
|
282
|
-
| `shell` | ✓ | - | - | ✓ |
|
|
283
|
-
| `brainstorm` | - | ✓ | - | ✓ |
|
|
284
|
-
| `fetch-chunk` | - | ✓ | ✓ | - |
|
|
285
|
-
| `ping` | - | ✓ | ✓ | - |
|
|
286
|
-
| `help` | - | ✓ | ✓ | - |
|
|
287
|
-
|
|
288
|
-
### Large File Handling
|
|
289
|
-
- Gemini's massive context window handles large files that would exceed other models' limits
|
|
290
|
-
- Use `@` syntax to reference files: `@src/main.js`, `@.` (current directory)
|
|
291
|
-
- Automatic chunking for very large responses with cache retrieval
|
|
292
|
-
|
|
293
|
-
### Change Mode (Structured Edits)
|
|
294
|
-
When `changeMode` is enabled, responses are formatted as structured edits that can be automatically applied:
|
|
295
|
-
- Parses `**FILE: path:line**` format with `OLD/NEW` blocks
|
|
296
|
-
- Chunks large edit responses for manageable processing
|
|
297
|
-
- 10-minute cache TTL for chunk retrieval
|
|
298
|
-
|
|
299
|
-
### Model Fallback
|
|
300
|
-
- Automatically falls back from `gemini-3-pro-preview` to `gemini-3-flash-preview` when quota is exceeded
|
|
301
|
-
- Transparent retry with status notification
|
|
302
|
-
|
|
303
|
-
### Progress Notifications
|
|
304
|
-
For long-running operations, the server sends `notifications/progress` messages when the client provides a `progressToken`.
|
|
305
|
-
|
|
306
|
-
## Model Configuration
|
|
307
|
-
|
|
308
|
-
### Setting the Default Model
|
|
309
|
-
|
|
310
|
-
You can configure the default Gemini model using three methods (in order of precedence):
|
|
311
|
-
|
|
312
|
-
**1. Environment Variable (Recommended)**
|
|
313
|
-
```bash
|
|
314
|
-
export GEMINI_MODEL="gemini-3-pro-preview"
|
|
315
|
-
```
|
|
122
|
+
# Search the web
|
|
123
|
+
Use web-search to find the latest React 19 features
|
|
316
124
|
|
|
317
|
-
|
|
125
|
+
# Analyze a screenshot
|
|
126
|
+
Use analyze-media with filePath "@error.png" and prompt "what's this error?"
|
|
318
127
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
{
|
|
322
|
-
"model": {
|
|
323
|
-
"name": "gemini-3-pro-preview"
|
|
324
|
-
}
|
|
325
|
-
}
|
|
128
|
+
# Brainstorm ideas
|
|
129
|
+
Use brainstorm with methodology "design-thinking" to improve user onboarding
|
|
326
130
|
```
|
|
327
131
|
|
|
328
|
-
|
|
329
|
-
```bash
|
|
330
|
-
gemini -m gemini-3-pro-preview
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
### Available Models
|
|
334
|
-
|
|
335
|
-
| Model | ID | Best For |
|
|
336
|
-
|-------|-----|----------|
|
|
337
|
-
| **Gemini 3 Pro** (default) | `gemini-3-pro-preview` | Most capable, complex reasoning |
|
|
338
|
-
| **Gemini 3 Flash** | `gemini-3-flash-preview` | Fast responses, good quality |
|
|
339
|
-
| Gemini 2.5 Flash-Lite | `gemini-2.5-flash-lite` | Fastest, lightweight |
|
|
340
|
-
|
|
341
|
-
### Configuration Precedence
|
|
342
|
-
|
|
343
|
-
Settings are applied in order (highest priority last):
|
|
344
|
-
1. Default values
|
|
345
|
-
2. User settings file (`~/.gemini/settings.json`)
|
|
346
|
-
3. Project settings file (`.gemini/settings.json`)
|
|
347
|
-
4. Environment variables (`GEMINI_MODEL`)
|
|
348
|
-
5. Command-line arguments (`-m`)
|
|
349
|
-
6. MCP tool `model` parameter (overrides all)
|
|
350
|
-
|
|
351
|
-
### Recommended Setup
|
|
352
|
-
|
|
353
|
-
For best results, set Gemini 3 Pro as your default:
|
|
354
|
-
|
|
355
|
-
```bash
|
|
356
|
-
# Add to your shell profile (~/.bashrc, ~/.zshrc, etc.)
|
|
357
|
-
export GEMINI_MODEL="gemini-3-pro-preview"
|
|
358
|
-
```
|
|
132
|
+
## Documentation
|
|
359
133
|
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
echo '{"model": {"name": "gemini-3-pro-preview"}}' > ~/.gemini/settings.json
|
|
364
|
-
```
|
|
134
|
+
- **[API Reference](docs/api-reference.md)** — Full tool parameters and options
|
|
135
|
+
- **[Gemini CLI Integration](docs/gemini-cli-integration.md)** — Setup, models, and troubleshooting
|
|
136
|
+
- **[Documentation Site](https://tuannvm.github.io/gemini-mcp-server/)**
|
|
365
137
|
|
|
366
138
|
## Development
|
|
367
139
|
|
|
368
140
|
```bash
|
|
369
|
-
# Install dependencies
|
|
370
|
-
npm
|
|
371
|
-
|
|
372
|
-
#
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
# Build
|
|
376
|
-
npm run build
|
|
141
|
+
npm install # Install dependencies
|
|
142
|
+
npm run dev # Development mode
|
|
143
|
+
npm run build # Build
|
|
144
|
+
npm test # Run tests
|
|
145
|
+
```
|
|
377
146
|
|
|
378
|
-
|
|
379
|
-
npm test
|
|
147
|
+
## Acknowledgments
|
|
380
148
|
|
|
381
|
-
|
|
382
|
-
npm run lint
|
|
383
|
-
npm run format
|
|
384
|
-
```
|
|
149
|
+
Inspired by [gemini-mcp-tool](https://github.com/jamubc/gemini-mcp-tool).
|
|
385
150
|
|
|
386
|
-
##
|
|
151
|
+
## Related Projects
|
|
387
152
|
|
|
388
|
-
- [
|
|
389
|
-
- [Gemini CLI Integration](docs/gemini-cli-integration.md)
|
|
390
|
-
- [Full Documentation Site](https://tuannvm.github.io/gemini-mcp-server/)
|
|
153
|
+
- **[codex-mcp-server](https://github.com/tuannvm/codex-mcp-server)** — MCP server for OpenAI Codex CLI with AI-powered code analysis and review
|
|
391
154
|
|
|
392
155
|
## License
|
|
393
156
|
|
|
394
|
-
MIT
|
|
395
|
-
|
|
396
|
-
**Disclaimer:** This is an unofficial, third-party tool and is not affiliated with, endorsed, or sponsored by Google.
|
|
157
|
+
MIT — This is an unofficial tool, not affiliated with Google.
|
package/dist/constants.d.ts
CHANGED
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGnD,eAAO,MAAM,UAAU,WAAW,CAAC;AAGnC,eAAO,MAAM,cAAc;;;;;CAOjB,CAAC;AAGX,eAAO,MAAM,eAAe;;;;;;;;;CAUlB,CAAC;AAGX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;CAkBX,CAAC;AAGX,eAAO,MAAM,GAAG
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGnD,eAAO,MAAM,UAAU,WAAW,CAAC;AAGnC,eAAO,MAAM,cAAc;;;;;CAOjB,CAAC;AAGX,eAAO,MAAM,eAAe;;;;;;;;;CAUlB,CAAC;AAGX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;CAkBX,CAAC;AAGX,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;CAiBN,CAAC"}
|
package/dist/constants.js
CHANGED
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,6CAA6C;AAC7C,OAAO,EAAiB,MAAM,EAAE,MAAM,YAAY,CAAC;AAEnD,UAAU;AACV,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC;AAEnC,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc,EAAE,yDAAyD;IACzE,oBAAoB,EAClB,sFAAsF;IACxF,cAAc,EAAE,uBAAuB;IACvC,kBAAkB,EAChB,6IAA6I;CACvI,CAAC;AAEX,kBAAkB;AAClB,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,eAAe,EAAE,0DAA0D;IAC3E,WAAW,EAAE,iCAAiC;IAC9C,aAAa,EAAE,oCAAoC;IACnD,iBAAiB,EAAE,iDAAiD;IACpE,eAAe,EAAE,kBAAkB;IACnC,gBAAgB,EACd,+DAA+D;IACjE,mBAAmB,EAAE,uDAAuD;IAC5E,mBAAmB,EAAE,iCAAiC;CAC9C,CAAC;AAEX,yBAAyB;AACzB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,WAAW;KACvB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;KACjB;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,wBAAwB;KACnC;IACD,kBAAkB,EAAE,KAAK;CACjB,CAAC;AAEX,gBAAgB;AAChB,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,QAAQ,EAAE;QACR,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;KACb;IACD,KAAK,EAAE;QACL,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,6CAA6C;AAC7C,OAAO,EAAiB,MAAM,EAAE,MAAM,YAAY,CAAC;AAEnD,UAAU;AACV,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC;AAEnC,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc,EAAE,yDAAyD;IACzE,oBAAoB,EAClB,sFAAsF;IACxF,cAAc,EAAE,uBAAuB;IACvC,kBAAkB,EAChB,6IAA6I;CACvI,CAAC;AAEX,kBAAkB;AAClB,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,eAAe,EAAE,0DAA0D;IAC3E,WAAW,EAAE,iCAAiC;IAC9C,aAAa,EAAE,oCAAoC;IACnD,iBAAiB,EAAE,iDAAiD;IACpE,eAAe,EAAE,kBAAkB;IACnC,gBAAgB,EACd,+DAA+D;IACjE,mBAAmB,EAAE,uDAAuD;IAC5E,mBAAmB,EAAE,iCAAiC;CAC9C,CAAC;AAEX,yBAAyB;AACzB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,WAAW;KACvB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;KACjB;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,wBAAwB;KACnC;IACD,kBAAkB,EAAE,KAAK;CACjB,CAAC;AAEX,gBAAgB;AAChB,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,QAAQ,EAAE;QACR,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;KACb;IACD,KAAK,EAAE;QACL,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;KACf;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,MAAM;QACpB,aAAa,EAAE,OAAO;KACvB;CACO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-media.tool.d.ts","sourceRoot":"","sources":["../../src/tools/analyze-media.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze-media.tool.d.ts","sourceRoot":"","sources":["../../src/tools/analyze-media.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAgC5C,eAAO,MAAM,gBAAgB,EAAE,WAgH9B,CAAC"}
|
|
@@ -6,19 +6,19 @@ const analyzeMediaArgsSchema = z.object({
|
|
|
6
6
|
filePath: z
|
|
7
7
|
.string()
|
|
8
8
|
.min(1)
|
|
9
|
-
.describe('Path to the
|
|
9
|
+
.describe('Path to the media file to analyze. REQUIRED. Use @ prefix for file reference (e.g., @screenshot.png, @diagram.pdf, @photo.jpg). Supports: PNG, JPG, JPEG, GIF, WebP, PDF. Relative paths work from current working directory.'),
|
|
10
10
|
prompt: z
|
|
11
11
|
.string()
|
|
12
12
|
.min(1)
|
|
13
|
-
.describe('What to analyze or extract from the media
|
|
13
|
+
.describe('What to analyze or extract from the media. REQUIRED. Be specific (e.g., "extract all text from this screenshot", "describe the UI components", "summarize this PDF document", "identify objects and their positions").'),
|
|
14
14
|
model: z
|
|
15
15
|
.string()
|
|
16
16
|
.optional()
|
|
17
|
-
.describe(
|
|
17
|
+
.describe("Gemini model to use. DEFAULT: 'gemini-3-pro-preview' (best multimodal understanding). Use 'gemini-3-flash-preview' for faster but less detailed analysis. Pro recommended for complex images or documents."),
|
|
18
18
|
detailed: z
|
|
19
19
|
.boolean()
|
|
20
20
|
.default(false)
|
|
21
|
-
.describe('
|
|
21
|
+
.describe('Enable comprehensive analysis mode. DEFAULT: false. Set to true for structured output with overview, key elements, technical details, observations, and recommendations. Use for complex analysis tasks.'),
|
|
22
22
|
});
|
|
23
23
|
export const analyzeMediaTool = {
|
|
24
24
|
name: 'analyze-media',
|
|
@@ -36,20 +36,20 @@ export const analyzeMediaTool = {
|
|
|
36
36
|
properties: {
|
|
37
37
|
filePath: {
|
|
38
38
|
type: 'string',
|
|
39
|
-
description: 'Path to the
|
|
39
|
+
description: 'Path to the media file to analyze. REQUIRED. Use @ prefix (e.g., @screenshot.png, @diagram.pdf). Supports: PNG, JPG, JPEG, GIF, WebP, PDF.',
|
|
40
40
|
},
|
|
41
41
|
prompt: {
|
|
42
42
|
type: 'string',
|
|
43
|
-
description: 'What to analyze or extract from the media
|
|
43
|
+
description: 'What to analyze or extract from the media. REQUIRED. Be specific (e.g., "extract all text", "describe UI components", "summarize document").',
|
|
44
44
|
},
|
|
45
45
|
model: {
|
|
46
46
|
type: 'string',
|
|
47
|
-
description:
|
|
47
|
+
description: "Gemini model to use. DEFAULT: 'gemini-3-pro-preview' (best multimodal). Use 'gemini-3-flash-preview' for faster but less detailed analysis.",
|
|
48
48
|
},
|
|
49
49
|
detailed: {
|
|
50
50
|
type: 'boolean',
|
|
51
51
|
default: false,
|
|
52
|
-
description: '
|
|
52
|
+
description: 'Enable comprehensive analysis mode. DEFAULT: false. Set to true for structured output with overview, key elements, and recommendations.',
|
|
53
53
|
},
|
|
54
54
|
},
|
|
55
55
|
required: ['filePath', 'prompt'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-media.tool.js","sourceRoot":"","sources":["../../src/tools/analyze-media.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,
|
|
1
|
+
{"version":3,"file":"analyze-media.tool.js","sourceRoot":"","sources":["../../src/tools/analyze-media.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-gemini.tool.d.ts","sourceRoot":"","sources":["../../src/tools/ask-gemini.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ask-gemini.tool.d.ts","sourceRoot":"","sources":["../../src/tools/ask-gemini.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAoD5C,eAAO,MAAM,aAAa,EAAE,WAuG3B,CAAC"}
|
|
@@ -5,27 +5,31 @@ const askGeminiArgsSchema = z.object({
|
|
|
5
5
|
prompt: z
|
|
6
6
|
.string()
|
|
7
7
|
.min(1)
|
|
8
|
-
.describe("
|
|
8
|
+
.describe("The question or task for Gemini. REQUIRED. Use @ prefix to include files (e.g., '@src/app.ts explain the auth flow', '@package.json suggest improvements'). For code analysis, include relevant file paths. For general questions, just ask directly."),
|
|
9
9
|
model: z
|
|
10
10
|
.string()
|
|
11
11
|
.optional()
|
|
12
|
-
.describe("
|
|
12
|
+
.describe("Gemini model to use. OPTIONS: 'gemini-3-pro-preview' (default, best quality), 'gemini-3-flash-preview' (faster, good for simple tasks). Use Flash for quick lookups or when Pro quota is exceeded. Omit to use default Pro model."),
|
|
13
13
|
sandbox: z
|
|
14
14
|
.boolean()
|
|
15
15
|
.default(false)
|
|
16
|
-
.describe('
|
|
16
|
+
.describe('Enable sandboxed code execution (-s flag). Use when Gemini needs to run code, execute scripts, or test changes in isolation. Sandbox prevents modifications to your actual filesystem. Set to true for code execution tasks.'),
|
|
17
|
+
yolo: z
|
|
18
|
+
.boolean()
|
|
19
|
+
.default(false)
|
|
20
|
+
.describe('Enable YOLO mode (--yolo flag) to auto-approve ALL tool executions without confirmation prompts. REQUIRED when using Google Workspace extension (gemini-cli-extensions/workspace) to access Gmail, Google Drive, Sheets, Docs, Calendar, or Chat. Without this flag, Workspace extension tools will hang waiting for user approval. Set to true for any request involving Google Workspace data or actions.'),
|
|
17
21
|
changeMode: z
|
|
18
22
|
.boolean()
|
|
19
23
|
.default(false)
|
|
20
|
-
.describe('Enable structured
|
|
24
|
+
.describe('Enable structured edit mode for code modifications. Returns edits in OLD/NEW format that can be applied programmatically. Use when requesting code changes that need to be applied to files. The response will include exact line numbers and replacement blocks.'),
|
|
21
25
|
chunkIndex: z
|
|
22
26
|
.union([z.number(), z.string()])
|
|
23
27
|
.optional()
|
|
24
|
-
.describe('
|
|
28
|
+
.describe('Chunk number to retrieve (1-based). Use ONLY when a previous changeMode response indicated multiple chunks. Combine with chunkCacheKey from the original response to get subsequent chunks.'),
|
|
25
29
|
chunkCacheKey: z
|
|
26
30
|
.string()
|
|
27
31
|
.optional()
|
|
28
|
-
.describe('
|
|
32
|
+
.describe('Cache key from a previous chunked response. REQUIRED when fetching subsequent chunks. Copy the cacheKey from the original changeMode response that contained "Chunk 1 of N".'),
|
|
29
33
|
});
|
|
30
34
|
export const askGeminiTool = {
|
|
31
35
|
name: 'gemini',
|
|
@@ -43,29 +47,34 @@ export const askGeminiTool = {
|
|
|
43
47
|
properties: {
|
|
44
48
|
prompt: {
|
|
45
49
|
type: 'string',
|
|
46
|
-
description: "
|
|
50
|
+
description: "The question or task for Gemini. REQUIRED. Use @ prefix to include files (e.g., '@src/app.ts explain the auth flow', '@package.json suggest improvements'). For code analysis, include relevant file paths. For general questions, just ask directly.",
|
|
47
51
|
},
|
|
48
52
|
model: {
|
|
49
53
|
type: 'string',
|
|
50
|
-
description: "
|
|
54
|
+
description: "Gemini model to use. OPTIONS: 'gemini-3-pro-preview' (default, best quality), 'gemini-3-flash-preview' (faster, good for simple tasks). Use Flash for quick lookups or when Pro quota is exceeded. Omit to use default Pro model.",
|
|
51
55
|
},
|
|
52
56
|
sandbox: {
|
|
53
57
|
type: 'boolean',
|
|
54
58
|
default: false,
|
|
55
|
-
description: '
|
|
59
|
+
description: 'Enable sandboxed code execution (-s flag). Use when Gemini needs to run code, execute scripts, or test changes in isolation. Sandbox prevents modifications to your actual filesystem. Set to true for code execution tasks.',
|
|
60
|
+
},
|
|
61
|
+
yolo: {
|
|
62
|
+
type: 'boolean',
|
|
63
|
+
default: false,
|
|
64
|
+
description: 'Enable YOLO mode (--yolo flag) to auto-approve ALL tool executions without confirmation prompts. REQUIRED when using Google Workspace extension (gemini-cli-extensions/workspace) to access Gmail, Google Drive, Sheets, Docs, Calendar, or Chat. Without this flag, Workspace extension tools will hang waiting for user approval. Set to true for any request involving Google Workspace data or actions.',
|
|
56
65
|
},
|
|
57
66
|
changeMode: {
|
|
58
67
|
type: 'boolean',
|
|
59
68
|
default: false,
|
|
60
|
-
description: 'Enable structured
|
|
69
|
+
description: 'Enable structured edit mode for code modifications. Returns edits in OLD/NEW format that can be applied programmatically. Use when requesting code changes that need to be applied to files. The response will include exact line numbers and replacement blocks.',
|
|
61
70
|
},
|
|
62
71
|
chunkIndex: {
|
|
63
72
|
type: ['number', 'string'],
|
|
64
|
-
description: '
|
|
73
|
+
description: 'Chunk number to retrieve (1-based). Use ONLY when a previous changeMode response indicated multiple chunks. Combine with chunkCacheKey from the original response to get subsequent chunks.',
|
|
65
74
|
},
|
|
66
75
|
chunkCacheKey: {
|
|
67
76
|
type: 'string',
|
|
68
|
-
description: '
|
|
77
|
+
description: 'Cache key from a previous chunked response. REQUIRED when fetching subsequent chunks. Copy the cacheKey from the original changeMode response that contained "Chunk 1 of N".',
|
|
69
78
|
},
|
|
70
79
|
},
|
|
71
80
|
required: ['prompt'],
|
|
@@ -75,7 +84,7 @@ export const askGeminiTool = {
|
|
|
75
84
|
},
|
|
76
85
|
category: 'gemini',
|
|
77
86
|
execute: async (args, onProgress) => {
|
|
78
|
-
const { prompt, model, sandbox, changeMode, chunkIndex, chunkCacheKey } = args;
|
|
87
|
+
const { prompt, model, sandbox, yolo, changeMode, chunkIndex, chunkCacheKey, } = args;
|
|
79
88
|
if (!prompt?.trim()) {
|
|
80
89
|
throw new Error(ERROR_MESSAGES.NO_PROMPT_PROVIDED);
|
|
81
90
|
}
|
|
@@ -83,7 +92,7 @@ export const askGeminiTool = {
|
|
|
83
92
|
return processChangeModeOutput('', // empty for cache...
|
|
84
93
|
chunkIndex, chunkCacheKey, prompt);
|
|
85
94
|
}
|
|
86
|
-
const result = await executeGeminiCLI(prompt, model, !!sandbox, !!changeMode, onProgress);
|
|
95
|
+
const result = await executeGeminiCLI(prompt, model, !!sandbox, !!yolo, !!changeMode, onProgress);
|
|
87
96
|
if (changeMode) {
|
|
88
97
|
return processChangeModeOutput(result, args.chunkIndex, undefined, prompt);
|
|
89
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-gemini.tool.js","sourceRoot":"","sources":["../../src/tools/ask-gemini.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,
|
|
1
|
+
{"version":3,"file":"ask-gemini.tool.js","sourceRoot":"","sources":["../../src/tools/ask-gemini.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brainstorm.tool.d.ts","sourceRoot":"","sources":["../../src/tools/brainstorm.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"brainstorm.tool.d.ts","sourceRoot":"","sources":["../../src/tools/brainstorm.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA+L5C,eAAO,MAAM,cAAc,EAAE,WAyH5B,CAAC"}
|
|
@@ -100,11 +100,11 @@ const brainstormArgsSchema = z.object({
|
|
|
100
100
|
prompt: z
|
|
101
101
|
.string()
|
|
102
102
|
.min(1)
|
|
103
|
-
.describe('
|
|
103
|
+
.describe('The brainstorming challenge or question. REQUIRED. Be specific about what you need ideas for (e.g., "ways to reduce API latency", "features for a fitness app", "marketing strategies for B2B SaaS"). More context yields better ideas.'),
|
|
104
104
|
model: z
|
|
105
105
|
.string()
|
|
106
106
|
.optional()
|
|
107
|
-
.describe("
|
|
107
|
+
.describe("Gemini model to use. OPTIONS: 'gemini-3-pro-preview' (default, best for creative thinking), 'gemini-3-flash-preview' (faster). Use Pro for complex brainstorming requiring deep domain knowledge. Omit for default."),
|
|
108
108
|
methodology: z
|
|
109
109
|
.enum([
|
|
110
110
|
'divergent',
|
|
@@ -115,29 +115,29 @@ const brainstormArgsSchema = z.object({
|
|
|
115
115
|
'auto',
|
|
116
116
|
])
|
|
117
117
|
.default('auto')
|
|
118
|
-
.describe("Brainstorming framework: 'divergent' (
|
|
118
|
+
.describe("Brainstorming framework. OPTIONS: 'auto' (default, AI selects best approach), 'divergent' (maximize quantity of ideas), 'convergent' (refine and prioritize existing ideas), 'scamper' (systematic creative triggers: Substitute/Combine/Adapt/Modify/Put to other use/Eliminate/Reverse), 'design-thinking' (human-centered, user-focused solutions), 'lateral' (unexpected connections, challenge assumptions). Use 'auto' unless you have a specific methodology preference."),
|
|
119
119
|
domain: z
|
|
120
120
|
.string()
|
|
121
121
|
.optional()
|
|
122
|
-
.describe("Domain
|
|
122
|
+
.describe("Domain expertise to apply. EXAMPLES: 'software', 'business', 'marketing', 'product', 'research', 'healthcare', 'finance', 'education'. Helps Gemini apply domain-specific knowledge, terminology, and best practices. Include for specialized output."),
|
|
123
123
|
constraints: z
|
|
124
124
|
.string()
|
|
125
125
|
.optional()
|
|
126
|
-
.describe(
|
|
126
|
+
.describe("Limitations and requirements to respect. EXAMPLES: 'budget under $10k', 'must work offline', 'no external APIs', 'launch in 2 weeks'. Helps filter ideas to only feasible options. Include any hard requirements."),
|
|
127
127
|
existingContext: z
|
|
128
128
|
.string()
|
|
129
129
|
.optional()
|
|
130
|
-
.describe(
|
|
130
|
+
.describe("Background information to build upon. EXAMPLES: 'we tried X but it failed because Y', 'current solution uses React', 'team has 3 engineers'. Provides context for more relevant, actionable ideas."),
|
|
131
131
|
ideaCount: z
|
|
132
132
|
.number()
|
|
133
133
|
.int()
|
|
134
134
|
.positive()
|
|
135
135
|
.default(12)
|
|
136
|
-
.describe('
|
|
136
|
+
.describe('Number of ideas to generate. DEFAULT: 12. Use higher numbers (15-20) for divergent exploration, lower numbers (5-8) for focused, detailed ideas.'),
|
|
137
137
|
includeAnalysis: z
|
|
138
138
|
.boolean()
|
|
139
139
|
.default(true)
|
|
140
|
-
.describe('Include feasibility
|
|
140
|
+
.describe('Include feasibility/impact/innovation ratings for each idea. DEFAULT: true. Set to false for faster, simpler output without analysis. Ratings use 1-5 scale.'),
|
|
141
141
|
});
|
|
142
142
|
export const brainstormTool = {
|
|
143
143
|
name: 'brainstorm',
|
|
@@ -155,11 +155,11 @@ export const brainstormTool = {
|
|
|
155
155
|
properties: {
|
|
156
156
|
prompt: {
|
|
157
157
|
type: 'string',
|
|
158
|
-
description: '
|
|
158
|
+
description: 'The brainstorming challenge or question. REQUIRED. Be specific about what you need ideas for (e.g., "ways to reduce API latency", "features for a fitness app", "marketing strategies for B2B SaaS"). More context yields better ideas.',
|
|
159
159
|
},
|
|
160
160
|
model: {
|
|
161
161
|
type: 'string',
|
|
162
|
-
description: "
|
|
162
|
+
description: "Gemini model to use. OPTIONS: 'gemini-3-pro-preview' (default, best for creative thinking), 'gemini-3-flash-preview' (faster). Use Pro for complex brainstorming requiring deep domain knowledge. Omit for default.",
|
|
163
163
|
},
|
|
164
164
|
methodology: {
|
|
165
165
|
type: 'string',
|
|
@@ -172,29 +172,29 @@ export const brainstormTool = {
|
|
|
172
172
|
'auto',
|
|
173
173
|
],
|
|
174
174
|
default: 'auto',
|
|
175
|
-
description: "Brainstorming framework: 'divergent' (
|
|
175
|
+
description: "Brainstorming framework. OPTIONS: 'auto' (default, AI selects best approach), 'divergent' (maximize quantity of ideas), 'convergent' (refine and prioritize existing ideas), 'scamper' (systematic creative triggers), 'design-thinking' (human-centered solutions), 'lateral' (unexpected connections). Use 'auto' unless you have a specific preference.",
|
|
176
176
|
},
|
|
177
177
|
domain: {
|
|
178
178
|
type: 'string',
|
|
179
|
-
description: "Domain
|
|
179
|
+
description: "Domain expertise to apply. EXAMPLES: 'software', 'business', 'marketing', 'product', 'research', 'healthcare', 'finance'. Helps Gemini apply domain-specific knowledge. Include for specialized output.",
|
|
180
180
|
},
|
|
181
181
|
constraints: {
|
|
182
182
|
type: 'string',
|
|
183
|
-
description:
|
|
183
|
+
description: "Limitations and requirements to respect. EXAMPLES: 'budget under $10k', 'must work offline', 'launch in 2 weeks'. Helps filter ideas to only feasible options.",
|
|
184
184
|
},
|
|
185
185
|
existingContext: {
|
|
186
186
|
type: 'string',
|
|
187
|
-
description:
|
|
187
|
+
description: "Background information to build upon. EXAMPLES: 'we tried X but failed because Y', 'current solution uses React'. Provides context for more relevant ideas.",
|
|
188
188
|
},
|
|
189
189
|
ideaCount: {
|
|
190
190
|
type: 'integer',
|
|
191
191
|
default: 12,
|
|
192
|
-
description: '
|
|
192
|
+
description: 'Number of ideas to generate. DEFAULT: 12. Use higher (15-20) for exploration, lower (5-8) for focused detailed ideas.',
|
|
193
193
|
},
|
|
194
194
|
includeAnalysis: {
|
|
195
195
|
type: 'boolean',
|
|
196
196
|
default: true,
|
|
197
|
-
description: 'Include feasibility
|
|
197
|
+
description: 'Include feasibility/impact/innovation ratings for each idea. DEFAULT: true. Set to false for faster output without analysis.',
|
|
198
198
|
},
|
|
199
199
|
},
|
|
200
200
|
required: ['prompt'],
|
|
@@ -220,8 +220,11 @@ export const brainstormTool = {
|
|
|
220
220
|
Logger.debug(`Brainstorm: Using methodology '${methodology}' for domain '${domain || 'general'}'`);
|
|
221
221
|
// Report progress to user
|
|
222
222
|
onProgress?.(`Generating ${ideaCount} ideas via ${methodology} methodology...`);
|
|
223
|
-
// Execute with Gemini
|
|
224
|
-
return await executeGeminiCLI(enhancedPrompt, model, false,
|
|
223
|
+
// Execute with Gemini (yolo not typically needed for brainstorming)
|
|
224
|
+
return await executeGeminiCLI(enhancedPrompt, model, false, // sandbox
|
|
225
|
+
false, // yolo
|
|
226
|
+
false, // changeMode
|
|
227
|
+
onProgress);
|
|
225
228
|
},
|
|
226
229
|
};
|
|
227
230
|
//# sourceMappingURL=brainstorm.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brainstorm.tool.js","sourceRoot":"","sources":["../../src/tools/brainstorm.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,SAAS,qBAAqB,CAAC,MAQ9B;IACC,MAAM,EACJ,MAAM,EACN,WAAW,EACX,MAAM,EACN,WAAW,EACX,eAAe,EACf,SAAS,EACT,eAAe,GAChB,GAAG,MAAM,CAAC;IAEX,+BAA+B;IAC/B,IAAI,qBAAqB,GAAG,0BAA0B,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAE5E,IAAI,cAAc,GAAG;;;EAGrB,MAAM;;;EAGN,qBAAqB;;;;EAIrB,MAAM,CAAC,CAAC,CAAC,qBAAqB,MAAM,sEAAsE,CAAC,CAAC,CAAC,EAAE;EAC/G,WAAW,CAAC,CAAC,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;EACjE,eAAe,CAAC,CAAC,CAAC,2BAA2B,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;;;aAGxD,SAAS;;;;;;EAOpB,eAAe;QACb,CAAC,CAAC;;;;;;;CAOL;QACG,CAAC,CAAC,EACN;;;;;;;EAOE,eAAe,CAAC,CAAC,CAAC,wGAAwG,CAAC,CAAC,CAAC,EAAE;;;;;;6BAMpG,CAAC;IAE5B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CACjC,WAAmB,EACnB,MAAe;IAEf,MAAM,aAAa,GAA2B;QAC5C,SAAS,EAAE;;;;;oDAKqC;QAEhD,UAAU,EAAE;;;;;gDAKgC;QAE5C,OAAO,EAAE;;;;;;;mDAOsC;QAE/C,iBAAiB,EAAE;;;;;+DAKwC;QAE3D,OAAO,EAAE;;;;;yCAK4B;QAErC,IAAI,EAAE;EACR,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,wDAAwD,CAAC,CAAC,CAAC,oDAAoD;;;iDAG5F;KAC9C,CAAC;IAEF,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,
|
|
1
|
+
{"version":3,"file":"brainstorm.tool.js","sourceRoot":"","sources":["../../src/tools/brainstorm.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,SAAS,qBAAqB,CAAC,MAQ9B;IACC,MAAM,EACJ,MAAM,EACN,WAAW,EACX,MAAM,EACN,WAAW,EACX,eAAe,EACf,SAAS,EACT,eAAe,GAChB,GAAG,MAAM,CAAC;IAEX,+BAA+B;IAC/B,IAAI,qBAAqB,GAAG,0BAA0B,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAE5E,IAAI,cAAc,GAAG;;;EAGrB,MAAM;;;EAGN,qBAAqB;;;;EAIrB,MAAM,CAAC,CAAC,CAAC,qBAAqB,MAAM,sEAAsE,CAAC,CAAC,CAAC,EAAE;EAC/G,WAAW,CAAC,CAAC,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;EACjE,eAAe,CAAC,CAAC,CAAC,2BAA2B,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;;;aAGxD,SAAS;;;;;;EAOpB,eAAe;QACb,CAAC,CAAC;;;;;;;CAOL;QACG,CAAC,CAAC,EACN;;;;;;;EAOE,eAAe,CAAC,CAAC,CAAC,wGAAwG,CAAC,CAAC,CAAC,EAAE;;;;;;6BAMpG,CAAC;IAE5B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CACjC,WAAmB,EACnB,MAAe;IAEf,MAAM,aAAa,GAA2B;QAC5C,SAAS,EAAE;;;;;oDAKqC;QAEhD,UAAU,EAAE;;;;;gDAKgC;QAE5C,OAAO,EAAE;;;;;;;mDAOsC;QAE/C,iBAAiB,EAAE;;;;;+DAKwC;QAE3D,OAAO,EAAE;;;;;yCAK4B;QAErC,IAAI,EAAE;EACR,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,wDAAwD,CAAC,CAAC,CAAC,oDAAoD;;;iDAG5F;KAC9C,CAAC;IAEF,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,yOAAyO,CAC1O;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,qNAAqN,CACtN;IACH,WAAW,EAAE,CAAC;SACX,IAAI,CAAC;QACJ,WAAW;QACX,YAAY;QACZ,SAAS;QACT,iBAAiB;QACjB,SAAS;QACT,MAAM;KACP,CAAC;SACD,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,idAAid,CACld;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uPAAuP,CACxP;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,mNAAmN,CACpN;IACH,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,oMAAoM,CACrM;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CACP,kJAAkJ,CACnJ;IACH,eAAe,EAAE,CAAC;SACf,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,8JAA8J,CAC/J;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,2JAA2J;IAC7J,SAAS,EAAE,oBAAoB;IAC/B,WAAW,EAAE;QACX,KAAK,EAAE,kBAAkB;QACzB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,IAAI;KACpB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,yOAAyO;aAC5O;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qNAAqN;aACxN;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE;oBACJ,WAAW;oBACX,YAAY;oBACZ,SAAS;oBACT,iBAAiB;oBACjB,SAAS;oBACT,MAAM;iBACP;gBACD,OAAO,EAAE,MAAM;gBACf,WAAW,EACT,4VAA4V;aAC/V;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,yMAAyM;aAC5M;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,gKAAgK;aACnK;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,6JAA6J;aAChK;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,EAAE;gBACX,WAAW,EACT,uHAAuH;aAC1H;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EACT,8HAA8H;aACjI;SACF;QACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD,MAAM,EAAE;QACN,WAAW,EACT,uEAAuE;KAC1E;IACD,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QAClC,MAAM,EACJ,MAAM,EACN,KAAK,EACL,WAAW,GAAG,MAAM,EACpB,MAAM,EACN,WAAW,EACX,eAAe,EACf,SAAS,GAAG,EAAE,EACd,eAAe,GAAG,IAAI,GACvB,GAAG,IAAI,CAAC;QAET,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QAED,IAAI,cAAc,GAAG,qBAAqB,CAAC;YACzC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAY;YAC/B,WAAW,EAAE,WAAqB;YAClC,MAAM,EAAE,MAA4B;YACpC,WAAW,EAAE,WAAiC;YAC9C,eAAe,EAAE,eAAqC;YACtD,SAAS,EAAE,SAAmB;YAC9B,eAAe,EAAE,eAA0B;SAC5C,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CACV,kCAAkC,WAAW,iBAAiB,MAAM,IAAI,SAAS,GAAG,CACrF,CAAC;QAEF,0BAA0B;QAC1B,UAAU,EAAE,CACV,cAAc,SAAS,cAAc,WAAW,iBAAiB,CAClE,CAAC;QAEF,oEAAoE;QACpE,OAAO,MAAM,gBAAgB,CAC3B,cAAc,EACd,KAA2B,EAC3B,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,aAAa;QACpB,UAAU,CACX,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-chunk.tool.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-chunk.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch-chunk.tool.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-chunk.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAsB5C,eAAO,MAAM,cAAc,EAAE,WAoG5B,CAAC"}
|
|
@@ -5,11 +5,11 @@ import { Logger } from '../utils/logger.js';
|
|
|
5
5
|
const fetchChunkArgsSchema = z.object({
|
|
6
6
|
cacheKey: z
|
|
7
7
|
.string()
|
|
8
|
-
.describe('
|
|
8
|
+
.describe('Cache key from a previous changeMode response. REQUIRED. This key was provided in the initial response that contained "Chunk 1 of N". Copy it exactly from that response. Cache expires after 10 minutes.'),
|
|
9
9
|
chunkIndex: z
|
|
10
10
|
.number()
|
|
11
11
|
.min(1)
|
|
12
|
-
.describe('
|
|
12
|
+
.describe('Chunk number to retrieve. REQUIRED. Use 1-based indexing (1, 2, 3...). If previous response said "Chunk 1 of 5", request chunkIndex=2 for the next chunk. Valid range is 1 to totalChunks.'),
|
|
13
13
|
});
|
|
14
14
|
export const fetchChunkTool = {
|
|
15
15
|
name: 'fetch-chunk',
|
|
@@ -27,11 +27,11 @@ export const fetchChunkTool = {
|
|
|
27
27
|
properties: {
|
|
28
28
|
cacheKey: {
|
|
29
29
|
type: 'string',
|
|
30
|
-
description: '
|
|
30
|
+
description: 'Cache key from a previous changeMode response. REQUIRED. Copy exactly from the response that contained "Chunk 1 of N". Cache expires after 10 minutes.',
|
|
31
31
|
},
|
|
32
32
|
chunkIndex: {
|
|
33
33
|
type: 'number',
|
|
34
|
-
description: '
|
|
34
|
+
description: 'Chunk number to retrieve. REQUIRED. Use 1-based indexing (1, 2, 3...). If response said "Chunk 1 of 5", request chunkIndex=2 for next chunk.',
|
|
35
35
|
},
|
|
36
36
|
},
|
|
37
37
|
required: ['cacheKey', 'chunkIndex'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-chunk.tool.js","sourceRoot":"","sources":["../../src/tools/fetch-chunk.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,
|
|
1
|
+
{"version":3,"file":"fetch-chunk.tool.js","sourceRoot":"","sources":["../../src/tools/fetch-chunk.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.tool.d.ts","sourceRoot":"","sources":["../../src/tools/search.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"search.tool.d.ts","sourceRoot":"","sources":["../../src/tools/search.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA0B5C,eAAO,MAAM,UAAU,EAAE,WA+FxB,CAAC"}
|
|
@@ -6,15 +6,15 @@ const searchArgsSchema = z.object({
|
|
|
6
6
|
query: z
|
|
7
7
|
.string()
|
|
8
8
|
.min(1)
|
|
9
|
-
.describe('Search query to
|
|
9
|
+
.describe('Search query for web search. REQUIRED. Use natural language or keywords (e.g., "latest React 19 features", "TypeScript 5.4 release date", "how to fix CORS error"). Gemini will search and synthesize results.'),
|
|
10
10
|
summarize: z
|
|
11
11
|
.boolean()
|
|
12
12
|
.default(true)
|
|
13
|
-
.describe('
|
|
13
|
+
.describe('Return summarized results vs raw output. DEFAULT: true. Set to false only if you need raw search results without synthesis. Summarized mode provides cleaner, actionable information.'),
|
|
14
14
|
model: z
|
|
15
15
|
.string()
|
|
16
16
|
.optional()
|
|
17
|
-
.describe(
|
|
17
|
+
.describe("Gemini model to use. DEFAULT: 'gemini-3-flash-preview' (optimized for speed). Use 'gemini-3-pro-preview' for complex research requiring deeper analysis. Flash is recommended for most searches."),
|
|
18
18
|
});
|
|
19
19
|
export const searchTool = {
|
|
20
20
|
name: 'web-search',
|
|
@@ -32,16 +32,16 @@ export const searchTool = {
|
|
|
32
32
|
properties: {
|
|
33
33
|
query: {
|
|
34
34
|
type: 'string',
|
|
35
|
-
description: 'Search query
|
|
35
|
+
description: 'Search query for web search. REQUIRED. Use natural language or keywords (e.g., "latest React 19 features", "TypeScript 5.4 release date"). Gemini will search and synthesize results.',
|
|
36
36
|
},
|
|
37
37
|
summarize: {
|
|
38
38
|
type: 'boolean',
|
|
39
39
|
default: true,
|
|
40
|
-
description: '
|
|
40
|
+
description: 'Return summarized results vs raw output. DEFAULT: true. Set to false only if you need raw search results. Summarized mode provides cleaner, actionable information.',
|
|
41
41
|
},
|
|
42
42
|
model: {
|
|
43
43
|
type: 'string',
|
|
44
|
-
description:
|
|
44
|
+
description: "Gemini model to use. DEFAULT: 'gemini-3-flash-preview' (optimized for speed). Use 'gemini-3-pro-preview' for complex research requiring deeper analysis.",
|
|
45
45
|
},
|
|
46
46
|
},
|
|
47
47
|
required: ['query'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.tool.js","sourceRoot":"","sources":["../../src/tools/search.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,
|
|
1
|
+
{"version":3,"file":"search.tool.js","sourceRoot":"","sources":["../../src/tools/search.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.tool.d.ts","sourceRoot":"","sources":["../../src/tools/shell.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"shell.tool.d.ts","sourceRoot":"","sources":["../../src/tools/shell.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAgC5C,eAAO,MAAM,SAAS,EAAE,WA4GvB,CAAC"}
|
package/dist/tools/shell.tool.js
CHANGED
|
@@ -6,19 +6,19 @@ const shellArgsSchema = z.object({
|
|
|
6
6
|
task: z
|
|
7
7
|
.string()
|
|
8
8
|
.min(1)
|
|
9
|
-
.describe('
|
|
9
|
+
.describe('Shell task description. REQUIRED. Describe what you want to accomplish in natural language (e.g., "find all TypeScript files modified in the last week", "compress all log files in the logs directory", "set up a new React project with Vite"). Gemini will generate appropriate commands.'),
|
|
10
10
|
workingDirectory: z
|
|
11
11
|
.string()
|
|
12
12
|
.optional()
|
|
13
|
-
.describe('
|
|
13
|
+
.describe('Directory to run commands in. OPTIONAL. Use @ prefix for clarity (e.g., @src/, @/home/user/project). If omitted, uses current working directory. Relative paths are relative to cwd.'),
|
|
14
14
|
dryRun: z
|
|
15
15
|
.boolean()
|
|
16
16
|
.default(true)
|
|
17
|
-
.describe('
|
|
17
|
+
.describe('Command execution mode. DEFAULT: true (safe). When true: Gemini explains commands WITHOUT executing. When false: commands execute in sandbox mode. Set to false only when you want actual execution with safety isolation.'),
|
|
18
18
|
model: z
|
|
19
19
|
.string()
|
|
20
20
|
.optional()
|
|
21
|
-
.describe(
|
|
21
|
+
.describe("Gemini model to use. DEFAULT: 'gemini-3-flash-preview' (fast for command generation). Use 'gemini-3-pro-preview' for complex multi-step operations. Flash is usually sufficient for shell tasks."),
|
|
22
22
|
});
|
|
23
23
|
export const shellTool = {
|
|
24
24
|
name: 'shell',
|
|
@@ -36,20 +36,20 @@ export const shellTool = {
|
|
|
36
36
|
properties: {
|
|
37
37
|
task: {
|
|
38
38
|
type: 'string',
|
|
39
|
-
description: '
|
|
39
|
+
description: 'Shell task description. REQUIRED. Describe what you want to accomplish (e.g., "find TypeScript files modified last week", "compress log files"). Gemini will generate appropriate commands.',
|
|
40
40
|
},
|
|
41
41
|
workingDirectory: {
|
|
42
42
|
type: 'string',
|
|
43
|
-
description: '
|
|
43
|
+
description: 'Directory to run commands in. OPTIONAL. Use @ prefix (e.g., @src/). If omitted, uses current working directory.',
|
|
44
44
|
},
|
|
45
45
|
dryRun: {
|
|
46
46
|
type: 'boolean',
|
|
47
47
|
default: true,
|
|
48
|
-
description: '
|
|
48
|
+
description: 'Command execution mode. DEFAULT: true (safe, explains without executing). When false: executes in sandbox. Set to false only for actual execution.',
|
|
49
49
|
},
|
|
50
50
|
model: {
|
|
51
51
|
type: 'string',
|
|
52
|
-
description:
|
|
52
|
+
description: "Gemini model to use. DEFAULT: 'gemini-3-flash-preview' (fast). Use 'gemini-3-pro-preview' for complex operations.",
|
|
53
53
|
},
|
|
54
54
|
},
|
|
55
55
|
required: ['task'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.tool.js","sourceRoot":"","sources":["../../src/tools/shell.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,
|
|
1
|
+
{"version":3,"file":"shell.tool.js","sourceRoot":"","sources":["../../src/tools/shell.tool.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACtD;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,MAAM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;AAG3D,eAAO,MAAM,KAAK;;;;;;;;;;CAUR,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAG1D,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACtD;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,MAAM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;AAG3D,eAAO,MAAM,KAAK;;;;;;;;;;CAUR,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAG1D,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0CH,iBAAiB;AACjB,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,cAAc;CACpB,CAAC;AAIX,+CAA+C;AAC/C,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,EAAE,sBAAsB;IAC3B,KAAK,EAAE,wBAAwB;IAC/B,UAAU,EAAE,uBAAuB,EAAE,uBAAuB;CACpD,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function executeGeminiCLI(prompt: string, model?: string, sandbox?: boolean, changeMode?: boolean, onProgress?: (newOutput: string) => void): Promise<string>;
|
|
1
|
+
export declare function executeGeminiCLI(prompt: string, model?: string, sandbox?: boolean, yolo?: boolean, changeMode?: boolean, onProgress?: (newOutput: string) => void): Promise<string>;
|
|
2
2
|
export declare function processChangeModeOutput(rawResult: string, chunkIndex?: number, chunkCacheKey?: string, prompt?: string): Promise<string>;
|
|
3
3
|
//# sourceMappingURL=geminiExecutor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geminiExecutor.d.ts","sourceRoot":"","sources":["../../src/utils/geminiExecutor.ts"],"names":[],"mappings":"AAeA,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,EACjB,UAAU,CAAC,EAAE,OAAO,EACpB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GACvC,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"geminiExecutor.d.ts","sourceRoot":"","sources":["../../src/utils/geminiExecutor.ts"],"names":[],"mappings":"AAeA,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,OAAO,EACd,UAAU,CAAC,EAAE,OAAO,EACpB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GACvC,OAAO,CAAC,MAAM,CAAC,CAyIjB;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAyEjB"}
|
|
@@ -5,7 +5,7 @@ import { parseChangeModeOutput, validateChangeModeEdits, } from './changeModePar
|
|
|
5
5
|
import { formatChangeModeResponse, summarizeChangeModeEdits, } from './changeModeTranslator.js';
|
|
6
6
|
import { chunkChangeModeEdits } from './changeModeChunker.js';
|
|
7
7
|
import { cacheChunks, getChunks } from './chunkCache.js';
|
|
8
|
-
export async function executeGeminiCLI(prompt, model, sandbox, changeMode, onProgress) {
|
|
8
|
+
export async function executeGeminiCLI(prompt, model, sandbox, yolo, changeMode, onProgress) {
|
|
9
9
|
let prompt_processed = prompt;
|
|
10
10
|
if (changeMode) {
|
|
11
11
|
prompt_processed = prompt.replace(/file:(\S+)/g, '@$1');
|
|
@@ -77,6 +77,9 @@ ${prompt_processed}
|
|
|
77
77
|
if (sandbox) {
|
|
78
78
|
args.push(CLI.FLAGS.SANDBOX);
|
|
79
79
|
}
|
|
80
|
+
if (yolo) {
|
|
81
|
+
args.push(CLI.FLAGS.YOLO);
|
|
82
|
+
}
|
|
80
83
|
// Ensure @ symbols work cross-platform by wrapping in quotes if needed
|
|
81
84
|
const finalPrompt = prompt_processed.includes('@') && !prompt_processed.startsWith('"')
|
|
82
85
|
? `"${prompt_processed}"`
|
|
@@ -96,6 +99,9 @@ ${prompt_processed}
|
|
|
96
99
|
if (sandbox) {
|
|
97
100
|
fallbackArgs.push(CLI.FLAGS.SANDBOX);
|
|
98
101
|
}
|
|
102
|
+
if (yolo) {
|
|
103
|
+
fallbackArgs.push(CLI.FLAGS.YOLO);
|
|
104
|
+
}
|
|
99
105
|
// Same @ symbol handling for fallback
|
|
100
106
|
const fallbackPrompt = prompt_processed.includes('@') && !prompt_processed.startsWith('"')
|
|
101
107
|
? `"${prompt_processed}"`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geminiExecutor.js","sourceRoot":"","sources":["../../src/utils/geminiExecutor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geminiExecutor.js","sourceRoot":"","sources":["../../src/utils/geminiExecutor.ts"],"names":[],"mappings":"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"}
|