Skip to content

Commit 28b2477

Browse files
authored
🧠 [blog] Cyclops MCP (#834)
1 parent 1cc7b24 commit 28b2477

5 files changed

Lines changed: 152 additions & 13 deletions

File tree

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
---
2+
title: "Vibe Coding on Kubernetes with Cyclops MCP"
3+
authors: [petarc]
4+
---
5+
6+
![Vibe Coding on Kubernetes with Cyclops MCP](../../static/img/2025-05-08-cyclops-mcp/cover.png)
7+
8+
There’s been a ton of hype around AI and developer workflows, but when it comes to Kubernetes, not much has really happened yet - and for good reason. You want your infrastructure to be **stable**, and vibe coding isn’t exactly known for stability.
9+
10+
Imagine your config being rewritten every time you deploy. Even a tiny change like adding an env variable could snowball into a broken system. Or worse: you wake up to a massive AWS bill because your LLM decided you *really* needed a few extra nodes while all you were trying to do was bump a Docker image version.
11+
12+
But what if you could put **guardrails** in place to prevent all that?
13+
14+
Today, **we are launching** our very own [**MCP server for Cyclops**](https://github.com/cyclops-ui/mcp-cyclops), and in this post, I’ll show you how you can enable your devs to **safely** deploy their code to Kubernetes by chatting with an LLM! ***Vibe deploying?*** 👉👉
15+
16+
### Support us 🙏
17+
18+
*We know that Kubernetes can be difficult. That is why we created Cyclops, an open-source framework for building developer platforms on Kubernetes. Build golden paths from your existing configuration and enable safe self-service for your developers and AI agents!*
19+
20+
*We're developing Cyclops and Cyclops MCP as open-source projects. If you're keen to give it a try, here's a quick start guide available on our* [*repository*](https://github.com/cyclops-ui/mcp-cyclops)*. If you like what you see, consider showing your support by giving us a star ⭐*
21+
22+
> ⭐ [***Star Cyclops MCP on GitHub***](https://github.com/cyclops-ui/mcp-cyclops)
23+
>
24+
25+
![star-cyclops-on-github](../../static/img/github-stars.gif)
26+
27+
## What is an MCP server?
28+
29+
By the end of last year, Anthropic launched the open-sourced Model Context Protocol (MCP) as a way for AI agents to interact with third-party services and APIs. The main goal of the MCP is to standardize how AI agents interact with your data and services.
30+
31+
With an MCP server, your AI agents can safely act on your behalf**.** Instead of guessing which API endpoints to call or listing possible commands for a CLI that might or might not work, they now **know** what they can use.
32+
33+
Also, with an MCP server, your agents are aware of the state of the tools you are using. Meaning that it can now know what Grafana dashboards it can use, what repos you have stored on GitHub, or what tags are available for a Docker image. Just data, no hallucinations, and made-up contexts.
34+
35+
For each of your models and AI agents, you can configure which MCP servers they should connect to to take action on your behalf. For each of the vendors I mentioned above (Grafana, GitHub, and Docker), there is a corresponding MCP server that translates agent requests into real actions on said providers.
36+
37+
Since Cyclops is all about making developers' lives easier, we implemented our own MCP server that you can install into your Kubernetes cluster and **deploy your applications using natural language.**
38+
39+
![Cyclops MCP server](../../static/img/2025-05-08-cyclops-mcp/mcp-arch.png)
40+
41+
## Cyclops MCP
42+
43+
> [***Check Cyclops MCP on GitHub***](https://github.com/cyclops-ui/mcp-cyclops)
44+
>
45+
46+
Cyclops itself is a tool to abstract your Kubernetes configuration behind a customizable and simple UI. Under the hood, all Cyclops applications can be defined as Kubernetes objects. To define an application, Cyclops introduces a Kubernetes [CustomResourceDefinition](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/) called Module.
47+
48+
When a developer creates an application through Cyclops' UI, the Cyclops backend will create an instance of a Module. Cyclops MCP exposes `tools` for managing Modules and templates from which to create Modules.
49+
50+
Cyclops MCP is not cutting the DevOps out of the equation - the DevOps engineer is responsible for creating templates and making sure applications are following best practices. Through templates, DevOps engineers will define which low-level K8s resources will be created and what configuration developers and AI agents should follow when deploying an application.
51+
52+
You can now ask your AI agent to deploy your app using natural language. It translates your request into a configuration that meets the DevOps engineer's schema, ensuring best practices and production readiness.
53+
54+
### Prerequisites
55+
56+
Prerequisites to try out Cyclops MCP are to have a running Kubernetes cluster, [`kubectl`](https://kubernetes.io/docs/tasks/tools/#kubectl) installed, and Cyclops installed in your cluster. If you don’t have a running cluster, you can create one with [Minikube](https://minikube.sigs.k8s.io/docs/start).
57+
58+
To install Cyclops in your cluster, run the commands below:
59+
60+
```bash
61+
kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.20.1/install/cyclops-install.yaml && kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.20.1/install/demo-templates.yaml
62+
```
63+
64+
It will create a new namespace called `cyclops` and deploy everything you need for your Cyclops instance to run.
65+
66+
Now all that is left is to expose the Cyclops server outside the cluster:
67+
68+
```bash
69+
kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops
70+
```
71+
72+
You can now access Cyclops in your browser on [http://localhost:3000](http://localhost:3000/).
73+
74+
### Install Cyclops MCP
75+
76+
1. If you are running Cyclops `v0.20.1` or above, you can install the Cyclops MCP by going to the sidebar `"Addon"`> `"MCP server"`. You can now click `"Install Cyclops MCP server"`, and your Cyclops MCP server will be up and running in a few seconds.
77+
78+
![Cyclops MCP server install](../../static/img/2025-05-08-cyclops-mcp/mcp-install.png)
79+
80+
Alternatively, if you are running a Cyclops version before `v0.20.1`, the Cyclops MCP can be installed with the following command:
81+
82+
```bash
83+
kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/mcp-cyclops/refs/heads/main/install/mcp-server.yaml
84+
```
85+
86+
2. Now that your MCP server is up and running, all that's left is exposing it outside of your cluster and connecting your AI agent to it.
87+
88+
To expose the MCP server on localhost, you can simply port-forward it with the following command:
89+
90+
```bash
91+
kubectl port-forward -n cyclops svc/cyclops-mcp 8000:8000
92+
```
93+
94+
Your server is now available on `localhost:8000`.
95+
96+
3. To connect it to an AI agent, you will just have to provide the Cyclops MCP server in its configuration. For example, to add it to Cursor, you can add it with the following JSON:
97+
98+
```bash
99+
{
100+
"mcpServers": {
101+
"mcp-cyclops": {
102+
"url": "http://localhost:8000/sse"
103+
}
104+
}
105+
}
106+
```
107+
108+
4. You can now start a fresh conversation with your AI companion. Below is an example of how we used it with cursor. You can always see all of the deployed applications in Cyclops and edit them from the UI as well.
109+
110+
<iframe
111+
width="100%"
112+
height="500"
113+
src="https://www.youtube.com/embed/g9FtMX2rSQk"
114+
title="YouTube video"
115+
frameborder="0"
116+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
117+
allowfullscreen
118+
></iframe>
119+
120+
## Kubernetes MCP
121+
122+
Before wrapping up, there is one question we have to get straight: “Is there a Kubernetes MCP server I can use to talk to my cluster directly?” - **There is!**
123+
124+
However, there is a big caveat here. With implementations of Kubernetes MCP, you will let your AI agents deploy lower-level resources like Deployments, Services, Ingresses, and so on. Each company (or even Kubernetes cluster) will have its specifics on what tech to use and how one should deploy their application.
125+
126+
When you tell your agent to “Expose my application outside of the cluster.”, it can do it in a variety of ways. The AI agent could just spawn new Ingresses, but that might not be the way it exposed another application a week ago, leading to inconsistency in the cluster.
127+
128+
The agent will not follow best practices while deploying an application, which could lead to misconfiguration, production outages, or security breaches.
129+
130+
Kubernetes is complex, and how it’s set up varies from cluster to cluster - because of that, AI agents can’t always give you the right configuration for your case.
131+
132+
## Final thoughts
133+
134+
We believe that AI is finding its place in the developer workflow, but there should be levels of abstractions and validations to enable it and make it as safe as possible. This is our first step in this direction.
135+
136+
We built this **open-source**; feel free to try it out and let us know what you think! [Join our Discord](https://discord.com/invite/8ErnK3qDb3) and help shape the discussion around AI and Kubernetes 🙌
137+
138+
> ⭐ [***Star Cyclops MCP on GitHub***](https://github.com/cyclops-ui/mcp-cyclops) ⭐
139+
>

web/src/components/Blogs/index.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,41 +23,41 @@ const Blogs = () => {
2323
<Row gutter={[16, 16]}>
2424
<Col xs={{ span: 20, offset: 2 }} md={{ span: 6, offset: 3 }}>
2525
<Blog
26-
title={"What are Golden Paths in Platform Engineering?"}
26+
title={"Vibe Coding on Kubernetes with Cyclops MCP"}
2727
description={
28-
"Netflix uses the term Paved Road, and Spotify uses Golden Path, but in the end, they are the same thing..."
28+
"You want your infrastructure to be stable, and vibe coding isn't exactly known for stability..."
2929
}
3030
blogLink={
31-
"https://cyclops-ui.com/blog/2025/04/25/golden-paths"
31+
"https://cyclops-ui.com/blog/2025/05/08/cyclops-mcp"
3232
}
33-
avatar={"https://github.com/KaradzaJuraj.png"}
34-
banner={"/img/2025-04-24-golden-paths/cover.png"}
33+
avatar={"https://github.com/petar-cvit.png"}
34+
banner={"/img/2025-05-08-cyclops-mcp/cover.png"}
3535
/>
3636
</Col>
3737
<Col xs={{ span: 20, offset: 2 }} md={{ span: 6, offset: 0 }}>
3838
<Blog
39-
title={"From Helm Chart to Developer UI in 5 Minutes"}
39+
title={"What are Golden Paths in Platform Engineering?"}
4040
description={
41-
"Helm is great… …until you give it to a developer."
41+
"Netflix uses the term Paved Road, and Spotify uses Golden Path, but in the end, they are the same thing..."
4242
}
4343
blogLink={
44-
"https://cyclops-ui.com/blog/2025/04/03/helm-to-idp-in-five"
44+
"https://cyclops-ui.com/blog/2025/04/24/golden-paths"
4545
}
4646
avatar={"https://github.com/KaradzaJuraj.png"}
47-
banner={"/img/2025-04-03-helm-to-idp-in-five/cover.png"}
47+
banner={"/img/2025-04-24-golden-paths/cover.png"}
4848
/>
4949
</Col>
5050
<Col xs={{ span: 20, offset: 2 }} md={{ span: 6, offset: 0 }}>
5151
<Blog
52-
title={"How Platform Engineering Helps You Move Like a Startup Again"}
52+
title={"From Helm Chart to Developer UI in 5 Minutes"}
5353
description={
54-
"There's been a quiet shift happening in engineering teams over the last few years. DevOps isn't going away, but it *is* evolving..."
54+
"Helm is great… …until you give it to a developer."
5555
}
5656
blogLink={
57-
"https://cyclops-ui.com/blog/2025/03/27/move-like-a-startup"
57+
"https://cyclops-ui.com/blog/2025/04/03/helm-to-idp-in-five"
5858
}
5959
avatar={"https://github.com/KaradzaJuraj.png"}
60-
banner={"/img/2025-03-27-move-like-a-startup/cover.jpeg"}
60+
banner={"/img/2025-04-03-helm-to-idp-in-five/cover.png"}
6161
/>
6262
</Col>
6363
</Row>
3.58 MB
Loading
216 KB
Loading
355 KB
Loading

0 commit comments

Comments
 (0)