DataSocial
Server Details
Query a TikTok data warehouse (creators, videos, sounds, daily history) with read-only SQL.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- hashfunction-dev/datasocial-mcp
- GitHub Stars
- 0
TDQS
Scored across 4 tools
Each tool has a distinct role: list_tables for discovery, describe_table for schema, examples for query guidance, and run_sql for execution. There is no overlap in purpose that would cause misselection.
Three tools follow the verb_noun pattern (describe_table, list_tables, run_sql), but 'examples' is a bare noun, breaking the convention. Minor inconsistency, but overall readable.
Four tools provide a well-scoped, minimal set for exploring and querying a data warehouse: discovery, schema inspection, guidance, and execution. Each earns its place without redundancy.
For a read-only ClickHouse interface, the surface covers all essential operations: listing tables, describing schema, providing examples, and running SQL. No obvious gaps for the stated purpose.
Available Tools
4 toolsdescribe_tableDescribe a tableARead-onlyInspect
One table's columns with types and meanings, its sort key and coverage. Read it before writing SQL on a table.
| Name | Required | Description | Default |
|---|---|---|---|
| table | Yes | The table, e.g. "creators" or "tiktok.creators" |
Output Schema
| Name | Required | Description |
|---|---|---|
| table | Yes | |
| description | Yes | Size, grain, sort key, coverage and every column with its type and meaning |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true; the description adds useful behavioral context by disclosing what is returned (typed columns, meanings, sort key, coverage). It says nothing about metadata freshness, permissions, or truncation, but is solid beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, and the return-value summary is front-loaded ahead of the usage directive. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only metadata tool with an output schema, the description covers purpose, trigger, and returned fields. It is nearly complete, missing only edge-case handling such as unknown tables or namespacing conventions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single `table` parameter is fully documented in-schema with a qualified-name example. The description contributes no additional parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (one table) and enumerates what it returns: columns with types and meanings, sort key, and coverage. This distinguishes it functionally from run_sql (metadata vs data), but it never names a sibling explicitly, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Read it before writing SQL on a table" gives a clear situational trigger that ties this tool to the run_sql workflow. It provides no explicit exclusions or comparison against list_tables, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
examplesExamples and SQL tipsARead-onlyInspect
Worked examples (a question and SQL that runs here) and the SQL tips: growth maths, history-table patterns, big sound_history days, follows lookups. Pass a table to get only its examples.
| Name | Required | Description | Default |
|---|---|---|---|
| table | No | Only examples on this table, e.g. "sound_history"; omit for all |
Output Schema
| Name | Required | Description |
|---|---|---|
| examples | Yes | |
| sql_tips | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already establishes the safety profile, so the bar is lower. The description still adds real value by disclosing the content shape (question + SQL that runs here) and the tip categories, plus the filter-vs-all behavior. It omits any note on output size or pagination, but an output schema exists to cover structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool returns before the optional filtering instruction. The middle list of tip categories is dense but does real work in telling the agent what topics are covered. No wasted preamble.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return shape. It covers content, the filter, and its default, which is enough for a single-optional-param read tool. The only gap is the absence of routing guidance relative to run_sql, which overlaps with the usage dimension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter with 100% schema description coverage, so the baseline is 3. The description restates the filter and the "omit for all" default, which the schema also documents, but supplies a concrete value example ("sound_history"). No semantics beyond the schema are added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource precisely: worked examples consisting of a question plus runnable SQL, along with SQL tips on named topics (growth maths, history tables, sound_history days, follows lookups). That is clearly distinct from run_sql, describe_table and list_tables, but no sibling is named explicitly, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Pass a table to get only its examples" documents the filtering behavior but never states when to reach for this tool instead of run_sql or describe_table. Usage is implied (learn patterns before querying) rather than guided, and there are no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tablesList tablesBRead-onlyInspect
The tables in the DataSocial TikTok warehouse: name, row count, what one row is, and what it holds.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tables | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, so the description is not carrying the safety burden. It does add useful context about the shape of each listed item (row count, grain, content), which is beyond what the annotation provides, but says nothing about scope limits, size of the catalog, or freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that packs in the resource and the returned fields with no filler. It reads as a sentence fragment rather than a complete directive, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter listing tool with an output schema already defined and readOnlyHint set, the description covers the essential questions: which tables and what is returned. The only real omission is guidance on how this relates to describe_table for drilling into a specific table.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to disambiguate; the baseline for a zero-parameter tool is 4. No misleading or unnecessary parameter guidance is present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (the tables in the DataSocial TikTok warehouse) and even enumerates the fields returned per table (name, row count, what one row is, what it holds), so the agent knows exactly what it gets. It does not, however, distinguish itself from the sibling describe_table or explain how the listing differs from that per-table detail call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the siblings (describe_table, examples, run_sql), nor any prerequisite or exclusion. The intent as a discovery/entry-point call must be inferred purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_sqlRun SQLARead-onlyInspect
Run one read-only ClickHouse SELECT on tiktok.* and get the rows back (at most 100 per request; 10 s per query). Name the columns you need and add a LIMIT.
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | One ClickHouse SELECT, e.g. SELECT username, followers FROM tiktok.creators WHERE country = 'US' ORDER BY followers DESC LIMIT 10 |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | Yes | One array per row, values in the order of columns |
| capped | Yes | true when the result was cut at the 100-row limit |
| columns | Yes | |
| rows_read | Yes | |
| elapsed_ms | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds valuable non-annotation behavior: a 100-row cap per request, a 10-second query timeout, and enforced read-only SELECT-only execution. It does not address error behavior or what happens on non-SELECT input, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence, front-loaded with the operation and scope, then the limits, then the authoring guidance. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value explanation is unnecessary, and annotations cover the safety profile. The description supplies the operational limits an agent needs to call it correctly, though it is silent on failure modes (e.g., non-SELECT input, timeout errors) for a query-execution tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real semantics beyond the schema: the SQL must be exactly one SELECT statement, should name explicit columns, and should carry a LIMIT. That meaningfully constrains how the single 'sql' parameter is composed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Run), resource (ClickHouse SELECT on tiktok.*), and scope constraint (read-only), which cleanly distinguishes it from siblings describe_table, list_tables, and examples. An agent knows immediately this executes a query rather than describing or listing schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for use ('Name the columns you need and add a LIMIT') and implicitly contrasts with schema-discovery siblings, but never explicitly states when to prefer describe_table or list_tables first. The operating limits (100 rows, 10 s) further frame appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
describe_table - First observed
examples - First observed
list_tables - First observed
run_sql
Related MCP Connectors
TikTok data for AI agents: videos, creators, sounds, hashtags, trends. Content + creator research.
Public TikTok profiles, videos, comments and keyword search as JSON. No developer account.
Query your SourceMedium commerce warehouse, Shopify stores, and ad accounts.
Find viral outlier posts on TikTok, Instagram and YouTube, pull creator stats, and crawl on demand.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables natural-language access to TikTok Ads Manager data—spend, impressions, clicks, conversions, and cost per conversion—at account, campaign, ad group, and ad level, including daily breakdowns.MIT
- AlicenseBqualityDmaintenanceProvides read-only access to TikTok advertising data, including campaigns, ad groups, ads, and performance reports through the TikTok Business API.643MIT
- AlicenseAqualityDmaintenanceEnables to search, analyze, and export Douyin (TikTok China) video and user data, including interaction metrics, content length, and keyword trends.823MIT
- AlicenseCqualityDmaintenanceEnables access to TikTok data without watermarks, including trending users, hashtags, post analytics, user profiles, and download links for specific countries. Supports searching by username, user ID, or post links.10MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.