New

Now in Claude, ChatGPT, Cursor & more with our MCP server

Back to docs
Claude & MCP Integration

MCP Tool Reference

Complete reference for all 17 Koji MCP tools. Includes parameters, return data, plan requirements, and example prompts for each tool across read, create, analyze, customize, and distribute categories.

Tool Categories

Koji MCP provides 15 tools organized into 5 categories. Each tool is designed to be invoked conversationally — you describe what you want, and Claude selects the right tool automatically.


Read and Explore Tools

koji_list_studies

Purpose: List all your research studies with summary metrics.

Parameters:

ParameterTypeRequiredDescription
statusstringNoFilter by status: 'draft', 'active', 'completed', 'archived'
limitnumberNoResults per page (1-100, default 50)
offsetnumberNoPagination offset

Returns: Array of studies with id, name, status, interview_count, completion percentage, created/updated dates, and interview link.

Example prompts:

  • "List my active studies"
  • "Show me all my draft studies"
  • "How many studies do I have?"

koji_get_study

Purpose: Get full details for a specific study including the research brief, structured questions with types and probing settings, methodology, progress, and recent interviews.

Parameters:

ParameterTypeRequiredDescription
study_idUUIDYesThe study identifier

Returns: Complete study details including name, status, research brief (problem context, target participant, methodology framework, interview plan with keyQuestions array), brief completion percentage, readiness to publish flag, interview summaries, and interview link.

Key fields in keyQuestions:

  • id — Unique question identifier
  • text — The question as asked by the AI interviewer
  • type — open_ended, scale, single_choice, multiple_choice, ranking, or yes_no
  • config — Type-specific settings (scaleMin, scaleMax, scaleLabels for scales; options for choices/rankings)
  • probing — Follow-up configuration (maxFollowUps 0-3, instructions, anchor for scales)
  • section — Logical grouping label
  • required — Whether the AI must cover this question

Example prompts:

  • "Show me the details of my churn research study"
  • "What structured questions are in my NPS study?"
  • "Is my study ready to publish?"

koji_get_interviews

Purpose: List interviews for a study with AI-generated summaries, themes, and sentiment analysis.

Parameters:

ParameterTypeRequiredDescription
study_idUUIDYesThe study identifier
statusstringNoFilter: 'active', 'completed', 'abandoned'
sentimentstringNoFilter: 'positive', 'neutral', 'negative', 'mixed'
limitnumberNoResults per page (1-100, default 50)
offsetnumberNoPagination offset

Returns: Array of interviews with id, status, interview mode (voice/text), respondent info (name, source), and cached analysis (summary, themes, sentiment, word count, message count).

Example prompts:

  • "Show me completed interviews from my pricing study"
  • "Which interviews had negative sentiment?"
  • "How many voice vs text interviews do I have?"

koji_get_transcript

Purpose: Read the full interview transcript message-by-message with respondent context and per-question structured answers.

Parameters:

ParameterTypeRequiredDescription
interview_idUUIDYesThe interview/conversation identifier

Returns: Full transcript with conversation_id, study context, status, interview mode, respondent details (name, intake form data), complete message array (role + content), analysis results, and structured answers.

Key fields in analysis.structured_answers (per question):

  • value — The typed answer (number for scale, string for choice, array for ranking/multiple choice)
  • qualitative_context — Follow-up context the respondent provided
  • confidence — How confident the extraction is (high, medium, low)
  • follow_up_insights — Insights from probing follow-ups

Note: Transcripts over 60,000 characters are automatically truncated with a warning.

Example prompts:

  • "Show me the transcript for interview [id]"
  • "What NPS score did this respondent give and why?"
  • "Read the latest interview from my study"

koji_get_account

Purpose: View your account details, plan tier, credit balance, feature access, and billing status.

Parameters: None

Returns: Account info including plan name, credit balance, feature flags (voice_interviews, report_generation, etc.), usage (study count, interviews this billing period), billing status, and BYOK configuration.

Example prompts:

  • "What plan am I on?"
  • "How many credits do I have left?"
  • "Do I have access to voice interviews?"

Create and Modify Tools

koji_create_study

Purpose: Create a new research study with structured questions and an AI-generated brief using proven research methodologies.

Parameters:

ParameterTypeRequiredDescription
topicstringYesWhat you want to research
goalstringNoBusiness decision this research will inform
target_audiencestringNoWho you want to interview
methodologyenumNo'mom_test', 'jtbd', 'discovery', 'exploratory', 'lead_magnet'
hypothesisstringNoYour current assumption to test
contextstringNoAdditional background information
estimated_durationstringNoTarget interview length
languagestringNoInterview language as ISO 639-1 code (default: "en")
opening_approachstringNoHow the AI interviewer should start
closing_approachstringNoHow the AI interviewer should end
interview_modeenumNo'structured', 'exploratory', 'hybrid'
questionsarrayNoStructured interview questions (see below)

Question structure (questions array):

FieldTypeRequiredDescription
textstringYesThe question as the AI interviewer should ask it
typeenumYes'open_ended', 'scale', 'single_choice', 'multiple_choice', 'ranking', 'yes_no'
sectionstringNoLogical grouping (e.g., "NPS", "Feature Feedback")
requiredbooleanNoMust the AI cover this question? (default: true)
config.scale_minnumberNoMin value for scale questions (default: 1)
config.scale_maxnumberNoMax value for scale questions (default: 5)
config.scale_labelsobjectNoEndpoint labels, e.g., {"1": "Very unlikely", "10": "Very likely"}
config.optionsstring[]NoOptions for choice/ranking questions (2-20 items)
config.allow_otherbooleanNoAllow free-text "Other" option for choice questions
probing.max_follow_upsnumberNoFollow-up probe depth: 0-3 (default: 1)
probing.instructionsstringNoSpecific probing guidance for the AI
probing.anchorbooleanNoFor scales: ask "You said X — what would change that?"

Methodology frameworks:

  • Mom Test — Validate ideas without leading questions. Focuses on past behavior, not hypotheticals.
  • Jobs-to-be-Done — Understand the job customers are hiring your product to do.
  • Customer Discovery — Explore problem space before building solutions. Ideal for startups.
  • Exploratory — Open-ended research to discover unknowns.
  • Lead Magnet — Engage prospects with valuable research conversations.

Example prompts:

  • "Create a Mom Test study about why enterprise users leave during onboarding"
  • "Create a study with an NPS question (0-10 scale with anchor probing), a satisfaction rating (1-5), and 3 open-ended questions about user experience"
  • "Create a JTBD study with a ranking question asking users to prioritize these 5 features"

koji_update_brief

Purpose: Update any section of a study's research brief, including replacing all structured questions.

Parameters:

ParameterTypeRequiredDescription
study_idUUIDYesThe study identifier
problem_statementstringNoThe research problem
decision_to_informstringNoWhat decision this research will inform
hypothesisstringNoHypothesis to validate
success_criteriastringNoWhat success looks like
problem_coststringNoCost/impact of the problem
required_experiencestringNoParticipant required experience
behavior_of_intereststringNoBehavior to study
relationship_to_problemstringNoHow participants relate to the problem
screening_questionstringNoScreening question for fit
methodologyenumNoChange methodology framework
questionsarrayNoReplace all questions (same structure as koji_create_study)
topics_to_explorestring[]NoTopics for exploratory/hybrid mode
behaviors_to_probestring[]NoSpecific behaviors to probe
guardrailsstring[]NoWhat the interviewer should NOT do
opening_approachstringNoHow the interview should start
closing_approachstringNoHow the interview should end
interview_modeenumNo'structured', 'exploratory', 'hybrid'
estimated_durationstringNoExpected interview length
languagestringNoInterview language (ISO 639-1)

Important: The questions parameter replaces all existing questions. Include all questions you want to keep when updating.

Example prompts:

  • "Add an NPS question to my study on a 0-10 scale"
  • "Change the methodology to Jobs-to-be-Done"
  • "Replace the interview questions with these 5 new ones"
  • "Update the probing depth to 3 follow-ups for all questions"

koji_publish_study

Purpose: Publish a draft study to make it live. Sets up the AI interviewer, generates the interview link, and optionally configures voice interviews.

Parameters:

ParameterTypeRequiredDescription
study_idUUIDYesThe study identifier

What happens on publish:

  1. Validates the research brief is complete enough (checks key fields)
  2. Generates the AI interviewer system prompt from your methodology and questions
  3. Sets up voice interview capability (if available on your plan)
  4. Creates the interview conversation endpoint
  5. Generates the shareable interview link
  6. Updates study status to 'active'

Returns: Study id, 'active' status, interview link, voice enabled flag, and brief progress percentage.

Example prompts:

  • "Publish my churn research study"
  • "Make my latest study live"

Analyze and Report Tools

koji_get_study_data

Purpose: Get structured, aggregated interview data for analysis, including per-question statistics for structured questions.

Parameters:

ParameterTypeRequiredDescription
study_idUUIDYesThe study identifier
sentimentstringNoFilter by sentiment
limitnumberNoMax interviews (1-100, default 50)
offsetnumberNoPagination offset

Returns: Study context (name, methodology, research goal), array of interview summaries with themes and sentiment, aggregate statistics (total completed, sentiment distribution, top themes with counts), and per-question aggregations.

Per-question aggregation fields:

  • Scale questions: average, median, value distribution (e.g., "average NPS: 7.2, median: 8")
  • Single/multiple choice: option frequency counts (e.g., "Search: 12, Referral: 8, Ads: 3")
  • Ranking questions: average position per option
  • Yes/no questions: yes/no counts
  • Open-ended questions: sample qualitative answers
  • Per-question confidence distribution and response counts

Example prompts:

  • "What is the average NPS score from my study?"
  • "Show me the feature ranking results"
  • "What are the top themes across my interviews?"
  • "How did respondents answer the satisfaction question?"

koji_generate_report

Purpose: Generate a comprehensive AI research report from your interview data. Takes 30-60 seconds.

Parameters:

ParameterTypeRequiredDescription
study_idUUIDYesThe study identifier (must have completed interviews)

What the report includes:

  • Executive summary with study context
  • Key takeaways prioritized by importance
  • Theme analysis with supporting evidence
  • Charts (pie charts, bar charts, distribution data)
  • Question coverage analysis
  • Written findings narrative
  • Actionable recommendations
  • Statistical overview cards
  • All findings linked back to source interviews via citations

Returns: Report summary (version, executive overview, key takeaway titles, sentiment breakdown, generation time). Use koji_get_report for full content.

Example prompts:

  • "Generate a report from my customer discovery study"
  • "Create a research report from my latest interviews"

koji_get_report

Purpose: Retrieve a generated report with optional section filtering.

Parameters:

ParameterTypeRequiredDescription
study_idUUIDYesThe study identifier
versionnumberNoSpecific report version (default: latest)
sectionsstring[]NoFilter: 'executive_summary', 'key_takeaways', 'theme_analysis', 'charts', 'question_coverage', 'written_findings', 'recommendations', 'stat_cards'

Returns: Full report data for requested sections, version info, interview counts, and publication status.

Example prompts:

  • "Show me the executive summary from my report"
  • "Get the recommendations section of my latest report"
  • "Show me the charts from my pricing study report"

koji_publish_report

Purpose: Publish a report with a shareable public link, or unpublish a previously published report.

Parameters:

ParameterTypeRequiredDescription
study_idUUIDYesThe study identifier
publishbooleanNotrue to publish (default), false to unpublish

Returns: Publication status, public URL, and public slug.

Example prompts:

  • "Publish the report for my churn study"
  • "Share a link to my latest research report"
  • "Unpublish my pricing report"

Customize Tool

koji_configure_study

Purpose: Configure a study's interview page branding, lead form, interaction mode, URL slug, and Open Graph settings. This single tool replaces the former koji_customize_intake, koji_configure_lead_form, koji_update_settings, and koji_set_interview_slug tools.

Parameters:

Branding (interview landing page):

ParameterTypeRequiredDescription
study_idUUIDYesThe study identifier
headlinestringNoMain title (max 100 chars)
subheadlinestringNoSecondary text (max 200 chars)
descriptionstringNoDescription paragraph (max 500 chars)
cta_button_textstringNoButton text (max 30 chars)
accent_colorhex stringNoBrand color (e.g., "#4F46E5")
show_orbbooleanNoShow animated background orb

Badges:

ParameterTypeRequiredDescription
show_durationbooleanNoShow duration badge
duration_textstringNoCustom duration text
show_anonymousbooleanNoShow anonymity badge
anonymous_textstringNoCustom anonymity text
custom_badgesarrayNoUp to 4 custom badges with icon + text

Lead form:

ParameterTypeRequiredDescription
lead_form_enabledbooleanNoEnable/disable the form
lead_form_titlestringNoForm title (max 100 chars)
lead_form_descriptionstringNoForm description (max 300 chars)
lead_form_fieldsarrayNoForm fields (max 6): id, type, label, placeholder, required, options
lead_form_submit_textstringNoSubmit button text

Field types: text, email, phone, select, textarea, checkbox

Interaction mode:

ParameterTypeRequiredDescription
enable_voicebooleanNoEnable voice interviews
enable_textbooleanNoEnable text interviews
default_modeenumNo'voice' or 'text'

URL and Open Graph:

ParameterTypeRequiredDescription
slugstringNoCustom URL slug (3-60 chars, lowercase, hyphens)
og_titlestringNoCustom link preview title
og_descriptionstringNoCustom link preview description

Footer:

ParameterTypeRequiredDescription
footer_textstringNoFooter text
consent_textstringNoConsent/privacy text
show_powered_bybooleanNoShow "Powered by Koji"

Only include the fields you want to change — omitted fields keep their current values. You can update any combination of sections in a single call.

Example prompts:

  • "Set the headline to 'Share Your Experience' with accent color #FF6B35 and add a lead form asking for name and email"
  • "Set the interview URL to 'acme-product-feedback' and enable voice as the default mode"
  • "Add a custom badge with a shield icon saying 'GDPR Compliant' and set the OG title for link previews"

Distribute Tools

koji_export_data

Purpose: Export study data as structured JSON for external analysis or backup.

Parameters:

ParameterTypeRequiredDescription
study_idUUIDYesThe study identifier
include_briefbooleanNoInclude research brief (default: true)
include_transcriptsbooleanNoInclude interview transcripts
include_respondentsbooleanNoInclude respondent data
include_report_summarybooleanNoInclude report executive summary
transcript_limitnumberNoTranscripts per page (1-10, default 5)
transcript_offsetnumberNoTranscript pagination offset

Returns: Structured JSON with selected data sections. Transcripts are paginated to manage size.

Example prompts:

  • "Export the brief and respondent data from my study"
  • "Export the first 10 transcripts from my pricing study"
  • "Get a full data export including the report summary"

koji_import_respondents

Purpose: Import contacts and generate personalized interview URLs for outreach campaigns.

Parameters:

ParameterTypeRequiredDescription
study_idUUIDYesMust be a published (active) study
respondentsarrayYes1-500 respondents with display_name, email, external_id, metadata

Returns: Array of created respondents with unique interview URLs containing tracking parameters.

Example prompts:

  • "Import these 50 customers to my onboarding study"
  • "Create interview links for Sarah Chen, James Park, and Maria Rodriguez"
  • "Import respondents from my CRM list with their company names as metadata"

Tips for Effective Prompting

You do not need to name tools directly. Just describe what you want naturally:

Instead of thisSay this
"Use koji_create_study with topic...""Create a study about why users prefer competitor X"
"Call koji_get_interviews with status completed""Show me all completed interviews"
"Run koji_generate_report""Generate a research report from my interviews"
"Use koji_configure_study to set headline""Set the interview page headline to 'Customer Feedback Survey'"

Claude automatically selects the right tool based on your intent.


Related Documentation

Further reading on the blog

<!-- further-reading:blog -->