mcp tools reference
MCP Tools Reference — All Platform Services
For agents starting new projects: This is your complete guide to all MCP tool servers available on the BlueFly platform. Use these to wire tools into kagent agents, Claude Code, Cursor, or any MCP-compatible client.
Quick Reference
| MCP Server | URL | Protocol | Tools | Auth | Where |
|---|---|---|---|---|---|
| kagent-tool-server | http://kagent-tools.kagent:8084/mcp | Streamable HTTP | 113 | None (cluster-internal) | Oracle k3s |
| kagent-grafana-mcp | http://kagent-grafana-mcp.kagent:8000/mcp | Streamable HTTP | 54 | Grafana SA token (env) | Oracle k3s |
| kagent-querydoc | http://kagent-querydoc.kagent:8080/mcp | Streamable HTTP | 1 | None (cluster-internal) | Oracle k3s |
| GKG (Knowledge Graph) | https://gkg.bluefly.internal/mcp/sse | SSE | 8 | None | Oracle (tunneled) |
| GitLab (built-in) | https://gitlab.com/api/v4/mcp | HTTP | 15 | OAuth 2.0 (auto) | GitLab.com SaaS |
External Access (NodePort)
For clients outside the k3s cluster (e.g., Claude Code on Mac, Cursor):
| Service | NodePort URL | Tunnel URL |
|---|---|---|
| kagent-tool-server | http://oracle-platform.tailcf98b3.ts.net:30084/mcp | N/A |
| kagent-grafana-mcp | http://oracle-platform.tailcf98b3.ts.net:30800/mcp | N/A |
| kagent-ui | http://oracle-platform.tailcf98b3.ts.net:30080 | https://kagent-ui.blueflyagents.com |
| kagent controller | http://oracle-platform.tailcf98b3.ts.net:30083 | https://kagent.blueflyagents.com |
| GKG | N/A | https://gkg.bluefly.internal/mcp/sse |
1. kagent-tool-server (113 tools)
What: The main kagent tool server bundled with kagent 0.7.17. Provides Kubernetes, Helm, Cilium, Istio, Argo Rollouts, and Prometheus tools.
Internal URL: http://kagent-tools.kagent:8084/mcp
External URL: http://oracle-platform.tailcf98b3.ts.net:30084/mcp
Protocol: Streamable HTTP
Image: ghcr.io/kagent-dev/kagent/tools:0.0.13
Tool Categories
| Category | Count | Example Tools |
|---|---|---|
| Kubernetes (k8s_*) | 18 | k8s_get_resources, k8s_get_pod_logs, k8s_apply_manifest, k8s_describe_resource, k8s_scale, k8s_rollout |
| Helm (helm_*) | 6 | helm_list_releases, helm_upgrade, helm_uninstall, helm_get_release, helm_repo_add |
| Cilium (cilium_*) | 45 | cilium_status_and_version, cilium_get_endpoints_list, cilium_install_cilium, cilium_validate_cilium_network_policies |
| Istio (istio_*) | 14 | istio_analyze_cluster_configuration, istio_install_istio, istio_proxy_status, istio_version |
| Argo Rollouts (argo_*) | 8 | argo_rollouts_list, argo_pause_rollout, argo_promote_rollout, argo_set_rollout_image |
| Prometheus (prometheus_*) | 5 | prometheus_query_tool, prometheus_query_range_tool, prometheus_promql_tool, prometheus_label_names_tool |
| Utility | 2 | datetime_get_current_time, shell |
kagent Agent Wiring
# In a kagent Agent spec (v1alpha2): spec: type: Declarative declarative: tools: - type: McpServer mcpServer: name: kagent-tool-server kind: RemoteMCPServer toolNames: - k8s_get_resources - k8s_get_pod_logs - k8s_apply_manifest - k8s_describe_resource - helm_list_releases - helm_upgrade - prometheus_query_tool
Claude Code / Cursor Config
{ "mcpServers": { "kagent-tools": { "type": "http", "url": "http://oracle-platform.tailcf98b3.ts.net:30084/mcp" } } }
2. kagent-grafana-mcp (54 tools)
What: Grafana MCP server — provides alerting, dashboard, annotation, incident, and datasource tools.
Internal URL: http://kagent-grafana-mcp.kagent:8000/mcp
External URL: http://oracle-platform.tailcf98b3.ts.net:30800/mcp
Protocol: Streamable HTTP
Image: mcp/grafana:latest
Required Environment Variables
| Var | Value | Notes |
|---|---|---|
GRAFANA_URL | http://kube-prometheus-stack-grafana.monitoring:80 | Internal Grafana service |
GRAFANA_SERVICE_ACCOUNT_TOKEN | glsa_... | Create via Grafana API (see below) |
Creating a Grafana Service Account Token
# From Oracle: GRAFANA_IP=$(kubectl get svc -n monitoring kube-prometheus-stack-grafana -o jsonpath='{.spec.clusterIP}') # Create service account curl -s -u admin:<password> http://${GRAFANA_IP}:80/api/serviceaccounts \ -X POST -H "Content-Type: application/json" \ -d '{"name":"kagent-mcp","role":"Admin"}' # Create token (use the id from above) curl -s -u admin:<password> http://${GRAFANA_IP}:80/api/serviceaccounts/<id>/tokens \ -X POST -H "Content-Type: application/json" \ -d '{"name":"kagent-token"}'
Tool Categories
| Category | Example Tools |
|---|---|
| Alerts | create_alert_rule, list_alert_rules, get_alert_rule_by_uid |
| Dashboards | search_dashboards, get_dashboard_by_uid, create_or_update_dashboard |
| Annotations | create_annotation, list_annotations |
| Incidents | create_incident, add_activity_to_incident, list_incidents |
| Datasources | list_datasources, get_datasource_by_uid |
| Folders | create_folder, list_folders |
| Users/Teams | list_teams, list_users |
kagent Agent Wiring
tools: - type: McpServer mcpServer: name: kagent-grafana-mcp kind: RemoteMCPServer toolNames: - search_dashboards - query_prometheus - list_alert_rules - create_annotation - list_incidents
3. GKG — Knowledge Graph (8 tools)
What: BlueFly Graph Knowledge Graph — semantic search, entity management, relationship mapping.
URL: https://gkg.bluefly.internal/mcp/sse
Protocol: SSE (Server-Sent Events)
Auth: None (public, tunneled through Cloudflare)
kagent Agent Wiring
# NOTE: GKG is in gitlab-agent namespace, not kagent # The RemoteMCPServer exists as gitlab-agent/gkg tools: - type: McpServer mcpServer: name: gkg kind: RemoteMCPServer namespace: gitlab-agent # cross-namespace reference toolNames: - search - get_entity - list_entities
Claude Code / Cursor Config
{ "mcpServers": { "gkg": { "type": "sse", "url": "https://gkg.bluefly.internal/mcp/sse" } } }
4. kagent-querydoc (1 tool)
What: Document Q&A — doc2vec-based document search and question answering.
Internal URL: http://kagent-querydoc.kagent:8080/mcp
Protocol: Streamable HTTP
Image: ghcr.io/kagent-dev/doc2vec/mcp:1.1.14
Tools
| Tool | Description |
|---|---|
query_documents | Search and answer questions about indexed documents |
5. GitLab MCP (built-in, 15 tools)
What: GitLab's native MCP server. Built into GitLab.com. Provides issue, MR, pipeline, and search tools with full OAuth 2.0 auth.
URL: https://gitlab.com/api/v4/mcp
Protocol: HTTP (recommended) or stdio via npx mcp-remote
Auth: OAuth 2.0 Dynamic Client Registration (automatic)
Requirements: GitLab Premium/Ultimate, Duo features enabled
Tools
| Tool | Description |
|---|---|
get_mcp_server_version | Returns GitLab MCP server version |
create_issue | Create issue with title, description, assignees, labels, milestones |
get_issue | Get detailed issue information |
create_merge_request | Create MR with source/target branches, reviewers, labels |
get_merge_request | Get detailed MR information |
get_merge_request_commits | List commits in an MR |
get_merge_request_diffs | Get diffs for an MR |
get_merge_request_pipelines | Get pipelines for an MR |
get_pipeline_jobs | Get jobs for a CI/CD pipeline |
manage_pipeline | List, create, retry, cancel, delete pipelines |
create_workitem_note | Add comment to a work item |
get_workitem_notes | Get all comments for a work item |
search | Search across entire GitLab instance |
search_labels | Search labels in project or group |
semantic_code_search | Semantic code search in a project |
Claude Code Setup
claude mcp add --transport http GitLab https://gitlab.com/api/v4/mcp
Cursor Setup
Settings > Cursor Settings > Tools & MCP > Add:
{ "mcpServers": { "GitLab": { "type": "http", "url": "https://gitlab.com/api/v4/mcp" } } }
stdio (for Claude Desktop, Zed, Continue)
{ "mcpServers": { "GitLab": { "command": "npx", "args": ["mcp-remote", "https://gitlab.com/api/v4/mcp"] } } }
Wiring into kagent
To use GitLab MCP in kagent, you need to register it as a RemoteMCPServer. Since it requires OAuth, this currently does NOT work directly from kagent controller (no OAuth flow). Options:
- Use
npx mcp-remoteas a sidecar/bridge - Use a PAT-based proxy
- Use the
glabCLI via kagent-tool-server'sshelltool
Wiring Tools into kagent Agents
RemoteMCPServer CRD
apiVersion: kagent.dev/v1alpha2 kind: RemoteMCPServer metadata: name: my-mcp-server namespace: kagent spec: url: "http://my-service.kagent:8080/mcp" protocol: STREAMABLE_HTTP # or SSE description: "My custom MCP server" timeout: "30s" sseReadTimeout: "5m0s" terminateOnClose: true
Agent Tool Reference
apiVersion: kagent.dev/v1alpha2 kind: Agent metadata: name: my-agent namespace: kagent spec: type: Declarative declarative: modelConfig: gpt4o systemMessage: "You are a helpful agent..." tools: - type: McpServer mcpServer: name: kagent-tool-server # RemoteMCPServer name kind: RemoteMCPServer toolNames: # Specific tools (from discoveredTools) - k8s_get_resources - k8s_get_pod_logs - type: McpServer mcpServer: name: kagent-grafana-mcp kind: RemoteMCPServer toolNames: - search_dashboards - query_prometheus
How Tool Discovery Works
- Create a
RemoteMCPServerCR pointing to the MCP server URL - kagent controller connects, fetches tool list → stored in
status.discoveredTools - Agent references specific
toolNamesfrom the discovered list - At runtime, agent calls tools via the controller → MCP server
Drupal Tool API Integration
Drupal → kagent (Drupal tools available to kagent agents)
Create a Drupal MCP server module that exposes Drupal operations as MCP tools:
# Register as RemoteMCPServer apiVersion: kagent.dev/v1alpha2 kind: RemoteMCPServer metadata: name: drupal-tools namespace: kagent spec: url: "https://marketplace.blueflyagents.com/api/mcp" # Drupal MCP endpoint protocol: STREAMABLE_HTTP description: "Drupal AgentDash tools"
Drupal module would expose tools like:
drupal_list_content— list/search Drupal contentdrupal_create_node— create contentdrupal_get_agent_status— agent marketplace statusdrupal_deploy_recipe— deploy a Drupal recipe
kagent → Drupal (kagent status/tools visible in Drupal)
Drupal module polls kagent API for:
- Agent list:
GET /api/agents?namespace=kagent - Agent status:
GET /api/agents/{name}?namespace=kagent - MCP servers:
GET /api/remotemcpservers?namespace=kagent - Tool list per server: parsed from RemoteMCPServer status
API base: https://kagent.blueflyagents.com (port 30083)
Current State (2026-02-26)
| Server | Status | Discovered Tools | Notes |
|---|---|---|---|
| kagent-tool-server | Accepted | 113 | Working, all k8s/helm/cilium/istio/argo/prometheus tools |
| kagent-grafana-mcp | Accepted | 54 | Fixed: added GRAFANA_URL + service account token |
| gkg | Accepted | 8 | Fixed: corrected URL from /api/mcp/sse to /mcp/sse |
| kagent-querydoc | Accepted | 1 | New: registered as RemoteMCPServer |
| gitlab (removed) | N/A | 0 | mcp.blueflyagents.com is agent-protocol, not MCP. Use GitLab native MCP at gitlab.com/api/v4/mcp instead |
ModelConfigs (all agents currently on OpenAI)
| Name | Provider | Model | Reason |
|---|---|---|---|
| gpt4o | OpenAI | gpt-4o | Primary — Anthropic credits depleted |
| gpt4o-mini | OpenAI | gpt-4o-mini | Lightweight tasks |
| default-model-config | OpenAI | gpt-4.1-mini | Helm default |
| claude-opus | Anthropic | claude-opus-4-6 | Disabled — no credits |
| claude-sonnet | Anthropic | claude-sonnet-4-5-20250929 | Disabled — no credits |