dataprovidercom/dataprovider-mcp
If you are the rightful owner of dataprovider-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Dataprovider.com MCP server provides AI assistants and MCP-compatible clients with instant access to live web data from Dataprovider.com.
🌟 Overview
The Dataprovider.com MCP server gives AI assistants and MCP-compatible clients instant access to live web data from Dataprovider.com
- Endpoint:
https://mcp.dataprovider.com/mcp - Authentication: API key via header
X-API-Keyor query param?api-key=YOUR_ACCESS_TOKEN
⚡ Quick Start
First create a personal access token in your Dataprovider.com account (Account → Profile → Access tokens)
If you created your access token, there are three ways to connect with the Dataprovider.com MCP
- With query parameter
https://mcp.dataprovider.com/mcp?api-key=YOUR_ACCESS_TOKEN
- With header
X-API-Key: YOUR_ACCESS_TOKEN- URL:
https://mcp.dataprovider.com/mcp
- Connect from MCP clients (e.g., Claude Desktop)
- Settings → Connectors → Add custom connector
- Name:
Dataprovider MCP - URL:
https://mcp.dataprovider.com/mcp?api-key=YOUR_ACCESS_TOKEN - Save
📚 Examples
See examples/ for TypeScript, Python, and PHP examples. Each example:
- Declares an API key variable you must fill in
- Lists available tools
- Calls
get_available_fields,create_query_filter, andlookup_data
Each examples subfolder contains its own README with setup and run instructions.
🔐 Authentication
- Query parameter:
?api-key=YOUR_ACCESS_TOKEN - Or header:
X-API-Key: YOUR_ACCESS_TOKEN
🧭 Typical Workflow
get_available_fields()to learn field names in your subscription.create_query_filter(question)to convert natural language into a DPQL filter.- Use the filter with:
lookup_data(records)analyze_trends(time series)aggregate_data(distributions)
- Or the other tools:
discover_field_values(value discovery across fields)find_similar_websites(similarity search)perform_reverse_dns_lookup(reverse DNS)get_website_traffic(traffic trend data)
🔧 Available Tools
get_available_fields()create_query_filter(question)lookup_data(filter, fields, page, size, date?, sort_field?, sort_order?)analyze_trends(filter, fields, months, date?)aggregate_data(filter, fields, size, include_source, date?)get_website_traffic(hostname, start_date?, end_date?)discover_field_values(query)find_similar_websites(hostname, size?, fields?, date?)perform_reverse_dns_lookup(ip_address, page?, size?, fields?, date?)
These are discoverable via the MCP tools listing in compatible clients.
🛠️ Tool Reference & Usage
get_available_fields()
- What it does: Lists all fields available to your subscription with names, groups, and types.
- Use when: Before building any filter; to get the exact field names.
- Usage:
{
"tool": "get_available_fields",
"params": {}
}
create_query_filter(question)
- What it does: Converts natural language into a structured DPQL filter.
- Use when: You know the question but not the DPQL syntax.
- Usage:
{
"tool": "create_query_filter",
"params": {
"question": "WordPress sites in the USA"
}
}
lookup_data(filter, fields, page, size, date?, sort_field?, sort_order?)
- What it does: Retrieves records matching a DPQL filter with selected fields; supports pagination and sorting.
- Use when: You need actual records.
- Usage:
{
"tool": "lookup_data",
"params": {
"filter": {
"type": "operator",
"operator": "AND",
"queries": [
{
"type": "predicate",
"predicate": "EQUALS",
"field": "cms",
"value": "WordPress"
}
]
},
"fields": [
"hostname",
"cms"
],
"page": 0,
"size": 20,
"sort_field": "hostname",
"sort_order": "ASC"
}
}
analyze_trends(filter, fields, months, date?)
- What it does: Returns monthly time-series for specified fields.
- Use when: You want trends over time.
- Usage:
{
"tool": "analyze_trends",
"params": {
"filter": {
"type": "operator",
"operator": "AND",
"queries": []
},
"fields": [
"cms"
],
"months": 6
}
}
aggregate_data(filter, fields, size, include_source, date?)
- What it does: Aggregates distributions of values for fields; returns counts per value.
- Use when: You need breakdowns (e.g., by country, cms).
- Usage:
{
"tool": "aggregate_data",
"params": {
"filter": {
"type": "operator",
"operator": "AND",
"queries": []
},
"fields": [
"country"
],
"size": 50,
"include_source": false
}
}
get_website_traffic(hostname, start_date?, end_date?)
- What it does: Returns Connection Index trend for a hostname.
- Use when: You want traffic trends for a site.
- Usage:
{
"tool": "get_website_traffic",
"params": {
"hostname": "example.com"
}
}
discover_field_values(query)
- What it does: Searches across all fields to find where a value appears and how often.
- Use when: Exploring which fields contain a term before building filters.
- Usage:
{
"tool": "discover_field_values",
"params": {
"query": "WordPress"
}
}
find_similar_websites(hostname, size?, fields?, date?)
- What it does: Finds websites similar to a given hostname, with similarity scores.
- Use when: Competitor or lookalike discovery.
- Usage:
{
"tool": "find_similar_websites",
"params": {
"hostname": "example.com",
"size": 10
}
}
perform_reverse_dns_lookup(ip_address, page?, size?, fields?, date?)
- What it does: Returns reverse DNS records for an IP address.
- Use when: Investigating domains/hostnames on an IP.
- Usage:
{
"tool": "perform_reverse_dns_lookup",
"params": {
"ip_address": "8.8.8.8",
"page": 0,
"size": 20
}
}