Skip to main content
Glama
ashray

Synthetic Audience MCP

by ashray

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.

Related MCP server: mcp-server-test

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.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ashray/hud-rsi-synthetic-audience-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server