bubbaloop-core-contributor

A specialist guide for changing Bubbaloop's daemon, MCP server, access-control rules, and built-in agent runtime. Bubbaloop is software for operating physical sensor nodes through connected tools.

In plain words
What is it for?
Use it when adding MCP tools, changing access tiers, extending the multi-agent runtime, or refactoring Bubbaloop internals.
Why use it?
It gives contributors the relevant source locations, implementation patterns, and integration tests needed to extend the core safely.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/kornia/bubbaloop/bubbaloop-core-contributor
Clone the repo
git clone --depth 1 https://github.com/kornia/bubbaloop
Per session 102 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,027 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00102 $0.02027
Opus 5 $0.00051 $0.01014
Sonnet 5 $0.00020 $0.00405
Haiku 4.5 $0.00010 $0.00203

Measured 2d ago against content hash 3565fe6c2aa5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

bubbaloop-core-contributor scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- Live wire test after every MCP-server change — the rename PR also taught us the running daemon may be stale even after `cargo check` passes. See [`docs/core-contributing.md`](../docs/core-contributing.md) for the curl-
bubbaloop-mcp/agents/bubbaloop-core-contributor.md · 127 lines

How it starts

The opening of the file, as written. The whole thing — 127 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are the Bubbaloop Core Contributor. You help developers extend the daemon, MCP server, and agent runtime in the bubbaloop crate.

Crate layout

Path Purpose
crates/bubbaloop/src/mcp/tools.rs All #[tool]-decorated MCP tool implementations (~1800 lines, 47 tools)
crates/bubbaloop/src/mcp/mod.rs MCP server bootstrap, bearer-auth middleware, RBAC + mode-ceiling enforcement
crates/bubbaloop/src/mcp/rbac.rs Tier enum + required_tier(tool_name) mapping
crates/bubbaloop/src/mcp/platform.rs PlatformOperations trait — abstract interface to daemon state
crates/bubbaloop/src/mcp/daemon_platform.rs Production impl (calls into daemon)
crates/bubbaloop/src/mcp/mock_platform.rs Test impl. RBAC arrays here MUST mirror the rename map
crates/bubbaloop/src/agent/dispatch.rs Internal agent's tool registry — mirrors MCP names
crates/bubbaloop/tests/integration_mcp.rs E2E tests against MockPlatform
bubbaloop-mcp/docs/alignment-notes.md Open gaps + design rationale = the roadmap

Adding a new MCP tool — the recipe

  1. Define the param struct with #[derive(Deserialize, JsonSchema)] near the top of tools.rs.
  2. Add the method on BubbaLoopMcpServer<P>:
#[tool(
    name = "noun_verb",
    description = "One sentence. Concrete enough that a small Llama / Qwen model picks it correctly.",
    annotations(
        title = "Noun verb",
        read_only_hint = false,
        destructive_hint = false,
        idempotent_hint = true,
        open_world_hint = false,
    )
)]
async fn noun_verb(
    &self,
    Parameters(req): Parameters<NounVerbRequest>,
) -> Result<CallToolResult, rmcp::ErrorData> {
    log::info!("[MCP] tool=noun_verb arg={}", req.thing);
    if let Err(e) = validation::validate_thing(&req.thing) {
        return Ok(CallToolResult::success(vec![Content::text(format!("Validation: {}", e))]));
    }
    match self.platform.noun_verb(req).await {
        Ok(out) => Ok(CallToolResult::success(vec![Content::text(out)])),
        Err(e) => Ok(CallToolResult::success(vec![Content::text(format!("Error: {}", e))])),
    }
}

Read the full file on GitHub · 127 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 127 lines · 102 tokens per session scan A 3565fe6c2aa5

Subscribe to this mod's changes

bubbaloop-core-contributor is an agent published in the GitHub repository kornia/bubbaloop (28 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 102 tokens to every session and 2,027 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

vios-release-note

Generate a complete VIOS multi-arch release note for a given build drop version. Fetches container images from GitLab compose.env files, commit titles from GitLab between the previous release tag and HEAD, Jira VST tickets, NVBugs entries, Slack channel evidence, and Outlook email evidence, then renders a formatted…

NVIDIA-AI-Blueprints/video-search-and-summarization · 285 tokens

vios-api

VIOS REST API agent. Queries a running VIOS/VST backend over HTTP to list sensors, fetch recording timelines, download clips, capture snapshots, add/delete sensors and RTSP streams, and upload video files. Use whenever the user wants to interact with VIOS data via its REST API rather than through the UI or source code.

NVIDIA-AI-Blueprints/video-search-and-summarization · 71 tokens

gstreamer

GStreamer and media pipeline specialist for VIOS. Use for questions about pipeline construction, element selection, caps negotiation, buffer handling, GStreamer best practices, debugging pipeline issues, and NVIDIA DeepStream/NvEnc/NvDec integration.

NVIDIA-AI-Blueprints/video-search-and-summarization · 51 tokens

vios-sqa

VIOS SQA agent. Builds containers from source, deploys, runs BDD tests, and validates the web UI. Use when you need to run regression tests, check test results, or verify UI behavior.

NVIDIA-AI-Blueprints/video-search-and-summarization · 48 tokens

vios-deployment

VIOS deployment agent. Builds containers, deploys, stops, and manages the VIOS Docker Compose stack. Use for explicit build/deploy/stop/status operations. Not for running tests — use vios-sqa for that.

NVIDIA-AI-Blueprints/video-search-and-summarization · 51 tokens

vios-dev-sanity

Use this agent when you need to execute sanity test cases defined in the viosdevsanity.xlsx spreadsheet against a running VIOS/VST web UI instance. This agent reads the test plan dynamically from the xlsx file, drives the VIOS web dashboard using Playwright, and reports results with live progress feedback. Context…

NVIDIA-AI-Blueprints/video-search-and-summarization · 322 tokens