Engine / Studio MCP

Contextual Campaign Matching for the Agentic Web

Semantic sponsorships, not keyword hacks. Native, relevant, and privacy-focused.

MCP-Compatible Python 3.10+ Qdrant Analytics + Pacing

How It Works

Simple, privacy-first ad matching for agents.

01

Context Injection

Your agent sends the user's current context (chat history, page content, query) to the Engine.

02

Semantic Retrieval

Engine performs embedding and Qdrant retrieval, applies targeting, policy, and pacing checks.

03

Native Rendering

You receive the match and render it natively—inline, sidebar, or banner. Your UI stays in control.

Why SponsorStream?

Monetize without ruining trust.

Relevance-First

Ads match the meaning of the conversation, not just keywords. They feel native, not jarring.

Fast Onboarding

Add sponsors without hand-built rules or constant maintenance. Let semantic matching do the work.

Auditability

Answer "why did this ad show up?" with a full audit trace for every match.

Security Boundary

Runtime stays **read-only**. No constructive operations in production. No surprises.

Who It's For

Designed for the next generation of applications.

AI Assistants

Perfect for customer support, internal ops, sales, and shopping agents that need context-aware monetization.

RAG & Search

Seamlessly integrate sponsored context alongside your organic retrieval and semantic search results.

Commerce & Media

Power affiliate recommendations and brand inserts that respect the user's current context and intent.

Architecture & Security

Dual-plane isolation for enterprise-grade safety.

Engine (Runtime)

Read-Only

Handles campaign matching and retrieval. Optimized for low latency. Called by LLMs.

uv run sponsorstream-engine
  • Semantic matching
  • Audit tracing
  • Health checks

Studio (Admin)

Write Access

Manages provisioning, ingestion, and operations. Called by Humans or CI pipelines.

uv run sponsorstream-studio
  • Collection management
  • Batch ingestion
  • Analytics reporting
1. Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
2. Start Qdrant
docker run -d --name qdrant -p 6333:6333 -p 6334:6334 qdrant/qdrant
3. Sync & Seed
uv sync && uv run sponsorstream-cli create && uv run sponsorstream-cli seed
4. Run Servers
uv run sponsorstream-engine
uv run sponsorstream-studio

Live Demo Coming Soon

Watch how the engine matches context in real-time.

Frequently Asked Questions

Keywords break when language shifts. Semantic retrieval uses vector embeddings to understand the *meaning* of the context, ensuring relevance even without exact word matches.

No. Context embedding is local (using FastEmbed) and storage is your own Qdrant instance. Your data stays with you.

Yes. Typed exclusions and policy flags are first-class citizens. You can block specific domains, keywords, or entire semantic categories.

Absolutely. The campaigns_explain tool returns a full audit trace tied to a specific match, detailing the similarity score and any filters applied.

Yes, SponsorStream is open source and available on GitHub under the MIT License.

Yes. Use the campaigns_match_dry_run tool to simulate matching with different constraints without impacting pacing or analytics.

The campaigns_metrics tool provides detailed breakdowns of success rates, score distributions, and constraint rejection reasons.

Run campaigns_diagnostics to check collection health and identify common blocking issues like strict constraints or budget exhaustion.

Yes. When calling campaigns_match, you can vary the context_text and audience_segments to see how the system adapts to different user personas.