Skip to main content

alphaswarm-ml-mcp

Dedicated MCP server publishing the data.ml.* tool slice — Predictor Hub lookups, AlphaBacktestExperiment dispatch, walk-forward run inspection, finetune trainer status, model serving (vLLM / Ollama / KServe). Piggybacked on the alphaswarm-core pod (same FastAPI app, distinct route prefix and aud claim).

This is the MLOps slice's RFC 9728 / RFC 8707 conformant endpoint — see mcp-rfc-conformance.

Identity

FieldValue
Service idalphaswarm-ml-mcp
Rolemcp
Packagealphaswarm_models/ (tools); served from alphaswarm/ml_mcp/
Image (key)(piggybacked on api)
Built fromalphaswarm_platform/Dockerfile (target api)

Wire

FieldValue
ProtocolHTTP/1.1 + WebSocket (MCP)
Port8000 (shared with alphaswarm-core)
HealthGET /mcp/ml/tools (lists tool registrations)
DiscoveryGET /.well-known/oauth-protected-resource/mcp/ml (RFC 9728 metadata)
Audience claimdedicated per-MCP aud per AGENTS rule 49

Tool registrations

Tool prefixConcept doc
data.ml.predictors.*ml-framework.md
data.ml.skills.*mlops-service.md
data.ml.serving.*ml-framework.md
data.ml.experiments.*analysis-framework.md
data.ml.finetune.*ml-framework.md

Deployment surfaces

SurfaceWhere
Composefolded into api
Kustomizefolded into base/alphaswarm-core/
AQP CRfolded into AQPMonolith (spec.mlMcp.enabled)

Dependencies

Upstream:

  • mlflow (5000) — experiment + model registry.
  • postgres — Predictor Hub catalog.
  • polaris / minio — feature store reads.
  • bentoml / kserve (when serving backend = remote) — model invocations.

Downstream:

  • Agentic plane (alphaswarm/agents/) — ML calls go through DataMCP, never direct ORM imports.
  • alphaswarm-ide research copilot.

Operations

  • router_complete only: any LLM call from inside the MCP registrations goes through alphaswarm/llm/providers/router.py (rule 2).
  • OOD guard + circuit breaker: the MLSkillRuntime applies rules/ood_guard.py and the circuit breaker before model calls.
  • Audit: every tool invocation lands an agent_runs_v2 row.

See also