Projects
Public repositories on github.com/kapoost plus my contribution thread on the AdCP spec. Active threads first; the rest underneath.
Active
bragent
Open-source AdCP Sponsored Intelligence brand agent. Self-hosted, single Go binary. Implements MCP-native si_get_offering off a configurable product feed, plus the M6.x sponsored_context envelope + receipt audit path that lands brand-side reference for AdCP rc.14 conformance. Public /demo/ panel with BYOK and an auto-receipt wire view.
Repo: github.com/kapoost/bragent · Upstream PR: adcp#5501 (referenced from issue #5541).
purrsonality-seller-agent
Production-grade AdCP seller agent reference implementation. Bun + @adcp/sdk 9.6.2 + Postgres + Fly.io. Faza 1 of the seller discovery roadmap (adcp-capabilities.json + RFC 9728) shipped 2026-06-09. Phase-A ad server attributes live impressions to the correct media_buy_id via reverse creative-assignment lookup, so get_media_buy_delivery returns real numbers instead of zeros. Fly machines run auto_stop=suspend — snapshot wake ~200ms instead of a 3s cold boot.
AAO compliance on 3.1: Product Discovery, Creative Management, Reporting & Delivery, Error Handling PASS. Core Protocol + Media Buy Lifecycle PARTIAL (one pagination + one creative-reuse scenario blocked on SDK runtime-projector gaps tracked upstream at adcp#5723 and #5797).
Repo: github.com/kapoost/purrsonality-seller-agent · Live: purrsonality.rocketscience.pl
abzu
AdCP buyer-side orchestrator: get_products fan-out over multiple sellers, governance gate (check_governance → create_media_buy → report_plan_outcome), and sync_creatives + update_media_buy assignment so served impressions link back to the caller's buy. Ships with a static GUI (abzu-gui) covering the full linear thread — Jordan reviewer → Sam operator → Publisher operator → Sponsor read-only. Twelve real sellers wired in from the AAO registry, with a failure classifier that reports why a seller didn't respond (auth, timeout, unreachable, version, protocol) instead of dumping every failure into "incompatible".
AAO compliance: Abzu Orchestrator (buying) Core Protocol 32/32 silent on 3.1. Governance side (Abzu Governance) passes Core + Campaign Governance + Error Handling 6/7 on 3.1.
Repos: abzu-orchestrator · abzu-governance · abzu-gui · Live: abzu.rocketscience.pl
adcp-signals
Signal-owned agent monorepo for AdCP: pluggable core framework plus per-publisher catalog variants (vanilla, cats, more on the way). Reference for how a signal provider answers get_signals and activate_signal without leaking implementation noise. Vector-based signals direction parked after the 2026-06-02 narada — notes in NOTES-vector-based-signals.md.
humanmcp-go
Personal MCP server. Publish poems, images and structured data with Ed25519 signatures so any AI agent can verify provenance offline. Session gate uses a fragment of Polish poetry as the access code. Deployed at kapoost.humanmcp.net.
humanmcp-marketplace
Federated listings marketplace across personal humanMCP servers. One agentic discovery surface over many self-hosted endpoints; no central registry beyond what the participants themselves opt into.
mysloodsiewnia
Local RAG knowledge vault — index your PDFs, manuals and personal notes; query from AI agents through humanMCP. Designed to run on your laptop, not on a SaaS. The name is a portmanteau of myśl (thought) and odsiewnia (a sieve, a winnowing).
Lab pieces
seestar-kiosk
Live telescope kiosk for the ZWO Seestar S30 Pro. Displays the current stacked frame and runs a procedural jazz engine driven by stacking telemetry — the music quite literally tracks what the telescope is seeing.
logoped
Speech-therapy PWA for children and therapists. Polish-first interface, offline-capable, designed for shared use on a single tablet.
humanmcp-rpg
Small experiment: treat a humanMCP endpoint as a game master. Personas become NPCs, content becomes lore, the session code becomes the door to the dungeon.
AdCP spec contributions
Small, targeted work on the upstream adcontextprotocol/adcp repository — issues that the storyboard runner missed, schema clarifications that close ambiguities, docs that document what implementations actually do.
- Merged: #4918 —
docs(accounts): clarify single-publisher cardinality onlist_accounts. - Open:
#5541 —
feat(si): bragent ships brand-side reference impl forsponsored_context_accountability(PR #5501); #4497 —brand.json: add structural category restrictions and jurisdiction fields. - Closed issues that drove fixes upstream:
#5449 (
--compliance-versionnot cascaded to AJV validator — version skew), #5258 (InMemoryTaskRegistrynot flushed byAdcpServer.compliance.reset()), #5013 (check_publisher_authorizationfalse negative), #4914 (pagination_integrityunsatisfiable for single-publisher sellers), #4832 (v3 envelope integrity vs SDK 7.7.0 drift), #4831 (security_baselineassert_mechanism for Bearer-only sellers), #4776 (adagents.jsonauthorization_type underdocumented), #4775 (validate_agentstale-cache bug), #4196 (pending_creativesstatus-name ambiguity).
Everything else
The full list — including older sandboxes and finished experiments — is on github.com/kapoost?tab=repositories.