AI-moderated qualitative customer interviews, study authoring, participant links, and CSV exports.
An agent skill, a small Python client, and runnable workflows for Juno: AI-moderated customer interviews with real people.
Use Juno when product analytics, support tickets or existing research leave a question that needs customers' own explanations. Brief a study, review the interview, collect responses, and retrieve the evidence through the supported API.
Self-service API keys and OAuth 2.1. Production supports self-service Juno API keys (jsk_live_… / jsk_test_…) and OAuth 2.1 with dynamic client registration and PKCE S256. Native MCP clients (Claude Code, OpenAI Codex, ChatGPT) can connect directly over OAuth or with a bearer key; this Python toolkit uses JUNO_API_KEY and does not implement signup or credential issuance. Juno's remote MCP server is listed in the Official Model Context Protocol Registry as io.github.hey-juno/juno (server.json). See validation and limitations for what has been tested.
| Interface | Use it for | Start here |
|---|---|---|
| Agent skill | Teach a skill-capable assistant how to use Juno for an authorised research task | Juno research skill |
| Python client | Call Juno from your application or agent | Client and the quickstart below |
| MCP | Connect a compatible client to Juno's hosted tools | MCP connection guide |
| Research workflow | Follow a study from a brief to participant evidence | Workflow and runnable example |
Python 3.11 or later; no third-party runtime dependencies. Clone this repository and run from its root:
git clone https://github.com/hey-juno/juno-agent-toolkit.git
cd juno-agent-toolkit
python -m examples.research_workflow --help
Set JUNO_API_KEY in your environment using your normal secret-management method. Do not put it in a source file, prompt, committed client configuration or issue report.
import os
from juno_client import JunoClient
client = JunoClient(api_key=os.environ["JUNO_API_KEY"])
identity = client.me()
print(identity["org_id"], identity["scopes"])
When the user has authorised creating a study:
python -m examples.research_workflow draft \
--guidance "Understand why customers abandon onboarding and what they expected instead."
A new study starts in Test mode. Review its brief before choosing to go live. The example separates drafting, going live, inspecting interviews and exporting results; it does not recruit or contact participants automatically.
The client covers the core study/evidence workflow, not every public API operation. The live REST reference and OpenAPI document define the full interface. This preview is distributed from GitHub; it has not been published to PyPI.
Study and interview endpoints provide status and metadata. Interview metadata does not contain transcripts. For completed Live-mode interviews, use the export workflow to retrieve CSV transcripts and answers under the organisation's permissions and redaction settings. Test-mode simulations are rehearsal material and are not customer evidence.
Use the research brief, participant quotes and transcript context to explain findings. Keep uncertainty and conflicting accounts visible. Juno does not turn a small qualitative sample into population-wide prevalence or a measured causal effect.
Juno publishes a remote MCP endpoint at https://api.heyjuno.co/v1/mcp/. Public connection information makes it discoverable; credentials and workspace permissions control use. See the connection guide for client configuration and verification status.
This repository contains client-side integration material. The hosted MCP server and Juno's research engine remain part of the Juno service. There is no second MCP server, local proxy or self-hosted Juno backend here.
These are published customer stories, not fixtures or benchmark results for this client.
python -m unittest discover -s tests -v
Tests use a local HTTP server and synthetic data. They need no Juno or model API key and do not create live research. Contract provenance explains the public schema snapshot. Please report reproducible client issues in GitHub, with credentials and research data removed; use Juno Support for account or private-data issues.
The toolkit is MIT licensed. Access to the hosted service follows Juno's current terms and entitlements.
This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.