Meshed agentic infrastructure for computational astronomy research, enabling AI models to participate directly in scientific workflows on the radioastronomy.io cluster.
Meshworks implements a hub-and-spoke architecture where MetaMCP aggregates MCP servers across a 7-node Proxmox cluster, presenting a unified interface to frontier AI models. Rather than point-to-point tool connections, the platform creates a persistent mesh where Claude, Gemini, and local models share live contextβa schema change in the research database or a new FITS file ingest is immediately perceptible to all cognitive actors.
If you're familiar with MCP orchestration patterns, skip to Architecture.
The radioastronomy.io research cluster runs scientific workloads: DESI spectral analysis, void catalogs, galaxy clustering algorithms. Historically, AI assisted with infrastructure and scriptingβuseful, but the science happened in notebooks and pipelines that humans wrote.
Meshworks changes this by exposing domain-specific tools alongside infrastructure tooling. The astro_mcp server provides direct FITS file access, coordinate transforms, and queries to astronomical surveys (DESI, SDSS, Gaia). When an agent can inspect a FITS header on radio-fs02, verify observation parameters, and queue analysis without human-written glue code, AI transitions from "helping with astronomy" to participating in the research workflow.
The platform organizes this capability through three logical namespaces:
- science.* β Research databases (PostgreSQL/pgvector, Neo4j graph), astronomical tools (astro_mcp, montage-mcp), spectral data access
- infra.* β Kubernetes APIs, Portainer, Grafana/Prometheus/Loki observability stack
- coding.* β Gitea version control, filesystem access, development tooling
This namespace isolation prevents context window bloating while enabling cognitive specialization. An agent working a science task sees the tools it needs without wading through container orchestration APIs.
| Audience | Use Case |
|---|---|
| Researchers | Reference architecture for self-hosted AI integration with scientific infrastructure |
| Platform Engineers | Patterns for MCP aggregation, namespace isolation, and multi-model orchestration |
| radioastronomy.io Contributors | Operational documentation for the cluster's agentic layer |
| Area | Status | Description |
|---|---|---|
| Repository Structure | β Complete | Domain-based organization with interior READMEs |
| Documentation Standards | β Complete | Templates, tagging strategy, memory bank |
| MetaMCP Aggregator | π In Progress | Hub deployment on radio-agents01 |
| Core MCP Servers | π In Progress | PostgreSQL, Neo4j, Gitea, Grafana integration |
| Science Tools | β¬ Planned | astro_mcp, montage-mcp deployment |
| Security Integration | β¬ Planned | Wazuh MCP with isolated deployment |
Meshworks implements a hub-and-spoke aggregation pattern centered on the radio-agents01 orchestration node. All AI models connect to a single MetaMCP endpoint rather than individual MCP servers.
| Decision | Rationale |
|---|---|
| Hub-and-spoke via MetaMCP | Centralized auth, middleware logging, namespace isolationβagents see curated tool sets, not hundreds of endpoints |
| Streamable HTTP transport | Bidirectional binary streams for FITS/Parquet data; connection resilience for long-running GPU jobs |
| Namespace isolation | Prevents context bloating; enables role-based access (read-only for autonomous agents, read-write for human-in-the-loop) |
| Local-only deployment | Network segmentation over OAuth complexity; MetaMCP binds to cluster subnet only |
| GitOps for mutations | Agents propose changes via Gitea PRs rather than direct infrastructure modification |
| Model | Role | Interface |
|---|---|---|
| Claude (Sonnet/Opus) | Strategic orchestration, architecture decisions, research synthesis | Claude Desktop β MetaMCP |
| Gemini Pro 2.5 | Batch operations, scheduled jobs, bulk data processing | CLI β MetaMCP |
| GLM-4 (via Kilo Code) | Day-to-day coding, cost-efficient development tasks | VS Code β MetaMCP |
| Local Models (Ollama) | Sensitive/high-volume tasks offloaded from API models | radio-gpu01 inference |
meshworks/
βββ π infrastructure-and-vms/ # VM configurations, network topology, cluster integration
βββ π services-and-applications/ # Databases, containerized services, application configs
βββ π mcp-servers/ # MCP server configurations and deployment docs
βββ π ai-ops-and-automation/ # AI orchestration patterns, automation workflows
βββ π machine-learning-gpu-computing/# ML workloads, GPU compute, model inference
βββ π observability-monitoring/ # Grafana, Prometheus, Loki, alerting configs
βββ π python-shared-venv/ # Tiered Python environment (ml-compat-3.12)
βββ π vscode/ # VS Code configuration, extensions, Kilo Code setup
βββ π docs/ # Documentation standards and reference materials
βββ π shared/ # Cross-cutting utilities and scripts
βββ π work-logs/ # Milestone documentation and progress tracking
βββ π assets/ # Images, diagrams, visual assets
βββ π LICENSE # MIT License (code)
βββ π LICENSE-DATA # CC-BY-4.0 (documentation/data)
βββ π README.md # This file
The science namespace transforms meshworks from infrastructure automation into a research platform.
| Tool | Capability | Cluster Integration |
|---|---|---|
| astro_mcp | FITS metadata extraction, coordinate transforms (ICRSβGalactic), cone searches | Reads from radio-fs02 spectral shares |
| astro_mcp | Direct queries to DESI, SDSS, Gaia, VizieR, SIMBAD | Correlates with local desi_void_desivast catalog |
| montage-mcp | FITS mosaickingβcombining multiple observations | Processes files on radio-fs02 storage |
| postgres-mcp | pgvector similarity search on galaxy embeddings | radio-pgsql01 research database |
| neo4j-mcp | Graph Data Science procedures for clustering analysis | radio-neo4j01 relational fabric |
| pandas-mcp | Local DataFrame analysis within ml-compat-3.12 | Sandboxed execution on radio-agents01 |
Before meshworks: "Write a Python script to check the FITS headers in this directory, filter by RA/DEC range, and queue matching files for spectral analysis."
With meshworks: "Check the observation headers on radio-fs02, find files in the target region, and queue them for analysis"βthe agent executes this directly through the science namespace.
The platform operates entirely within the radioastronomy.io cluster with no external exposure.
| Layer | Implementation |
|---|---|
| Network | MetaMCP binds to cluster subnet (10.25.20.0/24) only; no public endpoints |
| Transport | Streamable HTTP on port 8000; ufw rules restrict to don-desktop + cluster IPs |
| Access Control | Two MetaMCP profiles: autonomous-agent (read-only), human-in-the-loop (read-write with confirmation) |
| Secrets | 1Password CLI injection; no credentials in configs or prompts |
| Audit | All tool calls logged to radio-pgsql02 audit table via MetaMCP middleware |
| Mutations | Destructive operations require GitOps flow (PR β review β merge β execute) |
| Repository | Relationship |
|---|---|
| radioastronomy.io | Parent organizationβcluster infrastructure, other research projects |
| proxmox-astronomy-lab | Cluster-wide VM management, network topology, hardware specs |
| rag-optimized-documentation | Documentation standards templates (upstream) |
This repository benefits from open source programs that provide tooling to qualifying public repositories.
| Program | Provides | Use Case |
|---|---|---|
| Atlassian | Jira, Confluence (Standard) | Project tracking, documentation |
| Greptile | AI code review | PR review, codebase Q&A |
| Snyk | Security scanning | Dependency vulnerability detection |
| Program | Provides | Planned Use |
|---|---|---|
| SonarCloud | Code quality | Static analysis when code artifacts grow |
| Sentry | Error tracking | Runtime monitoring for deployed services |
We practice open science and open methodologyβour version of "showing your work":
- Research methodologies are fully documented and repeatable
- Infrastructure configurations are version-controlled and automated
- The MCP aggregation pattern is published so others can adapt it for their domains
- Learning processes are captured in work-logs for community benefit
All projects operate under open source licenses (MIT for code, CC-BY-4.0 for documentation) to ensure maximum reproducibility.
This repository documents a running system, not a deployment template. To understand the architecture:
- Review Architecture for the hub-and-spoke pattern
- Explore mcp-servers/ for individual server configurations
- See docs/data-science-infrastructure.md for VM specifications
To adapt this pattern for your own cluster:
- Study the MetaMCP aggregation approach in services-and-applications/
- Review namespace isolation strategy in the architecture diagram
- Examine the tiered Python environment in python-shared-venv/
- Read CONTRIBUTING.md for workflow expectations
- Review docs/documentation-standards/ for formatting
- Check work-logs/ for current milestone status
Code is licensed under the MIT Licenseβsee LICENSE.
Documentation and data artifacts are licensed under CC-BY-4.0βsee LICENSE-DATA.
- Anthropic β Claude models and MCP specification
- MetaMCP β Aggregation pattern implementation
- astro_mcp β Astronomical data access tooling
- Open source community β The ecosystem of MCP servers that make this architecture viable
Last Updated: 2026-01-06 | Milestone 01: Repository Initialization


