MCP reference
Data Gatherers MCP tools
This public reference is generated from the backend MCP LLM catalog. It documents the safe client-facing tools, scopes, workflows, and caveats that LLM clients should follow when working with Data Gatherers.
Authentication
- Authorization server:
https://oidc.datagatherers.com - MCP resource:
https://mcp.datagatherers.com/mcp - Protected resource metadata:
https://mcp.datagatherers.com/.well-known/oauth-protected-resource
Scopes
mcp:access
Base scope required for MCP access.
mcp:datagatherers:read
Read safe project metadata and coverage context.
mcp:datagatherers:analysis:read
Read aggregate analysis catalogs, coverage explanations, analysis queries, and market comparisons.
mcp:profile:read
Read the authenticated user's narrow account profile.
Workflows
Explore accessible projects
Discover which Data Gatherers projects the authenticated user can access before asking project-specific questions.
- Call datagatherers_list_projects with a small limit.
- Select one project ID from the returned project list.
- Call datagatherers_get_project_context for safe coverage and next-tool hints.
Run an aggregate project analysis
Choose a supported aggregate analysis and run it with bounded, authorized filters.
- Call datagatherers_list_projects if no project ID is known.
- Call datagatherers_get_project_context to understand country/provider coverage.
- Call datagatherers_describe_project_analysis to inspect supported analyses, filter rules, and scoped values.
- Call datagatherers_query_project_analysis with the narrowest useful filter and a small result limit.
- Explain caveats, truncation, and freshness evidence in the final answer.
Compare countries, providers, or projects
Compare authorized markets using the same aggregate analysis across multiple targets.
- Call datagatherers_describe_project_analysis for each unfamiliar project.
- Choose a comparable analysis and compatible filters.
- Call datagatherers_compare_markets with two to six targets.
- Use returned coverage and freshness caveats before drawing conclusions.
Investigate missing or stale coverage
Explain why an analysis may be empty, partial, or not comparable.
- Call datagatherers_explain_analysis_coverage with the project and relevant filters.
- Review country/provider counts, freshness evidence, and caveats.
- Only then decide whether an aggregate query or comparison is meaningful.
Tool reference
datagatherers_list_projects
List Data Gatherers projects visible to the authenticated user.
Required scopes
mcp:datagatherers:read
Use when
- The user asks what projects, markets, or datasets are available.
- A later tool requires a projectId and none is known.
Input
- limit: optional integer from 1 to 50; defaults to 25.
- offset: optional non-negative integer for pagination.
- search: optional case-insensitive project-name search string.
Output
- Projects include id, name, and type only.
- totalCount reports the full authorized match count.
Caveats
- The result is filtered by the authenticated user's existing project permissions.
- Hidden projects are excluded.
datagatherers_get_project_context
Describe safe metadata and aggregate coverage for one authorized Data Gatherers project.
Required scopes
mcp:datagatherers:read
Use when
- The user asks what a project contains or whether a market/provider is covered.
- You need scoped country/provider values before querying analysis.
Input
- projectId: required 24-character Data Gatherers project ID.
- includeCities: optional boolean to include a top-city aggregate sample.
- cityLimit: optional integer from 1 to 25.
- providerLimit: optional integer from 1 to 100.
- iso/provider: optional scoped filters for coverage context.
Output
- Project summary, authorized country/provider coverage counts, optional top cities, and supported next tools.
- capabilities.rawDataAccess is always false.
Caveats
- Coverage metadata is not a guarantee that every analysis has fresh data for every segment.
- Use coverage explanation for freshness-sensitive conclusions.
datagatherers_describe_project_analysis
Describe registered aggregate analyses, registered filter option providers, and safe filter rules for one authorized project.
Required scopes
mcp:datagatherers:analysis:read
Use when
- Before calling datagatherers_query_project_analysis for an unfamiliar project or analysis.
- The user asks which analyses or filters are supported.
Input
- projectId: required 24-character Data Gatherers project ID.
- includeScopedValues: optional boolean; defaults to true.
- providerLimit: optional integer from 1 to 100 for scoped provider examples.
Output
- Supported analysis names, filter contract, allowed operators, budgets, scoped values, examples, and rawDataAccess=false.
Caveats
- This is metadata-only and does not execute filter option queries or analysis calculations.
- Use returned scoped values to avoid unauthorized filters.
datagatherers_query_project_analysis
Run any registered aggregate Data Gatherers project analysis with safe bounded filters. Returns aggregate results only, never raw scraped records.
Required scopes
mcp:datagatherers:analysis:read
Use when
- The user asks for numeric aggregate analysis after a project and supported analysis have been identified.
- You need bounded aggregate series for one authorized project.
Input
- projectId: required 24-character Data Gatherers project ID.
- analysis: required supported aggregate analysis name from datagatherers_describe_project_analysis.
- filter: optional bounded JSON object using platform filter fields and safe operators.
- limit: optional integer from 1 to 25 for returned aggregate series.
Output
- ok flag, project summary, applied filters, result summary, optional aggregate result, supported analyses, and rawDataAccess=false.
Caveats
- Never use this to request raw listings or source records.
- Use the narrowest authorized filter that answers the question.
- If result.ok is false, report the error code and suggestion rather than inventing data.
datagatherers_explain_analysis_coverage
Explain safe coverage, freshness evidence, caveats, and recommended next steps for an authorized project/filter set. Returns metadata only, never raw scraped records.
Required scopes
mcp:datagatherers:analysis:read
Use when
- An aggregate query is empty, stale, unexpectedly partial, or hard to compare.
- The user asks whether data coverage is sufficient for a conclusion.
Input
- projectId: required 24-character Data Gatherers project ID.
- analysis: optional aggregate analysis name.
- filter: optional bounded project-scoped filter.
- includeCities/cityLimit/providerLimit: optional coverage sample controls.
Output
- Coverage counts, freshness evidence, caveats, next steps, resource links, and rawDataAccess=false.
Caveats
- Base snapshot freshness may not prove freshness for every integration-specific or Ampere-backed analysis.
- Use caveats in the final answer when making market claims.
datagatherers_compare_markets
Compare authorized Data Gatherers markets across countries, providers, or projects using bounded aggregate analysis queries. Returns aggregate results only, never raw scraped records.
Required scopes
mcp:datagatherers:analysis:read
Use when
- The user asks to compare countries, providers, or projects using one aggregate metric set.
- You have already confirmed that the targets are comparable and authorized.
Input
- analysis: required supported aggregate analysis name.
- targets: required array of 2 to 6 authorized project/filter targets.
- sharedFilter: optional filter merged into every target.
- limit: optional integer from 1 to 25 per target.
- providerLimit: optional integer from 1 to 100 for coverage inspection.
Output
- Per-target project, filters, freshness, coverage, aggregate result or error, comparison caveats, and rawDataAccess=false.
Caveats
- Do not compare targets with incompatible filters, freshness evidence, or analysis semantics without saying so.
- Report failed targets separately instead of hiding them.