Synthetic Audience MCP

Synthetic Audience MCP

An MCP server for testing whether a draft asset is likely to resonate with a target audience.

Category
Visit Server

README

Synthetic Audience MCP

An MCP server for testing whether a draft asset is likely to resonate with a target audience.

Hackathon demo framing:

  • Input: a blog post, landing page copy, email, pitch, or product announcement.
  • Audience: a short description of who should care.
  • Output: predicted resonance, likely audience reactions, objections, and edit suggestions.
  • Backend today: OpenAI, Anthropic, or Fireworks.
  • Backend after RFT: swap SYNTH_AUDIENCE_MODEL to the trained Fireworks model.

Why The Hypothesis Is Reasonable

The current RFT artifact trains on verifier-style synthetic audience tasks:

Evidence What It Supports What It Does Not Yet Prove
AlignX rows predict which response a profiled user prefers Audience preference judgement General writing quality
BehaviorChain rows predict a persona's next behavior Persona-conditioned reaction prediction Full market simulation
Fireworks RFT reward is binary and measurable A before/after model comparison can be shown That every asset critique is automatically better

So the precise claim for the demo should be:

Fine-tuning on audience/persona verifier tasks can improve structured synthetic-audience judgement signals, which we expose as an MCP tool for draft feedback and iteration.

Avoid overclaiming that it is universally better than GPT/Claude at writing advice. The report should show where it is more specific, preference-aware, and measurable.

Run Locally

Install the small runtime dependency set if the workspace venv does not already have it:

cd synthetic-audience-mcp
../.venv/bin/python -m pip install -r requirements.txt
cd synthetic-audience-mcp
../.venv/bin/python server.py

For LLM-backed feedback, set one provider:

export OPENAI_API_KEY=...
export SYNTH_AUDIENCE_MODEL=gpt-4o-mini

or:

export ANTHROPIC_API_KEY=...
export SYNTH_AUDIENCE_MODEL=claude-3-5-haiku-latest

or Fireworks:

export FIREWORKS_API_KEY=...
export SYNTH_AUDIENCE_PROVIDER=fireworks
export SYNTH_AUDIENCE_MODEL=accounts/ashraymalhotra1-m6wa/models/odysim-verifier-gemma4-rft-20260621

Codex MCP Config

Use codex_mcp_config.example.json as the copy-paste starting point.

{
  "mcpServers": {
    "synthetic-audience": {
      "command": "/absolute/path/to/your/.venv/bin/python",
      "args": [
        "/absolute/path/to/synthetic-audience-mcp/server.py"
      ],
      "env": {
        "SYNTH_AUDIENCE_PROVIDER": "auto"
      }
    }
  }
}

The same command/args/env shape can be used by any MCP client that supports stdio servers.

Remote MCP On Modal

The keyed deployed remote MCP endpoint is:

https://ashraymalhotra1--synthetic-audience-mcp-keyed-mcp-app.modal.run/mcp

The safe no-key connectivity endpoint is:

https://ashraymalhotra1--synthetic-audience-mcp-mcp-app.modal.run/mcp

Codex config shape:

[mcp_servers.synthetic-audience-remote-keyed]
enabled = true
url = "https://ashraymalhotra1--synthetic-audience-mcp-keyed-mcp-app.modal.run/mcp"

This remote endpoint is already tested for MCP connectivity, tool discovery, and OpenAI-backed feedback.

Provider keys are not stored in this repository. For local runs, set them in your shell environment. For Modal runs, attach them through a Modal secret.

Backend Modes

  • backend="auto": uses SYNTH_AUDIENCE_PROVIDER if set; otherwise OpenAI, Anthropic, then Fireworks.
  • backend="tuned": uses Fireworks and defaults to accounts/ashraymalhotra1-m6wa/models/odysim-verifier-gemma4-rft-20260621.
  • backend="openai", backend="anthropic", or backend="fireworks": force one provider.

Optional model overrides:

  • SYNTH_AUDIENCE_TUNED_MODEL: model for backend="tuned".
  • SYNTH_AUDIENCE_MODEL: general override when you intentionally pin one provider/model pair.

Tools

  • synthetic_audience_feedback: predict resonance and give actionable feedback.

Demo Assets

  • demo_script.md: short hackathon talk track.
  • samples/blog_post_resonance_demo.md: paste-ready sample asset and audience.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured