@vernikr/gemini-mcp 0.0.0-stage → 0.8.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/README.md CHANGED
@@ -1,3 +1,19 @@
1
- # Temporary Holding Version
1
+ # @vernikr/gemini-mcp
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ One-command Gemini **free-tier** MCP gateway (Python core: `gemini-mcp-gateway` on PyPI,
4
+ bootstrapped via [uv](https://docs.astral.sh/uv/) — no system Python needed). Works
5
+ **without any server**: default `direct` mode talks to Google AI Studio straight from
6
+ your machine; `router` mode joins a fleet gateway with a shared quota ledger.
7
+
8
+ ```bash
9
+ pnpm dlx @vernikr/gemini-mcp setup # wizard: AI Studio keys → ~/.config/gemini-mcp
10
+ # → live key probe → client snippets
11
+ pnpm dlx @vernikr/gemini-mcp doctor # self-check with fix commands
12
+ pnpm dlx @vernikr/gemini-mcp quota # free-tier budget table
13
+ pnpm dlx @vernikr/gemini-mcp uninstall --yes # remove keys+config
14
+ ```
15
+
16
+ Features: quota-aware routing across the Flash chain (two routes: `optimal` /
17
+ `best_available`), massive-body chunked analysis with consolidation, file ingest with
18
+ server-side RTF/DOCX→Markdown extraction, async tickets for long jobs, structured
19
+ agent-facing errors. Repo: github.com/vernikr/gemini-mcp
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /* @vernikr/gemini-mcp — thin bootstrap: runs the pinned Python core
4
+ (PyPI dist: gemini-mcp-gateway) through uv. No core logic lives here.
5
+ Version lockstep: this package's version == the PyPI pin. */
6
+ const { spawnSync } = require("node:child_process");
7
+ const CORE = "gemini-mcp-gateway";
8
+ const VER = require("../package.json").version;
9
+
10
+ function uvx() {
11
+ const hit = spawnSync("sh", ["-c", "command -v uvx"], { encoding: "utf8" });
12
+ if (hit.status === 0 && hit.stdout.trim()) return [hit.stdout.trim(), []];
13
+ return ["npx", ["-y", "@astral-sh/uv", "uvx"]]; // uv self-installs via npm
14
+ }
15
+ const [cmd, base] = uvx();
16
+ // bin name != dist name: uvx needs --from (verified against PyPI 0.7.1)
17
+ const res = spawnSync(cmd, [...base, "--from", `${CORE}==${VER}`, "gemini-mcp",
18
+ ...process.argv.slice(2)],
19
+ { stdio: "inherit" });
20
+ if (res.error) {
21
+ console.error(`gemini-mcp: bootstrap failed: ${res.error.message}`);
22
+ console.error("hint: install uv once: curl -LsSf https://astral.sh/uv/install.sh | sh");
23
+ process.exit(1);
24
+ }
25
+ process.exit(res.status == null ? 1 : res.status);
package/package.json CHANGED
@@ -1,6 +1,22 @@
1
1
  {
2
2
  "name": "@vernikr/gemini-mcp",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.8.0",
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
+ "bin": {
6
+ "gemini-mcp": "bin/gemini-mcp.js"
7
+ },
8
+ "files": [
9
+ "bin"
10
+ ],
11
+ "license": "MIT",
12
+ "engines": {
13
+ "node": ">=18"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/vernikr/gemini-mcp.git"
18
+ },
19
+ "publishConfig": {
20
+ "access": "public"
21
+ }
22
+ }