mcp platform summary
MCP Platform Summary — All Services & Tools
Purpose: Complete technical reference for ALL MCP-capable services across the BlueFly Agent Platform. Hand this to any agent starting a new project.
Architecture Overview
┌─────────────────────────────────────────────────────────────────────┐
│ Oracle k3s Cluster │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
│ │ kagent-tool-server│ │kagent-grafana-mcp│ │ kagent-querydoc │ │
│ │ :8084/mcp │ │ :8000/mcp │ │ :8080/mcp │ │
│ │ 113 tools │ │ 54 tools │ │ 1 tool │ │
│ │ Streamable HTTP │ │ Streamable HTTP │ │ Streamable HTTP │ │
│ └────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘ │
│ │ │ │ │
│ ┌────────┴─────────────────────┴──────────────────────┴─────────┐ │
│ │ kagent-controller (0.7.17) │ │
│ │ Reconciles: Agent, ModelConfig, RemoteMCPServer, ToolServer │ │
│ │ Wires tools → agents, manages deployments │ │
│ └───────────────────────────┬───────────────────────────────────┘ │
│ │ │
│ ┌───────────────────────────┴───────────────────────────────────┐ │
│ │ 35 kagent Agents (33 OK, 2 failed) │ │
│ │ 25 OSSA agents + 4 custom + 6 Helm │ │
│ │ All using gpt4o ModelConfig (OpenAI) │ │
│ └───────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────┐ │
│ │ kagent-ui │ :30080 → https://kagent-ui.blueflyagents.com │
│ │ Chat + Manage │ │
│ └──────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ Oracle Docker Services │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
│ │ agent-protocol │ │ agent-mesh │ │ agent-router │ │
│ │ :4005 (MCP hub) │ │ :3005 │ │ :4000 │ │
│ │ NOT MCP server │ │ Agent comms │ │ Routing/disco │ │
│ └──────────────────┘ └──────────────────┘ └──────────────────┘ │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
│ │ GKG server │ │ agent-tracer │ │ compliance-engine│ │
│ │ (inside k3s) │ │ :3006 │ │ :3010 │ │
│ │ SSE: /mcp/sse │ │ OpenTelemetry │ │ Audit/policy │ │
│ └──────────────────┘ └──────────────────┘ └──────────────────┘ │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
│ │ workflow-engine │ │ content-guardian │ │ agent-studio │ │
│ │ :3015 │ │ :4010 │ │ :3012 │ │
│ │ State machines │ │ Content moderat │ │ Visual builder │ │
│ └──────────────────┘ └──────────────────┘ └──────────────────┘ │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
│ │ n8n │ │ langflow │ │ LibreChat │ │
│ │ :5678 │ │ :7860 │ │ :3080 │ │
│ │ Workflow auto │ │ Flow builder │ │ Chat UI │ │
│ └──────────────────┘ └──────────────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ External Services │
│ │
│ ┌──────────────────┐ │
│ │ GitLab MCP │ https://gitlab.com/api/v4/mcp │
│ │ HTTP transport │ OAuth 2.0, 15 tools │
│ │ Premium/Ultimate │ Issues, MRs, Pipelines, Search │
│ └──────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
All MCP-Capable Services
Tier 1: Active MCP Servers (registered in kagent, tools discoverable)
| # | Server | URL | Protocol | Tools | Namespace | Status |
|---|---|---|---|---|---|---|
| 1 | kagent-tool-server | http://kagent-tools.kagent:8084/mcp | Streamable HTTP | 113 | kagent | Accepted |
| 2 | kagent-grafana-mcp | http://kagent-grafana-mcp.kagent:8000/mcp | Streamable HTTP | 54 | kagent | Accepted |
| 3 | GKG | https://gkg.bluefly.internal/mcp/sse | SSE | 8 | gitlab-agent | Accepted |
| 4 | kagent-querydoc | http://kagent-querydoc.kagent:8080/mcp | Streamable HTTP | 1 | kagent | Accepted |
| 5 | GitLab (native) | https://gitlab.com/api/v4/mcp | HTTP | 15 | N/A (external) | Not in kagent |
Total active tools: 191 (176 in kagent + 15 GitLab native)
Tier 2: Platform Services (NOT MCP servers, but APIs available)
| Service | Port | Tunnel URL | API Type | Purpose |
|---|---|---|---|---|
| agent-protocol | 4005 | mcp.blueflyagents.com | REST | Agent protocol hub, NOT MCP |
| agent-mesh | 3005 | mesh.bluefly.internal | REST/WS | Agent-to-agent communication |
| agent-router | 4000 | router.bluefly.internal | REST | Agent discovery and routing |
| agent-tracer | 3006 | tracer.bluefly.internal | OTLP | OpenTelemetry tracing |
| compliance-engine | 3010 | compliance.bluefly.internal | REST | Policy and audit |
| workflow-engine | 3015 | workflow.bluefly.internal | REST | State machine workflows |
| content-guardian | 4010 | content-guardian.blueflyagents.com | REST | Content moderation |
| agent-studio | 3012 | studio.blueflyagents.com | REST | Visual agent builder |
| intel-feed | 9006 | intel.blueflyagents.com | REST | Intelligence aggregation |
| n8n | 5678 | n8n.blueflyagents.com | REST | Workflow automation |
| langflow | 7860 | langflow.blueflyagents.com | REST | Flow builder |
Tier 3: Data Services (backends, not directly MCP)
| Service | Port | Purpose |
|---|---|---|
| Prometheus | k8s :9090 | Metrics (accessed via kagent-tool-server prometheus_* tools) |
| Grafana | k8s :80 / Docker :30300 | Dashboards (accessed via kagent-grafana-mcp) |
| Qdrant | 6333 | Vector search |
| PostgreSQL | 5434 | Relational data |
| MongoDB | 27017 | Document store |
| Redis | 6379 | Cache/queue |
| Loki | 3100 | Log aggregation |
| Tempo | 3200 | Distributed tracing |
How to Connect From Different Clients
Claude Code (on Mac)
# Add individual servers: claude mcp add --transport http kagent-tools http://oracle-platform.tailcf98b3.ts.net:30084/mcp claude mcp add --transport http kagent-grafana http://oracle-platform.tailcf98b3.ts.net:30800/mcp claude mcp add --transport sse gkg https://gkg.bluefly.internal/mcp/sse claude mcp add --transport http GitLab https://gitlab.com/api/v4/mcp
Or in .mcp.json:
{ "mcpServers": { "kagent-tools": { "type": "http", "url": "http://oracle-platform.tailcf98b3.ts.net:30084/mcp" }, "kagent-grafana": { "type": "http", "url": "http://oracle-platform.tailcf98b3.ts.net:30800/mcp" }, "gkg": { "type": "sse", "url": "https://gkg.bluefly.internal/mcp/sse" }, "GitLab": { "type": "http", "url": "https://gitlab.com/api/v4/mcp" } } }
Cursor / VS Code
Settings > MCP Servers, same JSON structure as above.
kagent Agent (on Oracle k3s)
apiVersion: kagent.dev/v1alpha2 kind: Agent metadata: name: my-agent namespace: kagent spec: type: Declarative description: "My agent description" declarative: modelConfig: gpt4o # or claude-opus when credits available systemMessage: "You are a helpful agent..." tools: # K8s + Helm + Networking tools - type: McpServer mcpServer: name: kagent-tool-server kind: RemoteMCPServer toolNames: - k8s_get_resources - k8s_get_pod_logs - k8s_apply_manifest - helm_list_releases - helm_upgrade # Grafana tools - type: McpServer mcpServer: name: kagent-grafana-mcp kind: RemoteMCPServer toolNames: - search_dashboards - query_prometheus - list_alert_rules # Knowledge graph tools - type: McpServer mcpServer: name: gkg kind: RemoteMCPServer toolNames: - search deployment: replicas: 1
n8n Workflow
In n8n, use the MCP Client node:
- URL:
http://oracle-platform.tailcf98b3.ts.net:30084/mcp - Or for k3s-internal:
http://kagent-tools.kagent:8084/mcp
Tool Inventory by Category
Kubernetes Operations (18 tools — kagent-tool-server)
k8s_get_resources, k8s_get_pod_logs, k8s_apply_manifest, k8s_create_resource, k8s_create_resource_from_url, k8s_delete_resource, k8s_describe_resource, k8s_execute_command, k8s_generate_resource, k8s_get_available_api_resources, k8s_get_cluster_configuration, k8s_get_events, k8s_get_resource_yaml, k8s_annotate_resource, k8s_label_resource, k8s_patch_resource, k8s_rollout, k8s_scale, k8s_check_service_connectivity, k8s_remove_annotation, k8s_remove_label
Helm (6 tools — kagent-tool-server)
helm_list_releases, helm_upgrade, helm_uninstall, helm_get_release, helm_repo_add, helm_repo_update
Cilium Networking (45 tools — kagent-tool-server)
cilium_status_and_version, cilium_get_endpoints_list, cilium_get_endpoint_details, cilium_install_cilium, cilium_upgrade_cilium, cilium_validate_cilium_network_policies, cilium_show_cluster_mesh_status, cilium_list_services, cilium_get_daemon_status, cilium_list_bgp_peers, ...and 35 more
Istio Service Mesh (14 tools — kagent-tool-server)
istio_analyze_cluster_configuration, istio_install_istio, istio_version, istio_proxy_status, istio_proxy_config, istio_remote_clusters, istio_generate_manifest, istio_apply_waypoint, istio_delete_waypoint, istio_generate_waypoint, istio_list_waypoints, istio_waypoint_status, istio_ztunnel_config
Argo Rollouts (8 tools — kagent-tool-server)
argo_rollouts_list, argo_pause_rollout, argo_promote_rollout, argo_set_rollout_image, argo_check_plugin_logs, argo_verify_argo_rollouts_controller_install, argo_verify_gateway_plugin, argo_verify_kubectl_plugin_install
Prometheus Monitoring (5 tools — kagent-tool-server)
prometheus_query_tool, prometheus_query_range_tool, prometheus_promql_tool, prometheus_label_names_tool, prometheus_targets_tool
Grafana Observability (54 tools — kagent-grafana-mcp)
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/Teams/Users: create_folder, list_folders, list_teams, list_users
...and more
Knowledge Graph (8 tools — GKG)
Search, entity management, relationship mapping
Document Search (1 tool — kagent-querydoc)
query_documents — doc2vec-based document Q&A
GitLab DevOps (15 tools — GitLab native MCP)
create_issue, get_issue, create_merge_request, get_merge_request, get_merge_request_commits, get_merge_request_diffs, get_merge_request_pipelines, get_pipeline_jobs, manage_pipeline, create_workitem_note, get_workitem_notes, search, search_labels, semantic_code_search, get_mcp_server_version
Utility (2 tools — kagent-tool-server)
datetime_get_current_time, shell
Network Access Matrix
| From → To | kagent-tools | grafana-mcp | GKG | GitLab MCP |
|---|---|---|---|---|
| kagent agents (k3s) | kagent-tools.kagent:8084 | kagent-grafana-mcp.kagent:8000 | gkg.bluefly.internal/mcp/sse | OAuth required |
| Mac (Tailscale) | oracle-platform...:30084 | oracle-platform...:30800 | gkg.bluefly.internal/mcp/sse | gitlab.com/api/v4/mcp |
| Internet (Cloudflare) | Not exposed | Not exposed | gkg.bluefly.internal/mcp/sse | gitlab.com/api/v4/mcp |
| Docker services | host.k3d.internal:30084 | host.k3d.internal:30800 | Direct | Direct |
Authentication Summary
| Server | Auth Method | Credentials Location |
|---|---|---|
| kagent-tool-server | None (cluster-internal) | N/A |
| kagent-grafana-mcp | Grafana SA token (env var) | Secret kagent-grafana-mcp in kagent ns |
| GKG | None (public) | N/A |
| kagent-querydoc | None (cluster-internal) | N/A |
| GitLab MCP | OAuth 2.0 (auto-negotiated) | Browser-based auth flow |
| LLM providers | API keys in k8s secrets | kagent-openai, kagent-anthropic in kagent ns |
Drupal Integration Points
Drupal → MCP (expose Drupal as MCP tools for kagent)
Create a Drupal module that implements Streamable HTTP MCP server:
- Endpoint:
https://marketplace.blueflyagents.com/api/mcp - Tools:
drupal_list_content,drupal_create_node,drupal_get_agent_status,drupal_deploy_recipe - Register as RemoteMCPServer in kagent
MCP → Drupal (consume kagent/MCP data in Drupal)
Drupal module polls kagent API:
- Agents:
https://kagent.blueflyagents.com/api/agents?namespace=kagent - MCP servers:
https://kagent.blueflyagents.com/api/remotemcpservers?namespace=kagent - Display in AgentDash dashboard
Quick Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
| RemoteMCPServer shows 0 tools | URL wrong or service down | Check pod logs, test URL with curl |
| Agent not Accepted | Missing type/declarative structure | Ensure spec.type: Declarative + spec.declarative.* |
| "unknown agent type" | Agent CRD stale | kubectl apply --server-side --force-conflicts the CRD |
| ModelConfig fields pruned | CRD stale | Reapply CRDs from Helm manifest |
| Grafana MCP "no Host" | Missing GRAFANA_URL env var | Add env vars to deployment |
| GKG returns HTML | Wrong URL path | Use /mcp/sse not /api/mcp/sse |
| GitLab MCP auth fails | Need Premium/Ultimate + Duo | Enable Duo features in GitLab |