Skip to main content

SDC Agents SMB

Purpose-scoped ADK agents for SDC4 data operations — SMB Edition.

Designed for personal and small/medium business usage. Uses a local LLM via Ollama instead of a Google API key, while connecting to the commercial SDCStudio SaaS backend for catalog, validation, and assembly APIs.

Positioning

SDC Agents SDC Agents SMB SDC Agents Sovereign
Target Enterprise Personal / SMB Air-gapped / Regulated
Backend SDCStudio SaaS SDCStudio SaaS SDCStudioSov (local)
LLM Gemini (Google API key) Local via Ollama Local via Ollama
Google API Key Required Not required Not required
BigQuery Yes No No
Vertex AI Search Yes No No
Wallet/Billing Yes Yes No (site-licensed)

Agents

8 purpose-scoped agents with 39+ tools (core + ToolsetHub plugins):

Agent Tools Network Datasource Purpose
Catalog 7 HTTPS None Discover schemas, download artifacts and packages
Introspect 6+ None Read-only Extract datasource structure (SQL, CSV, JSON, MongoDB + ToolsetHub)
Mapping 3 None None Map columns to semantic components
Generator 3 None Read-only Produce XML instances from mapped data
Validation 3 HTTPS None Validate and sign XML via VaaS API
Distribution 5 Local None Route artifacts to Fuseki, Neo4j, REST, filesystem
Knowledge 3 None Read-only Ingest context into ChromaDB vector store
Assembly 7 HTTPS None Discover components, HITL review, assemble data models

Introspect dynamically loads ToolsetHub plugins — install [notion], [sheets], or [airtable] for SMB-native datasource support.

Features

Core Pipeline

  • Introspect datasources with 13-field standardized column analysis and 10 type inference patterns
  • Discover matching catalog components with type compatibility scoring
  • HITL review gate for billable minting operations — see costs before committing
  • Assemble data models via the SDCStudio Assembly API (sync + async with hybrid polling)
  • Download published data model packages (.zip with XSD, XML, JSON, JSON-LD, HTML, SHA1)
  • Generate XML instances from mapped datasource records
  • Validate instances against XSD 1.1 schemas via VaaS API (deterministic, not probabilistic)
  • Distribute artifact packages to Fuseki, Neo4j, REST APIs, or filesystem

SMB-Native Datasources (ToolsetHub)

  • Notion — database properties, relations, rollups, select options (pip install sdc-agents-smb[notion])
  • Google Sheets — headers, inferred column types, sheet metadata (pip install sdc-agents-smb[sheets])
  • Airtable — field types, linked records, formula/lookup fields (pip install sdc-agents-smb[airtable])
  • Community extensible — add HubSpot, QuickBooks, Salesforce by following the reference pattern

Automation

  • Scheduler — cron-based pipeline automation via APScheduler (sdc-agents schedule run)
  • Notifications — push status to Slack webhooks, Telegram bots, or SMTP email
  • Pipeline templates — 7 bundled workflows (sdc-agents pipeline run healthcare-csv -p datasource=patients)

Data Governance

  • Schema drift detection — compare current structure against cached previous introspection, alerts on changes
  • Data annotations — agents auto-detect anomalies (null violations, mixed date formats, sentinel values); users add manual notes; annotations persist across sessions and auto-merge into future introspections
  • Cross-datasource lineage — track data flow from source through mapping, generation, validation, to distribution
  • Compliance reports — generate JSON/Markdown/HTML evidence from audit + lineage logs (sdc-agents compliance report)
  • Append-only audit — every tool call logged with credential redaction to .sdc-cache/audit.jsonl

Integrations

  • MCP server mode — serve any agent as an MCP server for Claude Desktop, Cursor, etc.
  • Audit dashboard — web UI for browsing, filtering, and exporting audit records (sdc-agents audit serve)
  • OpenClaw skill — 9-tool bridge exposing SDC tools to OpenClaw's messaging platform ecosystem

Quick Start

1. Install Ollama and pull a model

# Install Ollama: https://ollama.com/download
ollama pull gemma4:26b

2. Install SDC Agents SMB

pip install sdc-agents-smb

# Optional extras:
pip install sdc-agents-smb[knowledge]                    # PDF, DOCX, ChromaDB
pip install sdc-agents-smb[notion,sheets,airtable]       # SMB datasources
pip install sdc-agents-smb[dashboard]                    # Audit dashboard web UI

3. Configure

cp sdc-agents.example.yaml sdc-agents.yaml
# Edit sdc-agents.yaml with your SDCStudio URL, API key, and datasources

4. Run

# MCP mode — serve an agent as an MCP server
sdc-agents serve --mcp catalog
sdc-agents serve --mcp introspect

# Check configuration and installed toolsets
sdc-agents info
sdc-agents toolset list
sdc-agents validate-config

# Run a pipeline template
sdc-agents pipeline list
sdc-agents pipeline run healthcare-csv -p datasource=patient_csv

# Start the scheduler
sdc-agents schedule list
sdc-agents schedule run

# View audit log and dashboard
sdc-agents audit show --last 24h
sdc-agents audit serve --port 8080

# Manage data annotations
sdc-agents annotate list-all
sdc-agents annotate add my_csv email "EU rows use comma decimal separator"

# Assembly review workflow
sdc-agents assembly list-pending
sdc-agents assembly review quarterly_model
sdc-agents assembly approve quarterly_model

# Generate compliance report
sdc-agents compliance report --format html --last 30d -o report.html

5. ADK mode (standalone agent)

from sdc_agents.agents.catalog import create_catalog_agent
from sdc_agents.common.config import load_config

config = load_config("sdc-agents.yaml")
agent = create_catalog_agent(config)
# model defaults to ollama_chat/gemma4:26b from config

Model Configuration

The default model is ollama_chat/gemma4:26b. Configure in sdc-agents.yaml:

model:
  default: "ollama_chat/gemma4:26b"
  ollama_base_url: "http://localhost:11434"

Tested Models

Model Size Tool Calling Notes
gemma4:26b 26B MoE Native Recommended default
qwen3.5:32b 32B Native Strong reasoning
llama3.1:8b 8B Native Lightweight option

Any Ollama model with tool-calling support should work. Use the ollama_chat/ prefix for chat models.

Security Model

  • Purpose scoping — each agent has a narrow tool set, no mega-agent
  • Security isolation — no agent has both datasource access AND network access
  • Private project enforcement — created components go to non-public SDCStudio projects only
  • Read-only datasources — SQL write operations rejected; all introspection is read-only
  • Credential redaction — audit logger redacts connection, token, key, password, secret
  • Path confinement — validation/distribution restricted to configured output directory
  • Append-only audit — every tool call logged to .sdc-cache/audit.jsonl
  • ToolsetHub scope enforcement — plugins declare network hosts, datasource types, and file access; violations rejected at load time

Development

Environment

This repo needs its own environment, and that is not a preference. SDC_Agents and SDC_AgentsSMB both provide the module sdc_agents, so they cannot coexist: install both and import sdc_agents resolves to whichever landed last, which means a test run can silently exercise the wrong repo while reporting success. It also depends on google-adk, which SDCStudio removed deliberately, so the SDCStudio environment cannot run these tests either.

conda env create -f environment.yml
conda activate SDC_AgentsSMB
pip install -e ".[dev]"
pytest -q

CI runs ruff check, then black --check, then pytest. Run the formatters before pushing.

Releasing

Two steps, and merging alone ships nothing. release.yml triggers on a tag, not on a push to main. Merging publishes the Docker image and nothing else, which looks like a finished release.

# after the PR is merged and main carries the new version
git checkout main && git pull
git tag -a v4.0.1 -m "4.0.1"   # must match `version` in pyproject.toml
git push origin v4.0.1

The tag builds and publishes to PyPI. __version__ derives from the installed distribution, so only pyproject.toml needs the bump.

Documentation

License

Apache License 2.0 — see LICENSE.

Metadata

Release files for sdc-agents-smb 4.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sdc-agents-smb 4.0.2
File Size Uploaded Provenance
sdc_agents_smb-4.0.2.tar.gz 133.2 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sdc-agents-smb 4.0.2
File Interpreter ABI Platform
sdc_agents_smb-4.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 243.0 kB

Release files / sdc_agents_smb-4.0.2.tar.gz

Download URL sdc_agents_smb-4.0.2.tar.gz
Size 133.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1ed07fff6aac434101884b7e81b4add9023809896f419397c66983e532017ac1
BLAKE2b-256 checksum
How to use checksums
9f63ad0b88c6290836984e489ba07560aee64f6390860931a225bc586da3dd8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Release files / sdc_agents_smb-4.0.2-py3-none-any.whl

Download URL sdc_agents_smb-4.0.2-py3-none-any.whl
Size 109.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dbf9b74eb8cb6d2e3935195376b9509d9d2f3ecf3bfa657453f77c2b580395f3
BLAKE2b-256 checksum
How to use checksums
522c32bb3aceef7333229433ac73aaac2bdad25188c2fd67e6c06f7043e3ff45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Security for sdc-agents-smb 4.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for sdc_agents_smb-4.0.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page