@mindstone-engineering/mcp-server-nano-banana 0.1.0 → 0.2.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/LICENSE ADDED
@@ -0,0 +1,97 @@
1
+ # Functional Source License, Version 1.1, MIT Future License
2
+
3
+ ## Abbreviation
4
+
5
+ FSL-1.1-MIT
6
+
7
+ ## Notice
8
+
9
+ Copyright 2026 Mindstone Engineering
10
+
11
+ ## Terms and Conditions
12
+
13
+ ### Licensor ("We")
14
+
15
+ The party offering the Software under these Terms and Conditions.
16
+
17
+ **Licensor**: Mindstone Engineering
18
+
19
+ ### The Software
20
+
21
+ The "Software" is each version of the software that we make available under
22
+ these Terms and Conditions, as indicated by our inclusion of these Terms and
23
+ Conditions with the Software.
24
+
25
+ **Software**: Nano Banana MCP Server
26
+
27
+ ### License Grant
28
+
29
+ Subject to your compliance with this License Grant and the Patents,
30
+ Redistribution and Trademark clauses below, we hereby grant you the right to
31
+ use, copy, modify, create derivative works, publicly perform, publicly display
32
+ and redistribute the Software for any Permitted Purpose identified below.
33
+
34
+ ### Permitted Purpose
35
+
36
+ A Permitted Purpose is any purpose other than a Competing Use. A "Competing
37
+ Use" means making the Software available to third parties as a commercial
38
+ hosted service that directly competes with any product or service provided by
39
+ the Licensor.
40
+
41
+ ### Patents
42
+
43
+ To the extent your use for a Permitted Purpose would necessarily infringe our
44
+ patents, the license grant above includes a license under our patents. If you
45
+ make a claim against any party that the Software infringes or contributes to
46
+ the infringement of any patent, then your patent license to the Software ends
47
+ immediately.
48
+
49
+ ### Redistribution
50
+
51
+ The Terms and Conditions apply to all copies, modifications and derivatives of
52
+ the Software.
53
+
54
+ If you redistribute any copies, modifications or derivatives of the Software,
55
+ you must include a copy of or a link to these Terms and Conditions and not
56
+ remove any copyright notices provided in or with the Software.
57
+
58
+ ### Disclaimer
59
+
60
+ THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR
61
+ IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR
62
+ PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT.
63
+
64
+ IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE
65
+ SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, OF
66
+ ANY CHARACTER INCLUDING DAMAGES FOR LOSS OF GOODWILL, LOST PROFITS, LOST SALES
67
+ OR BUSINESS, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, LOST CONTENT,
68
+ DATA OR DATA USE, BREACH OF DUTY OF GOOD FAITH, OR ANY AND ALL OTHER DAMAGES
69
+ OR LOSSES OF ANY KIND OR NATURE WHATSOEVER (WHETHER DIRECT, INDIRECT, SPECIAL,
70
+ COLLATERAL, INCIDENTAL, CONSEQUENTIAL OR OTHERWISE) ARISING OUT OF OR IN
71
+ CONNECTION WITH THE SOFTWARE OR THIS LICENSE, EVEN IF SUCH PARTY SHALL HAVE
72
+ BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.
73
+
74
+ ### Trademark
75
+
76
+ Except for displaying the License Details and identifying us as the origin of
77
+ the Software, you have no right under these Terms and Conditions to use our
78
+ trademarks, trade names, service marks or product names.
79
+
80
+ ## Change Date
81
+
82
+ Four years from the date the Software is made available under these Terms and
83
+ Conditions: **2030-04-08**
84
+
85
+ ## Change License
86
+
87
+ MIT License
88
+
89
+ ## License Details
90
+
91
+ | Parameter | Value |
92
+ |---|---|
93
+ | Licensor | Mindstone Engineering |
94
+ | Software | Nano Banana MCP Server |
95
+ | Use Limitation | Competing Use |
96
+ | Change Date | 2030-04-08 |
97
+ | Change License | MIT |
package/README.md ADDED
@@ -0,0 +1,89 @@
1
+ # @mindstone-engineering/mcp-server-nano-banana
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@mindstone-engineering/mcp-server-nano-banana.svg)](https://www.npmjs.com/package/@mindstone-engineering/mcp-server-nano-banana)
4
+ [![License: FSL-1.1-MIT](https://img.shields.io/badge/License-FSL--1.1--MIT-blue.svg)](./LICENSE)
5
+
6
+ Nano Banana MCP server — Google Gemini image generation and editing via Model Context Protocol. Generate images from text descriptions and edit existing images using Google Gemini's AI capabilities.
7
+
8
+ ## Requirements
9
+
10
+ - Node.js 20+
11
+ - npm
12
+
13
+ ## Quick Start
14
+
15
+ ### Install & build
16
+
17
+ ```bash
18
+ cd <path-to-repo>/connectors/nano-banana
19
+ npm install
20
+ npm run build
21
+ ```
22
+
23
+ ### npx (once published)
24
+
25
+ ```bash
26
+ npx -y @mindstone-engineering/mcp-server-nano-banana
27
+ ```
28
+
29
+ ### Local
30
+
31
+ ```bash
32
+ node dist/index.js
33
+ ```
34
+
35
+ ## Configuration
36
+
37
+ ### Environment variables
38
+
39
+ - `GEMINI_API_KEY` — Google Gemini API key
40
+ - `MCP_WORKSPACE_PATH` — optional workspace path for saving generated images
41
+ - `MCP_HOST_BRIDGE_STATE` — optional path to a host bridge state file used for credential management
42
+ - `MINDSTONE_REBEL_BRIDGE_STATE` — backwards-compatible alias for `MCP_HOST_BRIDGE_STATE`
43
+
44
+ ## Host configuration examples
45
+
46
+ ### Claude Desktop / Cursor
47
+
48
+ ```json
49
+ {
50
+ "mcpServers": {
51
+ "NanoBanana": {
52
+ "command": "npx",
53
+ "args": ["-y", "@mindstone-engineering/mcp-server-nano-banana"],
54
+ "env": {
55
+ "GEMINI_API_KEY": "your-gemini-api-key"
56
+ }
57
+ }
58
+ }
59
+ }
60
+ ```
61
+
62
+ ### Local development (no npm publish needed)
63
+
64
+ ```json
65
+ {
66
+ "mcpServers": {
67
+ "NanoBanana": {
68
+ "command": "node",
69
+ "args": ["<path-to-repo>/connectors/nano-banana/dist/index.js"],
70
+ "env": {
71
+ "GEMINI_API_KEY": "your-gemini-api-key"
72
+ }
73
+ }
74
+ }
75
+ }
76
+ ```
77
+
78
+ ## Tools (3)
79
+
80
+ ### Configuration
81
+ - `configure_nano_banana_api_key` — Save your Gemini API key for image generation
82
+
83
+ ### Image generation
84
+ - `nano_banana_generate` — Generate images from text descriptions
85
+ - `nano_banana_edit` — Edit an existing image using AI
86
+
87
+ ## Licence
88
+
89
+ [FSL-1.1-MIT](./LICENSE) — Functional Source License, Version 1.1, with MIT future licence. The software converts to MIT licence on 2030-04-08.
package/dist/bridge.d.ts CHANGED
@@ -5,7 +5,7 @@ export declare const BRIDGE_STATE_PATH: string;
5
5
  /**
6
6
  * Send a request to the host app bridge.
7
7
  *
8
- * The bridge is an HTTP server running inside the host app (e.g. Rebel)
8
+ * The bridge is an HTTP server running inside the host app (e.g. the host application)
9
9
  * that handles credential management and other cross-process operations.
10
10
  */
11
11
  export declare const bridgeRequest: (urlPath: string, body: Record<string, unknown>) => Promise<{
package/dist/bridge.js CHANGED
@@ -18,7 +18,7 @@ const loadBridgeState = () => {
18
18
  /**
19
19
  * Send a request to the host app bridge.
20
20
  *
21
- * The bridge is an HTTP server running inside the host app (e.g. Rebel)
21
+ * The bridge is an HTTP server running inside the host app (e.g. the host application)
22
22
  * that handles credential management and other cross-process operations.
23
23
  */
24
24
  export const bridgeRequest = async (urlPath, body) => {
package/dist/index.d.ts CHANGED
@@ -7,8 +7,8 @@
7
7
  *
8
8
  * Environment variables:
9
9
  * - GEMINI_API_KEY: Gemini API key (required, get from https://aistudio.google.com/api-keys)
10
- * - MCP_HOST_BRIDGE_STATE: Path to host app bridge state file (optional)
11
- * - MINDSTONE_REBEL_BRIDGE_STATE: Legacy bridge state path (optional)
10
+ * - MCP_HOST_BRIDGE_STATE: Path to host app bridge state file (primary, optional)
11
+ * - MINDSTONE_REBEL_BRIDGE_STATE: Legacy/deprecated bridge state path (optional)
12
12
  */
13
13
  export {};
14
14
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -7,8 +7,8 @@
7
7
  *
8
8
  * Environment variables:
9
9
  * - GEMINI_API_KEY: Gemini API key (required, get from https://aistudio.google.com/api-keys)
10
- * - MCP_HOST_BRIDGE_STATE: Path to host app bridge state file (optional)
11
- * - MINDSTONE_REBEL_BRIDGE_STATE: Legacy bridge state path (optional)
10
+ * - MCP_HOST_BRIDGE_STATE: Path to host app bridge state file (primary, optional)
11
+ * - MINDSTONE_REBEL_BRIDGE_STATE: Legacy/deprecated bridge state path (optional)
12
12
  */
13
13
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
14
14
  import { createServer } from './server.js';
@@ -8,7 +8,7 @@ export type ResolveResult = {
8
8
  /**
9
9
  * Derive the canonical workspace root directory.
10
10
  *
11
- * Priority: REBEL_WORKSPACE_PATH env var > process.cwd()
11
+ * Priority: MCP_WORKSPACE_PATH env var > process.cwd()
12
12
  * The result is always resolved to an absolute path.
13
13
  */
14
14
  export declare function getWorkspaceRoot(): string;
@@ -10,11 +10,11 @@ const MIME_TO_EXT = {
10
10
  /**
11
11
  * Derive the canonical workspace root directory.
12
12
  *
13
- * Priority: REBEL_WORKSPACE_PATH env var > process.cwd()
13
+ * Priority: MCP_WORKSPACE_PATH env var > process.cwd()
14
14
  * The result is always resolved to an absolute path.
15
15
  */
16
16
  export function getWorkspaceRoot() {
17
- const envRoot = process.env.REBEL_WORKSPACE_PATH;
17
+ const envRoot = process.env.MCP_WORKSPACE_PATH;
18
18
  if (envRoot && envRoot.trim()) {
19
19
  return path.resolve(envRoot.trim());
20
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindstone-engineering/mcp-server-nano-banana",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Nano Banana MCP server — Google Gemini image generation and editing via Model Context Protocol",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "type": "module",