@vernikr/gemini-mcp 0.10.1 → 0.12.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 (2) hide show
  1. package/README.md +49 -2
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -11,6 +11,52 @@ massive-body chunked analysis with consolidation. Python core `gemini-mcp-gatewa
11
11
  <https://aistudio.google.com/app/apikey> — several keys = several times the quota
12
12
  (20 requests/day per key×model).
13
13
 
14
+ ## Quick start
15
+
16
+ ### If you're human
17
+
18
+ ```bash
19
+ pnpm dlx @vernikr/gemini-mcp setup
20
+ ```
21
+
22
+ Answer the questions (pick **1 Simple** unless you run a server; keys: hidden paste,
23
+ a file, or skip). The wizard finishes with a short numbered checklist — paste one
24
+ JSON block into your MCP client (or let it write that for you: add
25
+ `--write-client freebuff|claude|cursor`), restart the client, send your agent the
26
+ printed verify prompt. Fleet (pick **2**): it also deploys your VPS end-to-end
27
+ (clone → provision → keys → healthcheck) and prints the final block with your real
28
+ host already inside.
29
+
30
+ ### If you're an AI agent
31
+
32
+ One shot, no TTY, machine-readable. Exit code `0` + `"ok": true` = done; otherwise
33
+ every failure carries `error`/`deploy_error`/`clients_failed[].fix` naming the exact
34
+ remedy — apply it and re-run the same command (idempotent).
35
+
36
+ ```bash
37
+ # direct (no server); keys from a file — never from shell history
38
+ npx -y @vernikr/gemini-mcp setup --backend direct \
39
+ --keys-file /abs/path/keys.txt --write-client freebuff --json
40
+
41
+ # fleet (shared-quota server); clones/provisions/health-checks by itself
42
+ npx -y @vernikr/gemini-mcp setup --backend router --vps-host <ip> \
43
+ [--vps-user root] [--projects-dir ~/projects] [--keys-file /abs/path/keys.txt] \
44
+ --write-client freebuff --json
45
+ ```
46
+
47
+ Fleet prerequisites you must verify first (each failure message tells you how):
48
+ `git ls-remote https://github.com/vernikr/gemini-mcp` succeeds (private repos —
49
+ GitHub auth), `ssh <user>@<ip> 'echo ok'` succeeds (key auth), bash+rsync present,
50
+ macOS/Linux. What is left for the human — relay exactly these two manual actions
51
+ from the JSON: **restart the MCP client fully**, then **send the agent the prompt in
52
+ `verify_prompt`** (tool `quota_status`, MCP server `gemini`).
53
+
54
+ Analyzing a FILE (agent): never read it yourself and never inline its contents into a
55
+ prompt. Call `file_upload_ticket(filename, size_bytes)` → HTTP PUT the raw bytes to
56
+ `upload_url` → `analyze_file(upload_id, task)`. Extraction (pandoc), chunking and quota
57
+ are server-side; `quota_status` repeats this recipe in its `file_flow` field, and raw
58
+ RTF/PDF/DOCX payloads in text tools fail fast with a `raw_document_inlined` fix.
59
+
14
60
  ## Wiring — 2 options
15
61
 
16
62
  ### A · Wizard (recommended): `setup`, then paste one JSON block
@@ -29,8 +75,9 @@ What it does — and what it does NOT:
29
75
  side itself — clone/update repos, provision, push keys, healthcheck — and ends with
30
76
  the same paste-once JSON (`--vps-host`, `--vps-user`, `--projects-dir` skip prompts);
31
77
  - probes keys live (listModels — zero quota spent) and prints fingerprints, never keys;
32
- - **prints** the ready `mcpServers` JSON for your client — it does **not** edit any
33
- client config itself (formats differ per client; you paste the block once).
78
+ - **prints** the ready `mcpServers` JSON for your client — paste it once, or pass
79
+ `--write-client freebuff|claude_desktop|cursor` and the wizard merges the `gemini`
80
+ entry into the client's config file itself (`.bak` backup kept).
34
81
 
35
82
  After the wizard the client JSON needs no env/keys — the gateway auto-discovers
36
83
  `~/.config/gemini-mcp/`:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vernikr/gemini-mcp",
3
- "version": "0.10.1",
3
+ "version": "0.12.0",
4
4
  "description": "One-command Gemini free-tier MCP gateway: quota-aware model routing, massive-body chunked analysis, file ingest (RTF/DOCX→Markdown), async tickets. Thin bootstrap for the Python core gemini-mcp-gateway.",
5
5
  "bin": {
6
6
  "gemini-mcp": "bin/gemini-mcp.js"