# Terac MCP (https://terac.com/docs/researchers/mcp)

Connect any AI assistant or agent to Terac. Price studies, launch recruitment, and review submissions in plain language through the Model Context Protocol.

The Terac MCP server exposes Terac's API as a set of tools that any [Model Context Protocol](https://modelcontextprotocol.io) client can call. Connect Claude, Claude Code, Cursor, VS Code, or ChatGPT and your AI assistant can source verified experts, launch recruitment, and review work on your behalf, all in plain language.

> **Using Claude or ChatGPT?** Terac is published in both directories, so it
> installs in one click with nothing to paste: [Terac in
> Claude](https://claude.ai/directory/terac) or [Terac in
> ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_699562017464819186082ec0bff33f17).
> For every other client, see [Install](https://terac.com/docs/researchers/mcp/install).

## What You Can Do [#what-you-can-do]

- **Price any study**: Describe who you need and submit a feasibility request. Our team prices it and returns a cost per participant before you commit any budget.
- **Launch recruitment**: Turn a priced request into a live opportunity. Terac sources and screens matching experts automatically.
- **Target with filters**: Narrow by verified demographic, geographic, and professional attributes instead of free-text descriptions.
- **Review and pay**: List submissions, inspect the work, and approve or reject. Approved experts are paid automatically.

## Endpoint [#endpoint]

Connect your client to:

`https://terac.com/api/mcp`

The server speaks streamable HTTP and authenticates with either an organization API key or browser-based OAuth. See [Install](https://terac.com/docs/researchers/mcp/install) for client-by-client setup.

## A Typical Flow [#a-typical-flow]

Once connected, ask your assistant to run the workflow end to end:

Get context → Request feasibility → Poll for price → Create draft → Launch → Approve & pay

Always start a session by calling `terac_get_context`. It returns your organization identity, credit balance, projects, and policies, and grounds every tool call that follows.

## Tool Catalog [#tool-catalog]

The tools are grouped by what they touch. Each one carries full inline guidance that your assistant reads automatically, so you rarely need to name a tool yourself.

| Group             | Tools                                                                                                                                |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Organization      | `terac_get_context`                                                                                                                  |
| Projects          | `terac_list_projects`, `terac_create_project`, `terac_get_project`, `terac_update_project`                                           |
| Targeting filters | `terac_list_filters`, `terac_get_filter_options`                                                                                     |
| Feasibility       | `terac_request_feasibility`, `terac_get_feasibility_request`, `terac_list_feasibility_requests`                                      |
| Drafts & launch   | `terac_create_opportunity`, `terac_update_opportunity`, `terac_launch_draft_opportunity`, `terac_delete_opportunity`                 |
| Lifecycle         | `terac_list_opportunities`, `terac_get_opportunity`, `terac_pause_opportunity`, `terac_resume_opportunity`, `terac_stop_opportunity` |
| Submissions       | `terac_get_submissions`, `terac_get_submission`, `terac_approve_submission`, `terac_reject_submission`                               |

### How Pricing Works [#how-pricing-works]

Pricing is not autonomous. `terac_request_feasibility` submits your audience and task to the Terac team; it does **not** return a price immediately. Your assistant then polls `terac_get_feasibility_request` until `status` is `RESPONDED` and `costPerParticipant` is set. A person prices it, typically within about an hour, longer for niche or multi-market audiences. Polling more often does not make it arrive sooner.

Once you have a price, build the study with `terac_create_opportunity` and take it live with `terac_launch_draft_opportunity`.

## Safe by Design [#safe-by-design]

Every tool is annotated so your client knows whether it reads or writes, and whether a write can be undone. Destructive actions (`terac_stop_opportunity`, `terac_reject_submission`, `terac_delete_opportunity`) are flagged so your client can ask you to confirm before running them.

> **Warning**
>
> There are no webhooks yet. To track progress, your assistant polls
> `terac_get_opportunity` and `terac_get_submissions` rather than waiting for a
> callback.

## What's Next? [#whats-next]

- [Install](https://terac.com/docs/researchers/mcp/install): Connect Claude, Claude Code, Cursor, VS Code, or ChatGPT
- [API Keys](https://terac.com/docs/researchers/integrations/api-keys): Generate and manage keys for programmatic access
- [Create a Project](https://terac.com/docs/researchers/getting-started/create-project): Organize the opportunities your agent will launch