Prolific Mcp Server

Created By
prolific-mcp9 days ago
A Model Context Protocol server bridging LLM agents to the Prolific public API. Built with FastMCP. Listed on the official MCP Registry — discoverable from Claude Desktop, Cursor, Claude Code, and other MCP-aware clients. Exposes a small set of tools so an LLM can help a researcher design and launch a study on Prolific.
Overview

prolific-mcp

CI Known Vulnerabilities

A Model Context Protocol server bridging LLM agents to the Prolific public API. Built with FastMCP.

Listed on the official MCP Registry — discoverable from Claude Desktop, Cursor, Claude Code, and other MCP-aware clients.

WARNING

publish_study spends real money. Once a study is published on Prolific, participants can start it immediately and you are charged for their work. Treat any LLM-driven invocation as a real spend: review the study draft and reward before approving the tool call. There is no sandbox mode — the same endpoint is used in production.

What it does

Exposes a small set of tools so an LLM can help a researcher design and launch a study on Prolific:

ToolProlific endpoint
get_filtersGET /api/v1/filters/
get_filter_setsGET /api/v1/filter-sets/
create_filter_setPOST /api/v1/filter-sets/
get_eligibility_countPOST /api/v1/eligibility-count/
list_workspacesGET /api/v1/workspaces/
list_projectsGET /api/v1/workspaces/{workspace_id}/projects/
list_studiesGET /api/v1/studies/
view_studyGET /api/v1/studies/{id}/
create_studyPOST /api/v1/studies/
publish_studyPOST /api/v1/studies/{id}/transition/

Requirements

Quickstart

Install and run from PyPI with uv:

export PROLIFIC_TOKEN=your_token_here
uvx prolific-mcp

Or from a checkout:

uv sync
export PROLIFIC_TOKEN=your_token_here
uv run prolific-mcp

The server defaults to stdio and is intended to be launched by an MCP client (Claude Desktop, Cursor, etc.).

Local development (HTTP mode)

Stdio gives the client ownership of the process, which hides server logs. For local iteration, run over streamable HTTP instead so logs stream to your terminal:

PROLIFIC_TOKEN=your_token_here uv run prolific-mcp --http
# server listens on http://127.0.0.1:8765/mcp

# register it with Claude Code in another terminal:
claude mcp add prolific --transport http http://127.0.0.1:8765/mcp

Override host/port with --host / --port if 8765 is in use.

Environment variables

VariableRequiredDefaultDescription
PROLIFIC_TOKENyesProlific API token, sent as Authorization: Token …
PROLIFIC_URLnohttps://api.prolific.comBase URL of the Prolific API

Use with MCP clients

Claude Desktop

Each GitHub Release attaches a .mcpb bundle per platform (darwin-arm64, darwin-x86_64, linux-x86_64, windows-x86_64). Download the file for your platform and open it — Claude Desktop will show an install dialog and prompt for your PROLIFIC_TOKEN.

To configure manually instead, add the server to your Claude Desktop config:

{
  "mcpServers": {
    "prolific": {
      "command": "uvx",
      "args": ["prolific-mcp"],
      "env": { "PROLIFIC_TOKEN": "your_token_here" }
    }
  }
}

Claude Code

claude mcp add prolific \
  -e PROLIFIC_TOKEN=your_token_here \
  -- uvx prolific-mcp

To pin a specific version, replace uvx prolific-mcp with uvx prolific-mcp==<version>.

Codex CLI

Add to ~/.codex/config.toml:

[mcp_servers.prolific]
command = "uvx"
args = ["prolific-mcp"]
env = { PROLIFIC_TOKEN = "your_token_here" }

Restart Codex (or start a new session) to pick it up.

Cursor and other MCP-aware clients

Most clients accept the same command / args / env shape shown in the Claude Desktop JSON above.

Development

uv sync
uv run pytest          # tests
uv run mypy            # type-check
uv run ruff check .    # lint
uv run ruff format .   # format

Docker

docker build -t mcp/prolific .
docker run -i --rm -e PROLIFIC_TOKEN=$PROLIFIC_TOKEN mcp/prolific

Server Config

{
  "mcpServers": {
    "prolific": {
      "command": "uvx",
      "args": [
        "prolific-mcp"
      ],
      "env": {
        "PROLIFIC_TOKEN": "your_token_here"
      }
    }
  }
}
Project Info
Created At
9 days ago
Updated At
12 hours ago
Author Name
prolific-mcp
Star
-
Language
-
License
-
Category

Recommend Servers

View All
//beforeyouship — LLM Cost Modeling From Your Editor
@Indiegoing

Query realistic LLM cost models without leaving your editor. beforeyouship models the **true monthly cost** of an LLM app architecture — retries, prompt caching, batch discounts, infra overhead, and 3×/10× growth — across GPT-5.x, Claude, Gemini, DeepSeek, and more. Not a token calculator: a planning tool for the design phase, before you commit to a stack. **No API key needed to try it** — demo mode covers the six free-tier models. A Pro key from [beforeyouship.dev](https://beforeyouship.dev) unlocks the full 18-model catalog. ## What you can ask - "How much will a RAG chatbot cost at 10,000 requests/day?" - "Compare Claude Haiku vs Gemini Flash pricing for my workload" - "What's the cheapest model for a multi-step agent at scale?" - "Show me current per-token prices for Anthropic models" ## Tools ### `estimate_cost` Full cost model for an architecture at a given usage level. Returns Naive / Realistic / Worst Case monthly cost per model, 3×/10× growth scenarios, and an opinionated recommendation with reasoning. ### `get_model_prices` Current per-1M-token pricing — input, output, cached input, batch — with context windows and staleness metadata. ### `list_archetypes` Seven preset architecture patterns (simple chatbot, chatbot with history, RAG pipeline, multi-model router, coding assistant, document processor, multi-step agent) used as starting points for estimates. ## Setup **Claude Code:** ​```bash claude mcp add --transport http beforeyouship https://beforeyouship.dev/api/mcp ​``` **Cursor / other clients** — add a remote server: ​```json { "mcpServers": { "beforeyouship": { "type": "streamable-http", "url": "https://beforeyouship.dev/api/mcp" } } } ​``` Add an `Authorization: Bearer bys_...` header with a Pro key for the full catalog. ## Try it > Estimate the monthly cost of a RAG pipeline at 10,000 requests/day

16 hours ago
Mnemom

18 hours ago
Linkpulse

19 hours ago