naftiko: 1.0.0-alpha2 info: title: Mcp As K8s Resource Demo description: A demo capability treating MCP servers as first-class Kubernetes resources via a Naftiko CRD. tags: [Naftiko, MCP, Kubernetes, Demo] created: '2026-05-01' modified: '2026-05-04' binds: - namespace: k8s-env keys: {K8S_HOST: K8S_HOST, K8S_TOKEN: K8S_TOKEN, K8S_NAMESPACE: K8S_NAMESPACE} capability: consumes: - namespace: k8s type: http baseUri: 'https://{{K8S_HOST}}' authentication: {type: bearer, token: '{{K8S_TOKEN}}'} resources: - {name: mcp-servers, path: '/apis/naftiko.io/v1alpha1/namespaces/{{K8S_NAMESPACE}}/mcpservers', operations: [{name: list-mcp-server-crs, method: GET}, {name: create-mcp-server-cr, method: POST}]} - name: mcp-server path: '/apis/naftiko.io/v1alpha1/namespaces/{{K8S_NAMESPACE}}/mcpservers/{{name}}' operations: - {name: get-mcp-server-cr, method: GET, inputParameters: [{name: name, in: path}]} exposes: - type: rest address: 0.0.0.0 port: 8080 namespace: mcp-as-k8s-resource-demo-rest description: REST surface for MCP-as-K8s-resource demo. resources: - {name: mcp-servers, path: /mcp-servers, operations: [{method: GET, name: list-mcp-server-crs, call: k8s.list-mcp-server-crs}]} - type: mcp address: 0.0.0.0 port: 3010 namespace: mcp-as-k8s-resource-demo-mcp description: MCP for the demo. tools: - {name: list-mcp-server-crs, hints: {readOnly: true}, call: k8s.list-mcp-server-crs} - name: get-mcp-server-cr hints: {readOnly: true} inputParameters: [{name: name, type: string, required: true}] call: k8s.get-mcp-server-cr - {name: create-mcp-server-cr, call: k8s.create-mcp-server-cr} - type: skill address: 0.0.0.0 port: 3011 namespace: mcp-as-k8s-resource-demo-skills description: Skill for MCP-as-K8s. skills: - name: mcp-as-k8s-resource-demo description: MCP servers as K8s resources. location: file:///opt/naftiko/skills/mcp-as-k8s-resource-demo allowed-tools: list-mcp-server-crs,get-mcp-server-cr,create-mcp-server-cr tools: - {name: list-mcp-server-crs, from: {sourceNamespace: mcp-as-k8s-resource-demo-mcp, action: list-mcp-server-crs}} - {name: get-mcp-server-cr, from: {sourceNamespace: mcp-as-k8s-resource-demo-mcp, action: get-mcp-server-cr}} - {name: create-mcp-server-cr, from: {sourceNamespace: mcp-as-k8s-resource-demo-mcp, action: create-mcp-server-cr}}