@google-cloud/cloud-run-mcp 1.2.0 → 1.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.
- package/.github/images/deploy_from_apps.gif +0 -0
- package/.github/images/deploy_from_ide.gif +0 -0
- package/.github/images/deploycli.gif +0 -0
- package/.github/workflows/local-tests.yml +1 -1
- package/CONTRIBUTING.md +8 -0
- package/README.md +22 -17
- package/gemini-extension/{Gemini.md → GEMINI.md} +2 -2
- package/gemini-extension.json +1 -1
- package/lib/cloud-run-deploy.js +162 -215
- package/lib/cloud-run-services.js +16 -4
- package/lib/gcp-api-helpers.js +143 -0
- package/lib/gcp-projects.js +1 -1
- package/mcp-server.js +8 -1
- package/package.json +3 -3
- package/test/local/gemini-extension.test.js +35 -0
- package/test/local/mcp-server.test.js +0 -1
- package/test/local/notifications.test.js +45 -0
- package/test/local/npx.test.js +36 -0
- package/test/local/tools.test.js +40 -65
- package/test/need-gcp/cloud-run-deploy.test.js +101 -135
- package/test/need-gcp/cloud-run-services.test.js +57 -77
- package/test/need-gcp/gcp-projects.test.js +14 -56
- package/{tools.js → tools/register-tools.js} +95 -461
- package/tools/tools.js +55 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/CONTRIBUTING.md
CHANGED
|
@@ -25,6 +25,12 @@ This project follows
|
|
|
25
25
|
|
|
26
26
|
## Contribution process
|
|
27
27
|
|
|
28
|
+
### Start with an issue
|
|
29
|
+
|
|
30
|
+
Before sending a pull request, please open an issue describing the bug or feature
|
|
31
|
+
you would like to address. This will allow maintainers of this project to guide
|
|
32
|
+
you in your design and implementation.
|
|
33
|
+
|
|
28
34
|
### Code reviews
|
|
29
35
|
|
|
30
36
|
All submissions, including submissions by project members, require review. We
|
|
@@ -112,8 +118,10 @@ To update the [npm package]https://www.npmjs.com/package/@google-cloud/cloud-run
|
|
|
112
118
|
|
|
113
119
|
Run the following:
|
|
114
120
|
|
|
121
|
+
* `git checkout -b new-release`
|
|
115
122
|
* `npm test`
|
|
116
123
|
* `npm version minor`
|
|
117
124
|
* `git push --follow-tags`
|
|
125
|
+
* On GitHub, [create a new release](https://github.com/GoogleCloudPlatform/cloud-run-mcp/releases/new) for this tag.
|
|
118
126
|
|
|
119
127
|
Then a [GitHub Action]https://github.com/GoogleCloudPlatform/cloud-run-mcp/blob/main/.github/workflows/npm-publish.yml) automatically publishes to npm when new releases are pushes.
|
package/README.md
CHANGED
|
@@ -6,18 +6,22 @@ Enable MCP-compatible AI agents to deploy apps to Cloud Run.
|
|
|
6
6
|
"mcpServers":{
|
|
7
7
|
"cloud-run": {
|
|
8
8
|
"command": "npx",
|
|
9
|
-
"args": ["-y", "
|
|
9
|
+
"args": ["-y", "@google-cloud/cloud-run-mcp"]
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
+
Deploy from Gemini CLI and other AI-powered CLI agents:
|
|
15
|
+
|
|
16
|
+
<img src="https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-run-mcp/refs/heads/main/.github/images/deploycli.gif" width="800">
|
|
17
|
+
|
|
14
18
|
Deploy from AI-powered IDEs:
|
|
15
19
|
|
|
16
|
-
<img src="https://
|
|
20
|
+
<img src="https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-run-mcp/refs/heads/main/.github/images/deploy_from_ide.gif" width="800">
|
|
17
21
|
|
|
18
22
|
Deploy from AI assistant apps:
|
|
19
23
|
|
|
20
|
-
<img src="https://
|
|
24
|
+
<img src="https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-run-mcp/refs/heads/main/.github/images/deploy_from_apps.gif" width="800">
|
|
21
25
|
|
|
22
26
|
Deploy from agent SDKs, like the [Google Gen AI SDK](https://ai.google.dev/gemini-api/docs/function-calling?example=meeting#use_model_context_protocol_mcp) or [Agent Development Kit](https://google.github.io/adk-docs/tools/mcp-tools/).
|
|
23
27
|
|
|
@@ -30,7 +34,7 @@ Deploy from agent SDKs, like the [Google Gen AI SDK](https://ai.google.dev/gemin
|
|
|
30
34
|
- `list-services`: Lists Cloud Run services in a given project and region.
|
|
31
35
|
- `get-service`: Gets details for a specific Cloud Run service.
|
|
32
36
|
- `get-service-log`: Gets Logs and Error Messages for a specific Cloud Run service.
|
|
33
|
-
|
|
37
|
+
|
|
34
38
|
- `deploy-local-folder`\*: Deploys a local folder to a Google Cloud Run service.
|
|
35
39
|
- `list-projects`\*: Lists available GCP projects.
|
|
36
40
|
- `create-project`\*: Creates a new GCP project and attach it to the first available billing account. A project ID can be optionally specified.
|
|
@@ -44,6 +48,18 @@ Prompts are natural language commands that can be used to perform common tasks.
|
|
|
44
48
|
- `deploy`: Deploys the current working directory to Cloud Run. If a service name is not provided, it will use the `DEFAULT_SERVICE_NAME` environment variable, or the name of the current working directory.
|
|
45
49
|
- `logs`: Gets the logs for a Cloud Run service. If a service name is not provided, it will use the `DEFAULT_SERVICE_NAME` environment variable, or the name of the current working directory.
|
|
46
50
|
|
|
51
|
+
|
|
52
|
+
## Use as a Gemini CLI extension
|
|
53
|
+
|
|
54
|
+
To install this as a [Gemini CLI](https://github.com/google-gemini/gemini-cli) extension, run the following command:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
mkdir -p ~/.gemini/extensions/cloud-run/gemini-extension && \
|
|
58
|
+
curl -s -L https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-run-mcp/main/gemini-extension.json > ~/.gemini/extensions/cloud-run/gemini-extension.json && \
|
|
59
|
+
curl -s -L https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-run-mcp/main/gemini-extension/GEMINI.md > ~/.gemini/extensions/cloud-run/gemini-extension/GEMINI.md
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
|
|
47
63
|
## Use as local MCP server
|
|
48
64
|
|
|
49
65
|
Run the Cloud Run MCP server on your local machine using local Google Cloud credentials. This is best if you are using an AI-assisted IDE (e.g. Cursor) or a desktop AI application (e.g. Claude).
|
|
@@ -72,7 +88,7 @@ Then configure the MCP server using either Node.js or Docker:
|
|
|
72
88
|
```json
|
|
73
89
|
"cloud-run": {
|
|
74
90
|
"command": "npx",
|
|
75
|
-
"args": ["-y", "
|
|
91
|
+
"args": ["-y", "@google-cloud/cloud-run-mcp"]
|
|
76
92
|
}
|
|
77
93
|
```
|
|
78
94
|
|
|
@@ -81,7 +97,7 @@ Then configure the MCP server using either Node.js or Docker:
|
|
|
81
97
|
```json
|
|
82
98
|
"cloud-run": {
|
|
83
99
|
"command": "npx",
|
|
84
|
-
"args": ["-y", "
|
|
100
|
+
"args": ["-y", "@google-cloud/cloud-run-mcp"],
|
|
85
101
|
"env": {
|
|
86
102
|
"GOOGLE_CLOUD_PROJECT": "PROJECT_NAME",
|
|
87
103
|
"GOOGLE_CLOUD_REGION": "PROJECT_REGION",
|
|
@@ -118,19 +134,8 @@ See Docker's [MCP catalog](https://hub.docker.com/mcp/server/cloud-run-mcp/overv
|
|
|
118
134
|
}
|
|
119
135
|
```
|
|
120
136
|
|
|
121
|
-
## Use as a Gemini CLI extension
|
|
122
|
-
|
|
123
|
-
To install this as a [Gemini CLI](https://github.com/google-gemini/gemini-cli) extension, run the following command:
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
mkdir -p ~/.gemini/extensions/cloud-run/gemini-extension && \
|
|
127
|
-
curl -s -L https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-run-mcp/main/gemini-extension.json > ~/.gemini/extensions/cloud-run/gemini-extension.json && \
|
|
128
|
-
curl -s -L https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-run-mcp/main/gemini-extension/Gemini.md > ~/.gemini/extensions/cloud-run/gemini-extension/Gemini.md
|
|
129
|
-
```
|
|
130
|
-
|
|
131
137
|
## Use as remote MCP server
|
|
132
138
|
|
|
133
|
-
|
|
134
139
|
> [!WARNING]
|
|
135
140
|
> Do not use the remote MCP server without authentication. In the following instructions, we will use IAM authentication to secure the connection to the MCP server from your local machine. This is important to prevent unauthorized access to your Google Cloud resources.
|
|
136
141
|
|
|
@@ -47,11 +47,11 @@ server {
|
|
|
47
47
|
The user must have an existing Google Cloud account with billing set up, and ideally an existing Google Cloud project.
|
|
48
48
|
|
|
49
49
|
If deployment fails because of an access or IAM error, it is likely that the user doesn't have Google Cloud credentials on the local machine.
|
|
50
|
-
The user
|
|
50
|
+
The user must follow these steps:
|
|
51
51
|
|
|
52
52
|
1. Install the [Google Cloud SDK](https://cloud.google.com/sdk/docs/install) and authenticate with their Google account.
|
|
53
53
|
|
|
54
54
|
2. Set up application credentials using the command:
|
|
55
55
|
```bash
|
|
56
56
|
gcloud auth application-default login
|
|
57
|
-
```
|
|
57
|
+
```
|
package/gemini-extension.json
CHANGED