Skip to content

MCPTool

This page is auto-generated by scripts/generate-schema-docs.ts. Do not edit manually.

  • Kind: MCPTool
  • API Group: kubemcp.io
  • Version: v1alpha1
  • apiVersion: kubemcp.io/v1alpha1
  • Reference Slug: /reference/mcptool/
FieldTypeRequiredDescriptionDefault
specunknown | unknownYes——
statusobjectNo——
FieldTypeRequiredDescriptionDefault
namestringNoMCP tool name (must be unique within server)—
descriptionstringNoHuman-readable description of the tool—
serviceobjectYes——
inputSchemaobjectNoJSON Schema for tool input validation—
methodstring ("GET", "POST", "PUT", "DELETE", "PATCH")NoHTTP method for tool invocation”POST”
ingressPathstringNoOptional path to expose tool via ingress—
toolsarray<object>NoMultiple tool definitions sharing this service. Use instead of single-tool name/inputSchema fields.—
FieldTypeRequiredDescriptionDefault
namestringYesKubernetes service name—
namespacestringNoService namespace (defaults to same as MCPTool)—
portintegerYesService port number—
pathstringNoHTTP path for tool endpoint”/“
FieldTypeRequiredDescriptionDefault
namestringYesMCP tool name (must be unique within server)—
pathstringYesHTTP path for this tool endpoint—
descriptionstringNoHuman-readable description of the tool—
inputSchemaobjectNoJSON Schema for tool input validation—
methodstring ("GET", "POST", "PUT", "DELETE", "PATCH")NoHTTP method for tool invocation”POST”
FieldTypeRequiredDescriptionDefault
readybooleanNoWhether tool is ready for use—
resolvedEndpointstringNoFully resolved endpoint URL—
lastSyncTimestring [date-time]NoLast time tool was synced—
conditionsarray<object>No——
FieldTypeRequiredDescriptionDefault
typestringYes——
statusstring ("True", "False", "Unknown")Yes——
lastTransitionTimestring [date-time]No——
reasonstringNo——
messagestringNo——
---
# Example MCPTool - points to the echo-backend service
apiVersion: kubemcp.io/v1alpha1
kind: MCPTool
metadata:
name: echo-tool
namespace: mcp-test
labels:
mcp-server: echo
spec:
name: echo
description: Echoes back the input for testing
service:
name: echo-backend-svc
port: 8080
path: /
inputSchema:
type: object
properties:
message:
type: string
description: Message to echo back
required:
- message
method: POST
ConditionReasonStatusDescription
ReadyServiceResolvedTrueNamed Service found; status.resolvedEndpoint contains the full URL
ReadyServiceNotFoundFalseNamed Service does not exist in the namespace

See the Observability guide for diagnostic patterns using these conditions.