AI Social Data MCP
Server Quality Checklist
Latest release: v0.2.0
- Disambiguation5/5
Each tool targets a distinct resource and action—hot lists, keyword search, content details, user profiles, user posts, and comments—with no conceptual overlap. Even social_search and get_user_posts differ by keyword-based discovery vs. user-specific listing.
Naming Consistency4/5Five of six tools follow the get_<object> pattern, creating a predictable structure. The single exception, social_search, breaks the pattern but remains clear and readable, so a mild deviation.
Tool Count5/5With 6 tools, the server is well-scoped for social media data retrieval, covering discovery, detail, and user-centric queries without excess or deficiency.
Completeness5/5The toolset forms a complete read-only workflow for social media data: hot list for trends, search for discovery, content detail for specific items, user profile and posts for user-centric exploration, and comments for engagement context. No obvious missing operation within this domain.
Average 4/5 across 6 of 6 tools scored. Lowest: 3.4/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 8 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'public content' and returns author/body/metrics, but does not disclose authentication requirements, rate limits, error behavior, or the relationship between content_id and share_text (e.g., what happens if both are provided).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the tool's purpose and then give parameter guidance. Every word earns its place, with no redundant or verbose information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite schema coverage, the description is incomplete because it says to pass content_id or share_text, but neither is required in the schema, creating ambiguity about whether at least one must be supplied. Additionally, no return format or error scenarios are described, and the verbosity parameter is only in the schema, not the description. This is a significant gap for a tool with four parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing descriptions for all parameters. The description adds valuable semantics by stating that either content_id or share_text should be passed, clarifying the alternative relationship not explicit in the schema. This goes beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to retrieve detailed data for a single piece of public content, including author, body, and interaction metrics. It distinguishes from sibling tools like get_hot_list (list) and get_user_posts (user posts) by focusing on single content details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as social_search or get_comments. The description only explains what the tool does and how to pass parameters, without explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the tool retrieves public profiles and implicitly warns against private data, but it does not disclose return format, pagination, rate limits, error behavior, or how the tool handles missing/invalid identifiers. The input guidance is present, but behavioral transparency beyond the basic function is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences in Chinese. It front-loads the core purpose, then gives input options and a usage warning. There is no filler or repetition of schema details. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain what fields or structure the returned profile contains, nor any platform-specific variations. It also does not describe error conditions or how the verbosity parameter affects output. Despite the schema covering parameters, the description leaves the agent under-informed about the tool's actual return value and edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all parameters have descriptions), so baseline is 3. The description adds value by clarifying that user_id, sec_user_id, and share_text are alternative ways to identify the user, and that sec_user_id is Douyin-specific. This supplements the schema's individual parameter descriptions and helps the agent choose among them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as '获取公开用户资料' (get public user profile), which is a specific verb+resource combination. It also notes that it accepts multiple identifier types (user_id, sec_user_id, share text), further clarifying scope. However, it does not explicitly reference sibling tools like get_user_posts or social_search, so it lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear context: this tool is for public user profiles, with a direct instruction on what to pass (user_id, sec_user_id, or share text). It also includes a when-not directive ('不要用于获取私密账号数据' – do not use for private account data). However, it does not mention alternative tools for other use cases (e.g., getting user posts or comments), so it stops short of full alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It adds context that the data is current/real-time and not historical, which is valuable. However, it does not disclose return format, pagination behavior, rate limits, or any other operational details, leaving some uncertainty for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is composed of two compact sentences, delivering the core purpose and usage guidance without redundant phrasing or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description sufficiently explains the purpose and use-case boundaries. It could have added a note on the response structure, but the essential context for invocation is present. The platform restriction is implied by the schema's enum.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage of both parameters (platform enum and limit default/range), so the description offers no additional parameter-level semantics. The description's mention of 'current' applies to the tool's behavior, not to parameter specifics. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the current hot/trending lists from social media platforms, using the verb '获取' and specifying the resource. It distinguishes itself from sibling search tools by emphasizing 'current' trends, making its unique purpose evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states suitable use cases (answering today's hot topics, popular topics, real-time trends) and explicitly excludes keyword-based historical content search, which clearly differentiates it from the sibling social_search tool. However, it does not name the alternative tool directly, so it falls slightly short of full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that count is a per-page target, and that the tool will automatically paginate while preserving user parameters until the requested count is met or results are exhausted. This is meaningful behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the primary purpose. Every sentence adds value, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, the description covers the crucial pagination behavior but does not clarify how to identify the user (user_id, share_text, or sec_user_id) or require one of them. However, the schema descriptions for those parameters partially compensate, making the description reasonably complete for the core use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds semantics for count (single-page target) and clarifies cursor usage in auto-pagination, which goes beyond the schema's field descriptions. Other parameters are adequately covered by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a list of a user's public posts, using a specific verb and resource. It distinguishes itself from siblings like get_user_profile and get_comments by focusing on content list retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear pagination protocol (auto-continue with next_cursor when has_more=true), but it does not explicitly mention when to use this tool over alternatives like social_search or get_content_detail. There are no exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
无注解,描述承担了行为透明度的全部责任。它揭露了自动分页行为(必须保持参数并继续调用直到满足数量或无更多结果),并提示count是单页数量而非总数。虽未涉及限流、授权或错误处理,但核心行为已较清楚。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
描述由三句话组成,第一句直述目的,第二句给出分页规则,第三句给出平台差异。每句信息密度高,无冗余,结构清晰且前置核心信息。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
考虑到无输出schema和无注解,描述覆盖了主要操作场景(分页、平台参数、数量限制)。但未提及xhs平台的特定传参方式,也没有说明返回结构(除分页字段外),因此略有缺口。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
尽管schema已有100%字段描述,描述额外补充了参数关系与平台条件:count为单页量并区分抖音上限,抖音二级评论需comment_id,Bilibili的content_id使用详情返回的aid。这些语义在schema中未体现,极大帮助agent正确传参。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
描述明确说明工具用于获取公开内容的一级或二级评论,动词和资源清晰,且与兄弟工具(如内容详情、搜索)区分明显。同时具体指出抖音和Bilibili的平台差异,功能边界明确。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
描述提供了平台特定的参数使用指南(抖音需content_id/comment_id,Bilibili的content_id使用详情返回的数字aid),以及分页自动继续的触发条件。但未明确说明在何种情况下应选择其他兄弟工具,缺乏明确的排除性指导。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and excels by disclosing the critical auto-pagination behavior and prohibiting returning only the first page. This is essential for correct agent behavior and goes well beyond what the schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense, front-loaded sentence that states the purpose, defines the key parameter semantics, and specifies the pagination rule without any redundancy or fluff. It earns every word.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex with 8 parameters and no output schema. The description thoroughly covers the non-obvious pagination algorithm, which is the main risk for misuse. It does not describe the result item structure, but that is less critical and inferable from the purpose and sibling detail tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema names all parameters with descriptions (100% coverage), the description adds crucial meaning: it clarifies that 'count' is the per-page target, not the user's total, and mandates echoing three pagination tokens together. This adds value beyond the schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '按关键词搜索抖音公开内容或用户' (search Douyin public content or users by keyword), identifying a specific verb and resource. This distinguishes it from sibling getter tools like get_content_detail and get_user_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit pagination instructions: count is per-page, and when has_more=true, the agent must pass back next_cursor, search_id, and search_context to continue until the user's total is met or no more results. It does not explicitly mention alternatives, but the search-vs-get distinction is clear from tool names and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/yy-MAX-HUB/feedsonar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server