शॉप चालू है

हम वेबसाइटों, AI एजेंटों और LLM प्रशिक्षण के लिए Workstation AI मशीनें बनाते हैं — ऑनलाइन कॉन्फ़िगर करें और खरीदें।

शॉप में जाएँ
AI उत्पाद
एआई लैब्सOpenAI एजेंटClaude एजेंट्सGrok BotWorkstation AI नेटिव CRMमार्केटिंगसभी उत्पाद
AI समाधान
एप्लाइड AIAI एजेंटजनरेटिव AIAI स्वचालनAI कौशल विकासSME के लिए AI पैकेजएंटरप्राइज़ AI लैबAI वर्कस्टेशनNVIDIA हार्डवेयर और सॉफ़्टवेयरप्राइवेट AIGPU क्लस्टरएज AIउद्योग के अनुसार AI
AI सेवाएँ
प्लेटफ़ॉर्म आधुनिकीकरणडिजिटल इंजीनियरिंगडेटा आधार और AIस्वायत्त संचालनएआई परामर्शDevOps स्वचालनसाइबर सुरक्षासॉफ़्टवेयर विकासएजेंट निर्माणMLOps सेटअप
हमारे बारे में
कंपनीहमारी कहानीसाझेदारग्राहक कहानियाँ
AI डेटा सेंटर
AI जानकारियाँJev शृंखलाबेंचमार्क लैबमॉडल चयन
लेख
दस्तावेज़ीकरण
Linux OSUbuntuRed Hat Enterprise LinuxSUSE LinuxAlpine LinuxDebian, Rocky & AlmaLinux
AI क्लाउड प्लेटफ़ॉर्मAWS & Amazon BedrockGoogle Cloud & Vertex AIMicrosoft Azure & AI FoundryGPU क्लाउड और मार्केटप्लेस
निजी AI डेटा सेंटरलॉ फर्मों के लिएअकाउंटिंग फर्मों के लिएऑन-प्रिमाइसेस प्लेटफ़ॉर्मपूरी तरह सुरक्षित क्लाउड
उपकरणRing PromoterJobshout
समाचार
ब्लॉग
संपर्क करेंसाइन इन करें

आधुनिक व्यवसायों के लिए AI वर्कस्टेशन, AI मल्टी-एजेंटिक सॉफ़्टवेयर, GPU अवसंरचना और बुद्धिमान एजेंट समाधान।

संपर्क करें

AI समाधान

एप्लाइड AIAI एजेंटजनरेटिव AIAI स्वचालनAI कौशल विकासSME के लिए AI पैकेजएंटरप्राइज़ AI लैबउद्योग के अनुसार AI

उत्पाद

सभी उत्पादWorkstation AI native CRM और ERPमार्केटिंगOpenAI एजेंटRing PromoterJobshout

कंपनी

हमारे बारे मेंकंपनीAI डेटा सेंटरWorkstation क्योंसाझेदारग्राहक कहानियाँमूल्य निर्धारणसंपर्कTenthMatrix

संसाधन

AI जानकारियाँलेखदस्तावेज़ीकरणLinux OSAI क्लाउड प्लेटफ़ॉर्मनिजी AI डेटा सेंटरब्लॉगखोजेंसाइटमैप
यूके कार्यालय
77-79 Marlowes, Hemel Hempstead HP1 1LFदिशा-निर्देश - M25 आउटर लंदन से जंक्शन 20 लेंकंपनी संख्या: 11641870सोम - शुक्र: सुबह 9:00 - शाम 6:00 GMT
+44 7515 356 146
बेल्जियम कार्यालय
Workstation SRL, Rue Vanderkindere 34, 1180 Uccle, BrusselsBE 0751.518.683सोम - शुक्र: सुबह 9:00 - शाम 6:00 CET
+32 492 45 67 46
भारत कार्यालय
#159 Sector 9, Pocket 1, DDA Flats, 110077 Dwarka, New Delhi
+91 98881 98841

© 2026 Workstation AI. सर्वाधिकार सुरक्षित।

गोपनीयताडेटा हटानाकुकीज़सेवा की शर्तेंवेबसाइट साइटमैप

Loading blog...

होम / ब्लॉग
AI AgentsDevOpsKubernetesLLMPlatform EngineeringSecurity

MCP for DevOps: Give Agents Pipeline Context Without the Keys

JobShout AI Blog Writer Agent (opens in a new window)18 अक्टूबर 202610 min read
Cover

The Model Context Protocol (MCP) lets an AI assistant read your clusters, pipelines and tickets through one standard interface instead of a pile of custom integrations. Wired carelessly, it also hands a language model the keys to production. This post shows how DevOps and platform teams can get the context benefit first, with read-only servers, scoped identities and full tracing, and add write access only where a human signs off.

In one sentence. Use MCP to give agents read-only, least-privilege access to delivery and operations data behind a gateway you control, trace every tool call, and only then add write tools behind human approval.

What MCP gives a DevOps team

MCP is an open protocol in which servers expose tools, resources and prompts, and clients (an IDE, a chat assistant, your own agent) discover and call them. Tools are model-controlled: the model decides when to call them based on the conversation [1]. One Kubernetes server, one CI server and one ticketing server can then serve every assistant your engineers use, instead of each tool vendor building its own integration.

Adoption is broad. In December 2025 Anthropic reported more than 10,000 active public MCP servers, adoption in ChatGPT, Cursor, Gemini, Microsoft Copilot and Visual Studio Code, and deployment support from AWS, Cloudflare, Google Cloud and Microsoft Azure. The protocol now sits in the Agentic AI Foundation, a directed fund under the Linux Foundation [2]. For a platform team, that means MCP is a reasonable interface to standardise on.

It does not mean any of those 10,000 servers belong near production. The specification is clear that servers must validate inputs, enforce access control, rate-limit and sanitise outputs, and that clients should confirm sensitive operations and log tool usage for audit [1]. Those duties fall on you.

What the 2026-07-28 revision changes for operators

The current specification revision, 2026-07-28, makes several changes that matter if you run MCP servers as infrastructure [3]:

  • Stateless protocol. Protocol-level sessions, the Mcp-Session-Id header and the initialise handshake are gone; each request carries its protocol version and capabilities. Servers that need cross-call state mint explicit handles. That makes it simpler to run servers as ordinary replicas behind a load balancer.
  • Routable headers. Streamable HTTP POST requests must carry Mcp-Method and Mcp-Name headers, so a gateway or WAF can route, rate-limit or block by tool without parsing the body.
  • Cache hints. List and read results carry ttlMs and cacheScope, and servers should return tools in a deterministic order to help client caching and prompt-cache hit rates.
  • Tracing. Trace context propagation through _meta (traceparent, tracestate, baggage) is now documented, and the protocol's own Logging feature is deprecated in favour of stderr or OpenTelemetry.
  • Auth. Dynamic Client Registration is deprecated in favour of Client ID Metadata Documents, and clients must validate the iss parameter when it is present.

If your servers were built against 2025-11-25 or earlier, check your SDK's support for the new revision before you upgrade clients.

MCP requests flowing through a gateway to scoped servers. An agent sends tool calls to an MCP gateway that authenticates, routes by the Mcp-Name header and emits traces. Read-only calls flow to Kubernetes, CI and observability servers, each with its own scoped identity. A write call to the change server is held until a human approves it.
A gateway in front of narrow, separately credentialed servers gives you one place to authenticate, route, rate-limit, log and trace every tool call.

Where MCP earns its keep in operations

The pattern that works is "the agent gathers, a person decides". Good first candidates share three traits: the data is spread across several systems, the output has a known shape, and a wrong answer is caught by a human before it causes harm.

  • Incident triage. Pull recent deploys, error-rate changes, pod events and related tickets into one timeline for the on-call engineer.
  • Release readiness. Collect rollout status, pipeline results and open incidents against the change ticket.
  • Runbook lookup. Answer "how do we rotate this certificate?" from your own runbooks and current cluster state, with links.
  • Drift and hygiene reports. List workloads without resource limits, images without pinned tags, or alerts with no owner.

Poor first candidates are anything where the agent acts directly on production, or where it needs broad access to customer data to be useful. Leave those until the read-only foundations, identities and traces are in place.

The playbook: from read-only evidence to gated writes

The safest first use case is an evidence pack: the agent gathers deployment status, test results, open incidents and the change ticket, and writes a release-readiness summary for a human to approve. It never changes anything. Follow these steps:

  1. Pick one read-only job with a clear output. Release readiness or incident triage summaries are good candidates. Write down inputs, the output schema and what "done" means.
  2. Choose servers deliberately. Prefer official servers from the vendor of the system, or write your own thin ones. The MCP security guidance describes how a local server can run arbitrary commands with the client's privileges; clients should show the exact command before installing one and run servers sandboxed with minimal privileges [4].
  3. Give every server its own identity, scoped to its job. A Kubernetes server for triage needs get, list and watch on a handful of resources, not cluster-admin and not Secrets. See the RBAC example below.
  4. Get authentication right. MCP servers must not accept tokens that were not issued to them, so "token passthrough" to downstream APIs is out [4]. Start clients with minimal scopes and step up only when a privileged tool is first used [4].
  5. Design tools for the model and the auditor. Give each tool a precise description, an inputSchema, and an outputSchema so results are structured and can be validated [1]. Set annotations honestly, and remember clients must treat annotations from untrusted servers as untrusted [1]. When several servers are aggregated, prefix tool names with a server identifier to avoid collisions [1].
  6. Put a gateway in front. Terminate auth, route on Mcp-Name, rate-limit per tool and hold write tools for approval. For server-side clients, the security guidance recommends an egress proxy that blocks internal destinations such as cloud metadata endpoints [4].
  7. Trace and log every call. OpenTelemetry's MCP conventions name spans {mcp.method.name} {target}, for example tools/call get_deploy_status, with gen_ai.tool.name as an attribute [5]. They are still at "Development" status, so pin a version.
  8. Add writes last, one at a time, behind approval. The tools specification says there should always be a human able to deny tool invocations, and that clients should show tool inputs before calling the server [1]. Make the approver see the exact arguments.

A read-only identity for a Kubernetes MCP server

apiVersion: v1
kind: ServiceAccount
metadata:
  name: mcp-k8s-readonly
  namespace: mcp
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: mcp-k8s-readonly
rules:
  - apiGroups: [""]
    resources: ["pods", "pods/log", "services", "events", "nodes"]
    verbs: ["get", "list", "watch"]
  - apiGroups: ["apps"]
    resources: ["deployments", "replicasets", "statefulsets", "daemonsets"]
    verbs: ["get", "list", "watch"]
  # Deliberately no "secrets" and no "configmaps".
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: mcp-k8s-readonly
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: mcp-k8s-readonly
subjects:
  - kind: ServiceAccount
    name: mcp-k8s-readonly
    namespace: mcp

Prove the boundary before you connect an agent:

SA=system:serviceaccount:mcp:mcp-k8s-readonly
kubectl auth can-i list pods --all-namespaces --as=$SA      # yes
kubectl auth can-i get secrets --all-namespaces --as=$SA    # no
kubectl auth can-i delete pods --all-namespaces --as=$SA    # no

A tool definition that helps the model and the reviewer

{
  "name": "k8s.get_deploy_status",
  "title": "Deployment rollout status",
  "description": "Read-only. Returns rollout status for one Deployment: desired, updated and available replicas, and recent warning events.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "namespace": { "type": "string" },
      "deployment": { "type": "string" }
    },
    "required": ["namespace", "deployment"],
    "additionalProperties": false
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "desired": { "type": "integer" },
      "updated": { "type": "integer" },
      "available": { "type": "integer" },
      "warnings": { "type": "array", "items": { "type": "string" } }
    },
    "required": ["desired", "updated", "available", "warnings"]
  },
  "annotations": { "readOnlyHint": true, "openWorldHint": false }
}

A task contract for the agent

Explicit task definitions keep the agent inside its lane. This is an internal format of our own, not a standard:

task: release_readiness_check
inputs: [change_ticket_id, target_env]
output_schema: release_readiness_report.json
tools_allowed:
  - k8s.get_deploy_status
  - ci.get_pipeline_result
  - obs.query_error_rate
  - tickets.get_change
constraints:
  - read_only
  - no_production_data_in_output
limits: { max_steps: 20, max_wall_clock: 10m }
handoff: human_approver   # the agent recommends; a person decides

Before and after: a release-readiness check

StepWithout MCPWith read-only MCP servers
Gather rollout statusEngineer runs kubectl in several contextsAgent calls k8s.get_deploy_status per service
Check pipeline and testsOpen the CI UI, copy linksAgent calls the CI server and links each result
Check error budgetQuery dashboards by handAgent queries metrics through the observability server
Write the summaryFree text in the ticketStructured report against a schema, sources linked
DecisionHumanHuman, with the agent's evidence and a full trace
Audit trailWhatever was pasted inEvery tool call, argument and result in traces and logs
The lethal trifecta applied to MCP servers. Three overlapping circles: private data, untrusted content and outbound channels, each with example MCP servers. The centre where all three overlap is marked as the danger zone that no single agent should occupy.
Simon Willison's "lethal trifecta" applied to MCP: any agent with private data, untrusted input and a way to send data out can be tricked into leaking it [6].

Checklist

  • Every connected server is on an allowlist with a named owner and a pinned version.
  • Each server has its own identity with least-privilege permissions, verified with a test such as kubectl auth can-i.
  • Tokens are audience-bound to the server; no token passthrough.
  • Write tools are held at the gateway for human approval, with exact arguments shown.
  • Tool names are prefixed by server; descriptions, input and output schemas are reviewed like an API.
  • Gateway enforces rate limits and egress rules; cloud metadata endpoints are blocked.
  • Every tools/call produces a trace span and an audit log entry.
  • No agent combines private data, untrusted content and an outbound channel.
  • Your SDKs and clients are checked against the 2026-07-28 revision before upgrade.

Common mistakes

  • Reusing an admin kubeconfig "just for the pilot". Pilots become production. Start with the scoped identity.
  • Installing community servers from a one-line command. A local server runs with your privileges [4]. Read it, pin it, sandbox it.
  • Trusting a server's readOnlyHint. It is a hint from the server, not an enforced permission [1]. Enforce read-only with credentials.
  • Connecting every available tool. More tools mean more ways to go wrong. Thoughtworks' account of Bayer's PRINCE platform puts it well: reliability comes from engineering both the context the model sees and the harness it acts in [7].
  • No trace correlation. Without propagated trace context you cannot connect an agent's decision to the API call it caused.

What to do this week

  1. List every MCP server your engineers have configured in IDEs and assistants, with the credentials each uses.
  2. Create one read-only service account for a Kubernetes MCP server and prove it with kubectl auth can-i.
  3. Build a release-readiness evidence pack for one service using only read-only tools.
  4. Turn on OpenTelemetry tracing for tool calls and check you can follow one request end to end.
  5. Write down which tools would ever need write access, and who approves each.

MCP is a good standard for giving agents operational context, and the controls that make it safe are ones platform teams already know: scoped identities, gateways, audit logs and change approval. If you want a second pair of eyes on how your agents reach production systems, our security team can help.

References

  1. MCP specification: Tools (2026-07-28), Model Context Protocol.
  2. Donating the Model Context Protocol and establishing the Agentic AI Foundation, Anthropic, 9 December 2025.
  3. MCP specification 2026-07-28: Key changes, Model Context Protocol.
  4. MCP Security Best Practices, Model Context Protocol.
  5. Semantic conventions for Model Context Protocol, OpenTelemetry.
  6. The lethal trifecta for AI agents, Simon Willison, 16 June 2025.
  7. Building Reliable Agentic AI Systems, Sarang Sanjay Kulkarni, martinfowler.com, June 2026.