|
8 | 8 |
|
9 | 9 | An MCP server implementation that integrates with the [Civo cloud platform](https://www.civo.com) API, providing capabilities to manage cloud instances, networks, and Kubernetes clusters. |
10 | 10 |
|
11 | | -## Installation |
| 11 | +## Demo |
12 | 12 |
|
13 | | -### Quick Start with npx (Recommended) |
14 | | -```bash |
15 | | -# Run directly without installation |
16 | | -npx civo-mcp |
| 13 | + |
| 14 | + |
| 15 | +Or you can also view the details of each step through [this public Amp thread](https://ampcode.com/threads/T-cb46a20f-7faf-4cc6-a929-9b248a92c3b5). |
| 16 | + |
| 17 | +## Getting Started |
| 18 | + |
| 19 | +### Requirements |
| 20 | +- Node.js 20 or newer |
| 21 | +- Claude Desktop, VS Code, Cursor, or any other MCP client |
| 22 | +- A Civo account with API key |
| 23 | + |
| 24 | +### Installation |
| 25 | + |
| 26 | +First, install the Civo MCP server with your client. A typical configuration looks like this: |
17 | 27 |
|
18 | | -# Or use the command name |
19 | | -npx mcp-server-civo |
| 28 | +```json |
| 29 | +{ |
| 30 | + "mcpServers": { |
| 31 | + "civo": { |
| 32 | + "command": "npx", |
| 33 | + "args": ["civo-mcp"], |
| 34 | + "env": { |
| 35 | + "CIVO_API_KEY": "YOUR_API_KEY_HERE" |
| 36 | + } |
| 37 | + } |
| 38 | + } |
| 39 | +} |
20 | 40 | ``` |
21 | 41 |
|
22 | | -### Global Installation |
| 42 | +<details> |
| 43 | +<summary><b>Install in VS Code</b></summary> |
| 44 | + |
| 45 | +You can install the Civo MCP server using the VS Code CLI: |
| 46 | + |
23 | 47 | ```bash |
24 | | -npm install -g civo-mcp |
25 | | -mcp-server-civo |
| 48 | +# For VS Code |
| 49 | +code --add-mcp '{"name":"civo","command":"npx","args":["civo-mcp"],"env":{"CIVO_API_KEY":"YOUR_API_KEY_HERE"}}' |
26 | 50 | ``` |
27 | 51 |
|
28 | | -### Local Installation |
29 | | -```bash |
30 | | -npm install civo-mcp |
31 | | -npx mcp-server-civo |
| 52 | +After installation, the Civo MCP server will be available for use with your GitHub Copilot agent in VS Code. |
| 53 | +</details> |
| 54 | + |
| 55 | +<details> |
| 56 | +<summary><b>Install in Ampcode</b></summary> |
| 57 | + |
| 58 | +Follow Amp MCP [documentation](https://ampcode.com/manual#mcp). Use following configuration: |
| 59 | + |
| 60 | +```json |
| 61 | +"amp.mcpServers": { |
| 62 | + "civo": { |
| 63 | + "command": "npx", |
| 64 | + "args": ["civo-mcp"], |
| 65 | + "env": { |
| 66 | + "CIVO_API_KEY": "YOUR_API_KEY_HERE" |
| 67 | + } |
| 68 | + } |
| 69 | +} |
32 | 70 | ``` |
| 71 | +</details> |
| 72 | + |
| 73 | +<details> |
| 74 | +<summary><b>Install in Claude Code</b></summary> |
| 75 | + |
| 76 | +Use the Claude Code CLI to add the Civo MCP server: |
33 | 77 |
|
34 | | -### From Source |
35 | 78 | ```bash |
36 | | -git clone https://github.com/tao12345666333/civo-mcp.git |
37 | | -cd civo-mcp |
38 | | -npm install |
39 | | -npm run build |
40 | | -node dist/index.js |
| 79 | +claude mcp add civo npx civo-mcp |
41 | 80 | ``` |
42 | 81 |
|
43 | | -### Using Docker |
| 82 | +Then set your API key as an environment variable: |
44 | 83 | ```bash |
45 | | -docker pull ghcr.io/tao12345666333/civo-mcp:latest |
46 | | -docker run -e CIVO_API_KEY="your_api_key_here" ghcr.io/tao12345666333/civo-mcp:latest |
| 84 | +export CIVO_API_KEY="your_api_key_here" |
| 85 | +``` |
| 86 | +</details> |
| 87 | + |
| 88 | +<details> |
| 89 | +<summary><b>Install in Gemini CLI</b></summary> |
| 90 | + |
| 91 | +Follow the MCP install [guide](https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md#configure-the-mcp-server-in-settingsjson), use following configuration: |
| 92 | + |
| 93 | +```json |
| 94 | +{ |
| 95 | + "mcpServers": { |
| 96 | + "civo": { |
| 97 | + "command": "npx", |
| 98 | + "args": ["civo-mcp"], |
| 99 | + "env": { |
| 100 | + "CIVO_API_KEY": "YOUR_API_KEY_HERE" |
| 101 | + } |
| 102 | + } |
| 103 | + } |
| 104 | +} |
| 105 | +``` |
| 106 | +</details> |
| 107 | + |
| 108 | +<details> |
| 109 | +<summary><b>Install in Cursor</b></summary> |
| 110 | + |
| 111 | +Go to `Cursor Settings` → `MCP` → `Add new MCP Server`. Name to your liking, use `command` type with the command `npx civo-mcp`. You can also verify config or add command like arguments via clicking `Edit`. |
| 112 | + |
| 113 | +```json |
| 114 | +{ |
| 115 | + "mcpServers": { |
| 116 | + "civo": { |
| 117 | + "command": "npx", |
| 118 | + "args": ["civo-mcp"], |
| 119 | + "env": { |
| 120 | + "CIVO_API_KEY": "YOUR_API_KEY_HERE" |
| 121 | + } |
| 122 | + } |
| 123 | + } |
| 124 | +} |
| 125 | +``` |
| 126 | +</details> |
| 127 | + |
| 128 | +<details> |
| 129 | +<summary><b>Install in Windsurf</b></summary> |
| 130 | + |
| 131 | +Follow Windsurf MCP [documentation](https://docs.windsurf.com/windsurf/cascade/mcp). Use following configuration: |
| 132 | + |
| 133 | +```json |
| 134 | +{ |
| 135 | + "mcpServers": { |
| 136 | + "civo": { |
| 137 | + "command": "npx", |
| 138 | + "args": ["civo-mcp"], |
| 139 | + "env": { |
| 140 | + "CIVO_API_KEY": "YOUR_API_KEY_HERE" |
| 141 | + } |
| 142 | + } |
| 143 | + } |
| 144 | +} |
47 | 145 | ``` |
| 146 | +</details> |
| 147 | + |
| 148 | +<details> |
| 149 | +<summary><b>Install in Claude Desktop</b></summary> |
| 150 | + |
| 151 | +Follow the MCP install [guide](https://modelcontextprotocol.io/quickstart/user), use following configuration: |
| 152 | + |
| 153 | +```json |
| 154 | +{ |
| 155 | + "mcpServers": { |
| 156 | + "civo": { |
| 157 | + "command": "npx", |
| 158 | + "args": ["civo-mcp"], |
| 159 | + "env": { |
| 160 | + "CIVO_API_KEY": "YOUR_API_KEY_HERE" |
| 161 | + } |
| 162 | + } |
| 163 | + } |
| 164 | +} |
| 165 | +``` |
| 166 | +</details> |
48 | 167 |
|
49 | 168 | ## Features |
50 | 169 |
|
@@ -188,107 +307,6 @@ docker run -e CIVO_API_KEY="your_api_key_here" ghcr.io/tao12345666333/civo-mcp:l |
188 | 307 | 1. Sign up for a [Civo account](https://dashboard.civo.com/signup) if you don't have one. |
189 | 308 | 2. Generate your API key following the [API keys documentation](https://www.civo.com/docs/account/api-keys) |
190 | 309 |
|
191 | | -### Usage as a Standalone Server |
192 | | -Install dependencies and run the server: |
193 | | -```bash |
194 | | -npm install |
195 | | -npm run build |
196 | | -CIVO_API_KEY="your_api_key_here" node dist/index.js |
197 | | -``` |
198 | | - |
199 | | -### Usage with Docker |
200 | | -Run the server using Docker: |
201 | | -```bash |
202 | | -docker run -e CIVO_API_KEY="your_api_key_here" ghcr.io/tao12345666333/civo-mcp:latest |
203 | | -``` |
204 | | - |
205 | | -### Usage with Claude Desktop |
206 | | -Add this to your `claude_desktop_config.json`: |
207 | | - |
208 | | -#### Using npx (Recommended) |
209 | | -```json |
210 | | -{ |
211 | | - "mcpServers": { |
212 | | - "civo": { |
213 | | - "command": "npx", |
214 | | - "args": ["civo-mcp"], |
215 | | - "env": { |
216 | | - "CIVO_API_KEY": "YOUR_API_KEY_HERE" |
217 | | - } |
218 | | - } |
219 | | - } |
220 | | -} |
221 | | -``` |
222 | | - |
223 | | -#### Using global installation |
224 | | -```json |
225 | | -{ |
226 | | - "mcpServers": { |
227 | | - "civo": { |
228 | | - "command": "mcp-server-civo", |
229 | | - "env": { |
230 | | - "CIVO_API_KEY": "YOUR_API_KEY_HERE" |
231 | | - } |
232 | | - } |
233 | | - } |
234 | | -} |
235 | | -``` |
236 | | - |
237 | | -#### Using local build |
238 | | -```json |
239 | | -{ |
240 | | - "mcpServers": { |
241 | | - "civo": { |
242 | | - "command": "node", |
243 | | - "args": ["/path/to/civo-mcp/dist/index.js"], |
244 | | - "env": { |
245 | | - "CIVO_API_KEY": "YOUR_API_KEY_HERE" |
246 | | - } |
247 | | - } |
248 | | - } |
249 | | -} |
250 | | -``` |
251 | | - |
252 | | -## Testing |
253 | | - |
254 | | -Run the following command to execute the test suite: |
255 | | -```bash |
256 | | -npm run test:ci |
257 | | -``` |
258 | | - |
259 | | -Generate test coverage reports: |
260 | | -```bash |
261 | | -npm run test:coverage |
262 | | -``` |
263 | | - |
264 | | -## Build |
265 | | - |
266 | | -Build the project using TypeScript: |
267 | | -```bash |
268 | | -npm run build |
269 | | -``` |
270 | | - |
271 | | -## Examples |
272 | | - |
273 | | -### Creating an Instance |
274 | | -```bash |
275 | | -# First, list available regions and sizes |
276 | | -curl -s "https://api.civo.com/v2/regions" -H "Authorization: Bearer $CIVO_API_KEY" |
277 | | -curl -s "https://api.civo.com/v2/sizes" -H "Authorization: Bearer $CIVO_API_KEY" |
278 | | - |
279 | | -# Then create an instance using the MCP server |
280 | | -# This would be done through Claude Desktop or another MCP client |
281 | | -``` |
282 | | - |
283 | | -### Managing Kubernetes Clusters |
284 | | -```bash |
285 | | -# List available Kubernetes versions |
286 | | -# Use the list_kubernetes_versions tool |
287 | | - |
288 | | -# Create a cluster |
289 | | -# Use the create_kubernetes_cluster tool with required parameters |
290 | | -``` |
291 | | - |
292 | 310 | ## Contributing |
293 | 311 |
|
294 | 312 | Contributions are welcome! Please follow these steps: |
|
0 commit comments