Skip to main content
Glama
RVAILab

Profile Questions MCP Server

by RVAILab

Profile Questions MCP Server

An MCP (Model Context Protocol) server that allows AI agents to interact with the White Rabbit Profile Questions API. This enables agents to create questions, submit answers, and query existing profile data.

Installation

cd mcp-servers/profile-questions
npm install
npm run build

Related MCP server: Formswrite MCP

Configuration

Set the following environment variables:

Variable

Description

Default

PROFILE_QUESTIONS_API_URL

Base URL of the White Rabbit API

http://localhost:3000

PROFILE_QUESTIONS_API_KEY

API key for authentication

(none)

Usage with Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "profile-questions": {
      "command": "node",
      "args": ["/path/to/mcp-servers/profile-questions/dist/index.js"],
      "env": {
        "PROFILE_QUESTIONS_API_URL": "https://your-api-url.com",
        "PROFILE_QUESTIONS_API_KEY": "your-api-key"
      }
    }
  }
}

Available Tools

list_questions

List profile questions by source.

Parameters:

  • source (required): profile_optimizer | admin | onboarding | survey

  • category (optional): Filter by category

  • questionType (optional): free_form | multiple_choice | yes_no | fill_in_blank

  • activeOnly (optional): Only return active questions (default: true)

  • page (optional): Page number (0-indexed)

  • limit (optional): Items per page (default: 50)

create_question

Create a new profile question.

Parameters:

  • questionText (required): The question text (1-500 characters)

  • questionType (required): free_form | multiple_choice | yes_no | fill_in_blank

  • source (required): profile_optimizer | admin | onboarding | survey

  • description (optional): Description for the question (max 1000 characters)

  • options (required for multiple_choice): Array of at least 2 options

  • allowMultiple (optional): Allow selecting multiple options (default: false)

  • fillInBlankTemplate (required for fill_in_blank): Template containing {blank} placeholder

  • category (optional): Category for organizing questions (max 100 characters)

  • displayOrder (optional): Order for displaying questions (default: 0)

  • isActive (optional): Whether the question is active (default: true)

get_my_answers

Get the current user's answers to profile questions.

Parameters:

  • source (optional): Filter answers by source

submit_answer

Submit an answer to a profile question.

Parameters:

  • questionId (required): UUID of the question to answer

  • answerSource (required): profile_optimizer | admin | onboarding | survey

  • textValue (optional): For free_form or fill_in_blank questions

  • booleanValue (optional): For yes_no questions (true/false)

  • selectedOptions (optional): For multiple_choice questions

batch_submit_answers

Submit multiple answers at once (up to 50).

Parameters:

  • answers (required): Array of answer objects (same structure as submit_answer)

Question Types

Type

Answer Field

Description

free_form

textValue

Open-ended text responses

multiple_choice

selectedOptions

Select from predefined options

yes_no

booleanValue

Binary true/false

fill_in_blank

textValue

Complete a sentence template

Examples

Create a multiple choice question

{
  "tool": "create_question",
  "arguments": {
    "questionText": "What is your experience level with AI tools?",
    "questionType": "multiple_choice",
    "options": ["Beginner", "Intermediate", "Advanced", "Expert"],
    "source": "profile_optimizer",
    "category": "skills"
  }
}

Submit an answer

{
  "tool": "submit_answer",
  "arguments": {
    "questionId": "123e4567-e89b-12d3-a456-426614174000",
    "selectedOptions": ["Advanced"],
    "answerSource": "profile_optimizer"
  }
}

Batch submit answers

{
  "tool": "batch_submit_answers",
  "arguments": {
    "answers": [
      {
        "questionId": "uuid-1",
        "selectedOptions": ["Advanced"],
        "answerSource": "profile_optimizer"
      },
      {
        "questionId": "uuid-2",
        "textValue": "I have 5 years of experience",
        "answerSource": "profile_optimizer"
      }
    ]
  }
}

Development

# Watch mode for development
npm run dev

# Build for production
npm run build

# Run the server
npm start

Authentication

The server uses bearer token authentication. Set your API key via the PROFILE_QUESTIONS_API_KEY environment variable. The key is passed in the Authorization header as Bearer <key>.

F
license - not found
-
quality - not tested
D
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/RVAILab/profile-questions-mcp'

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