Skip to main content
Glama

Server Details

Query a TikTok data warehouse (creators, videos, sounds, daily history) with read-only SQL.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
hashfunction-dev/datasocial-mcp
GitHub Stars
0

TDQS

A4/5.0

Scored across 4 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness5/5

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 tools
describe_tableDescribe a tableA
Read-only
Inspect

One table's columns with types and meanings, its sort key and coverage. Read it before writing SQL on a table.

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesThe table, e.g. "creators" or "tiktok.creators"

Output Schema

ParametersJSON Schema
NameRequiredDescription
tableYes
descriptionYesSize, grain, sort key, coverage and every column with its type and meaning

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 tipsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNoOnly examples on this table, e.g. "sound_history"; omit for all

Output Schema

ParametersJSON Schema
NameRequiredDescription
examplesYes
sql_tipsYes

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 tablesB
Read-only
Inspect

The tables in the DataSocial TikTok warehouse: name, row count, what one row is, and what it holds.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
tablesYes

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 SQLA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesOne ClickHouse SELECT, e.g. SELECT username, followers FROM tiktok.creators WHERE country = 'US' ORDER BY followers DESC LIMIT 10

Output Schema

ParametersJSON Schema
NameRequiredDescription
rowsYesOne array per row, values in the order of columns
cappedYestrue when the result was cut at the 100-row limit
columnsYes
rows_readYes
elapsed_msYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 4 tool updates
    • First observeddescribe_table
    • First observedexamples
    • First observedlist_tables
    • First observedrun_sql

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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
  • A
    license
    B
    quality
    D
    maintenance
    Provides read-only access to TikTok advertising data, including campaigns, ad groups, ads, and performance reports through the TikTok Business API.
    6
    43
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.