87 lines
2.8 KiB
YAML
87 lines
2.8 KiB
YAML
apiVersion: toolhive.stacklok.dev/v1alpha1
|
|
kind: VirtualMCPServer
|
|
metadata:
|
|
name: state-docs-vmcp
|
|
namespace: toolhive-system
|
|
annotations:
|
|
toolhive.stacklok.dev/registry-export: "true"
|
|
toolhive.stacklok.dev/registry-title: Document State Virtual MCP
|
|
toolhive.stacklok.dev/registry-description: Virtual MCP which is focused on enabling documentation of the current state
|
|
toolhive.stacklok.dev/registry-url: https://state-docs.ngorse.com
|
|
spec:
|
|
groupRef:
|
|
name: homelab-core
|
|
embeddingServerRef:
|
|
name: homelab-embedding
|
|
incomingAuth:
|
|
type: anonymous
|
|
config:
|
|
aggregation:
|
|
excludeAllTools: true
|
|
tools:
|
|
- workload: gitea-mcp
|
|
toolConfigRef:
|
|
name: state-doc-tools
|
|
- workload: automem
|
|
toolConfigRef:
|
|
name: state-doc-tools
|
|
- workload: argocd-mcp
|
|
toolConfigRef:
|
|
name: state-doc-tools
|
|
- workload: kubernetes-mcp
|
|
toolConfigRef:
|
|
name: state-doc-tools
|
|
compositeTools:
|
|
- name: document_app_running_state
|
|
description: "Collect live runtime and deployment state for an application and write a markdown snapshot."
|
|
parameters:
|
|
type: object
|
|
properties:
|
|
appName:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
repoPath:
|
|
type: string
|
|
required: [appName, namespace, repoPath]
|
|
steps:
|
|
- id: app
|
|
tool: argocd-remote_get_application
|
|
arguments:
|
|
name: "{{ .input.appName }}"
|
|
- id: appHealth
|
|
tool: argocd-remote_get_application_health
|
|
arguments:
|
|
name: "{{ .input.appName }}"
|
|
- id: pods
|
|
tool: kubernetes-remote_get_pods
|
|
arguments:
|
|
namespace: "{{ .input.namespace }}"
|
|
- id: events
|
|
tool: kubernetes-remote_get_events
|
|
arguments:
|
|
namespace: "{{ .input.namespace }}"
|
|
- id: prior
|
|
tool: automem-remote_memory_search
|
|
arguments:
|
|
query: "{{ .input.appName }} runtime summary operating notes"
|
|
- id: writeDoc
|
|
tool: gitea-remote_create_or_update_file
|
|
arguments:
|
|
path: "{{ .input.repoPath }}"
|
|
content: |
|
|
# Running State — {{ .input.appName }}
|
|
|
|
- Namespace: {{ .input.namespace }}
|
|
- Captured: {{ now }}
|
|
- ArgoCD sync: {{ .steps.app.output.syncStatus }}
|
|
- ArgoCD health: {{ .steps.appHealth.output.healthStatus }}
|
|
|
|
## Pods
|
|
{{ .steps.pods.output }}
|
|
|
|
## Recent Events
|
|
{{ .steps.events.output }}
|
|
|
|
## Prior Notes
|
|
{{ .steps.prior.output }} |