Skip to main content
Glama
mcpserver.yaml5.29 kB
{{- if eq .Values.deployment.method "toolhive" }} apiVersion: toolhive.stacklok.dev/v1alpha1 kind: MCPServer metadata: name: {{ include "dot-ai.fullname" . }} namespace: {{ .Release.Namespace }} labels: {{- include "dot-ai.labels" . | nindent 4 }} spec: # Container image configuration image: {{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} # Transport configuration - streamable-http for ToolHive transport: streamable-http port: 3456 targetPort: 3456 # Permission profile for network access (Kubernetes API calls) permissionProfile: type: builtin name: network # Mount secrets for API keys {{- if or .Values.secrets.anthropic.apiKey .Values.secrets.openai.apiKey }} secrets: - name: {{ .Values.secrets.name }} key: {{ .Values.secrets.anthropic.keyName }} {{- if .Values.secrets.openai.apiKey }} - name: {{ .Values.secrets.name }} key: {{ .Values.secrets.openai.keyName }} {{- end }} {{- end }} # Minimal resources for ToolHive proxy resources: limits: cpu: "200m" memory: "256Mi" requests: cpu: "100m" memory: "128Mi" # Pod template specification for the MCP server container podTemplateSpec: spec: {{- if .Values.serviceAccount.create }} serviceAccountName: {{ include "dot-ai.serviceAccountName" . }} {{- end }} containers: - name: mcp image: {{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} imagePullPolicy: IfNotPresent # Environment variables for HTTP transport env: - name: TRANSPORT_TYPE value: "http" - name: PORT value: "3456" - name: HOST value: "0.0.0.0" - name: SESSION_MODE value: "stateless" - name: DOT_AI_SESSION_DIR value: "/tmp/sessions" # AI Provider configuration - name: AI_PROVIDER value: {{ .Values.ai.provider | default "anthropic" | quote }} {{- if .Values.ai.model }} - name: AI_MODEL value: {{ .Values.ai.model | quote }} {{- end }} {{- if .Values.ai.customEndpoint.enabled }} - name: CUSTOM_LLM_BASE_URL value: {{ .Values.ai.customEndpoint.baseURL | quote }} - name: CUSTOM_EMBEDDINGS_BASE_URL value: {{ .Values.ai.customEndpoint.embeddingsBaseURL | default .Values.ai.customEndpoint.baseURL | quote }} {{- if .Values.ai.customEndpoint.embeddingsModel }} - name: EMBEDDINGS_MODEL value: {{ .Values.ai.customEndpoint.embeddingsModel | quote }} {{- end }} {{- if .Values.ai.customEndpoint.embeddingsDimensions }} - name: EMBEDDINGS_DIMENSIONS value: {{ .Values.ai.customEndpoint.embeddingsDimensions | quote }} {{- end }} {{- end }} # AI Provider API Keys - name: ANTHROPIC_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.anthropic.keyName }} optional: true - name: OPENAI_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.openai.keyName }} optional: true - name: GOOGLE_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.google.keyName }} optional: true - name: XAI_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.xai.keyName }} optional: true - name: MOONSHOT_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.moonshot.keyName }} optional: true - name: CUSTOM_LLM_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.customLlm.keyName | default "custom-llm-api-key" }} optional: true - name: CUSTOM_EMBEDDINGS_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.customEmbeddings.keyName | default "custom-embeddings-api-key" }} optional: true {{- if .Values.qdrant.enabled }} - name: QDRANT_URL value: "http://{{ include "dot-ai.fullname" . }}-qdrant:6333" {{- else if .Values.qdrant.external.url }} - name: QDRANT_URL value: {{ .Values.qdrant.external.url }} {{- end }} {{- with .Values.extraEnv }} # Additional environment variables {{- toYaml . | nindent 8 }} {{- end }} # Volume mounts for sessions directory volumeMounts: - name: sessions mountPath: /tmp/sessions # Resource configuration - reuse existing values resources: {{- toYaml .Values.resources | nindent 10 }} # Volumes for writable sessions directory volumes: - name: sessions emptyDir: {} {{- end }}

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vfarcic/dot-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server