Datapoint MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATAPOINT_API_KEY | No | API key (overrides saved config) | |
| DATAPOINT_BASE_URL | No | API base URL | https://api.trydatapoint.com/data-labelling/v1 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| setupA | Authenticate with Datapoint AI. Opens your browser to sign in with Google and set up your account. Your API key is saved locally and never shared. |
| upload_mediaA | Upload local media files (images, audio, video) and return dp:// references. Use this BEFORE After uploading, pass the returned dp:// refs verbatim in the Already-hosted public https:// URLs do NOT need uploading — you can reference them directly in the description. Args: file_paths: List of absolute local paths to media files. |
| plan_surveyA | Plan a survey from a natural language description. Describe what you want to learn and from whom. The Datapoint AI service will design an effective survey structure for you. MEDIA: If the survey compares/rates media (images, audio, video), first call
Without explicit refs in the description, the planner will produce
placeholder or invented URLs that will fail at After this returns, present the summary and cost to the user and wait
for explicit confirmation before calling Args: description: What you want to survey, in plain language. Include the target audience, what you're comparing/rating, any screening criteria — including who should answer (e.g. respondents in specific countries, excluding VPN/bot traffic, balanced regional mix) — and, for media surveys, the dp:// or https:// URLs to use. max_responses: Number of human responses per datapoint (default 10). More = higher confidence but higher cost. |
| create_surveyA | Create a survey from a plan generated by plan_survey. ⚠ Only call this after the user has explicitly confirmed the plan
summary and cost from Pass the plan dict as returned by plan_survey. You may edit it first if anything is off — this is a regular Python dict. Supports both standalone plans and chain plans (with a top-level MEDIA VALIDATION: every media entry must use either:
Media lives at Local paths, file:// URLs, and private/auth-gated URLs will be rejected or served broken to annotators. If the plan came back with wrong refs (e.g. the planner invented a URL because the description didn't supply one), fix the refs before calling this: Args:
plan: The survey plan dict (typically from plan_survey). Contains
name, summary, |
| check_surveyA | Check the status, progress, and results of a survey. Args: job_id: The job ID returned by create_survey. |
| list_surveysB | List all your surveys (active and recent). |
| pause_surveyA | Pause task serving for an active survey. In-flight responses keep arriving; new tasks stop being served. The backend rejects with 400 if the survey is completed, failed, or already paused — the message will say which. Args: job_id: The job ID returned by create_survey. |
| resume_surveyA | Resume task serving for a paused survey. Backend rejects with 400 if the survey is not paused. Args: job_id: The job ID returned by create_survey. |
| cancel_surveyA | Permanently cancel a survey and settle its reserved credits. ⚠ Cancellation is irreversible. Once cancelled, the survey stops serving new tasks, any in-flight responses still complete, and all unused reserved credits are returned to the balance. Already-consumed credit (for responses already collected) is NOT refunded — the response is shown in the result so the user knows the final cost. Before calling, show the user the survey id and confirm they want to
cancel. Prefer Backend rejects with 400 if the survey is already in a terminal state (completed, failed, or cancelled) — the message will say which. Args: job_id: The job ID returned by create_survey. |
| retry_failed_datapointsA | Re-queue failed datapoints on a survey. Each retried datapoint reserves credit again, the same way the original submission did — only call this when the failures are worth recovering. Args: job_id: The job ID returned by create_survey. datapoint_indices: Specific failed indices to retry. Omit to retry every failed datapoint in the survey. |
| get_survey_responsesA | Get the raw per-annotator responses for a survey.
The default view excludes answered rows from chains the annotator abandoned mid-flow or that are still in progress, matching what counts toward your survey's response total. Set the include flags to surface them. Args: job_id: The job ID returned by create_survey. page: Page number (default 1). per_page: Responses per page (default 100, max 200). include_abandoned: Include answered rows from abandoned chains. include_in_progress: Include answered rows from in-flight chains. |
| check_balanceA | Check your Datapoint AI account balance. |
| add_creditsA | Open a checkout link to purchase Datapoint AI credits. Returns a hosted checkout URL. The user completes payment in their browser; credits land on their account once payment confirms. Args: product_id: Optional product identifier. Omit to use the default credit bundle configured on the server. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/impel-intelligence/datapoint-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server