Skip to main content
Glama

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation4/5

    Most tools have distinct purposes, with clear separation between scraping (platform-specific), analysis (profile, sentiment, comparison), and timeline operations (query, search, stats, trends). However, timeline_query and timeline_search could be confused as both search the timeline database, though one is structured and the other semantic.

    Naming Consistency5/5

    Tool names follow a consistent snake_case pattern throughout, with clear verb_noun structures (e.g., analyze_profile, scrape_facebook, timeline_query). The naming is predictable and readable, with no mixing of conventions or styles.

    Tool Count5/5

    14 tools is well-scoped for a social research server covering multiple platforms and analysis types. Each tool earns its place, providing comprehensive coverage without being overwhelming, typical for a domain with diverse data sources and analytical needs.

    Completeness5/5

    The toolset offers complete coverage for social research: scraping from major platforms (Facebook, Instagram, etc.), storing data in a timeline database, and providing analysis tools (profile analysis, sentiment, comparison, stats, trends). No obvious gaps exist for the stated purpose, enabling agents to perform end-to-end research workflows.

  • Average 3.1/5 across 14 of 14 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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.json to 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 full burden. It mentions results are 'saved to the local timeline database' which adds some behavioral context about persistence, but doesn't cover rate limits, authentication needs, error conditions, or what happens with duplicate content. For a scraping tool with zero annotation coverage, this leaves significant gaps.

    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 that efficiently convey the core functionality and outcome. The first sentence covers the what and how, the second explains the persistence behavior. No wasted words, though it could be more front-loaded with critical information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a scraping tool with 5 parameters, no annotations, and no output schema, the description is adequate but has clear gaps. It covers the basic action and persistence behavior but doesn't address error handling, rate limits, authentication, or how results are structured. The 100% schema coverage helps, but behavioral aspects are under-specified.

    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%, so the schema already documents all 5 parameters thoroughly. The description adds marginal value by mentioning the three search approaches (URL, hashtag, keyword) which maps to the first three parameters, but doesn't provide additional context beyond what the schema already specifies.

    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 clearly states the action ('scrape posts') and resource ('Instagram'), specifying multiple search methods (URL, hashtag, keyword). It distinguishes from some siblings by focusing on Instagram, but doesn't explicitly differentiate from other scrape_* tools beyond platform name.

    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?

    No guidance on when to use this tool versus alternatives like scrape_facebook or timeline_query. The description mentions saving to 'local timeline database' but doesn't explain when that's preferable or how this differs from other scraping tools in the sibling set.

    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 mentions that results are saved to a local database, which implies persistence and potential data storage implications, but doesn't cover critical aspects like rate limits, authentication needs, error handling, or whether the operation is idempotent. For a scraping tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

    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?

    The description is concise and front-loaded with the core purpose in the first sentence. The second sentence adds necessary context about result persistence. Both sentences earn their place, though it could be slightly more structured (e.g., separating usage from outcomes).

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity of a scraping tool with no annotations and no output schema, the description is incomplete. It lacks details on return values, error conditions, performance characteristics, and how it interacts with the timeline database. For a tool that performs data extraction and storage, more context is needed to use it effectively.

    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%, so the schema already documents all parameters. The description adds minimal value by listing the search methods (profile URL, company URL, keyword), which aligns with the schema but doesn't provide additional syntax, format details, or usage examples beyond what's in the parameter descriptions. Baseline 3 is appropriate when the schema does the heavy lifting.

    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 clearly states the tool's purpose: 'Scrape posts from LinkedIn' with specific resources (posts) and methods (profile URL, company URL, or keyword). It distinguishes from siblings like 'scrape_facebook' by specifying LinkedIn, but doesn't explicitly differentiate from other LinkedIn-related tools like 'analyze_profile' beyond the scraping action.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It mentions that 'Results are saved to the local timeline database,' but doesn't explain when to choose this over other scraping tools (e.g., 'scrape_twitter') or analysis tools (e.g., 'analyze_profile'), nor does it specify prerequisites or exclusions for usage.

    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?

    No annotations are provided, so the description carries the full burden. It discloses that 'Results are saved to the local timeline database,' which adds behavioral context about data persistence. However, it lacks details on permissions, rate limits, error handling, or what 'scrape' entails (e.g., data extraction scope), making it insufficient for a mutation tool.

    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?

    The description is concise with two sentences that are front-loaded: the first states the purpose, and the second adds usage and behavioral details. There is no wasted text, but it could be slightly more structured (e.g., separating guidelines from behavior).

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no annotations and no output schema, the description is moderately complete. It covers the basic purpose and some behavioral aspects (data saving), but for a scraping tool with mutation implications, it should include more on permissions, limitations, or output format to be fully adequate.

    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%, so the schema fully documents the parameters. The description adds marginal value by mentioning 'Search by keyword or channel URL,' which aligns with the 'search' and 'channel_urls' parameters but does not provide additional semantics beyond the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

    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 clearly states the tool's purpose: 'Scrape videos from YouTube' specifies the action (scrape) and resource (YouTube videos). It distinguishes from some siblings (e.g., timeline_query) but not explicitly from other scraping tools like scrape_facebook or scrape_twitter, which reduces it from 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 Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides minimal guidance: it mentions 'Search by keyword or channel URL' but does not specify when to use this tool versus alternatives like scrape_tiktok or timeline_search. There are no explicit when/when-not instructions or named alternatives, leaving usage context vague.

    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 full burden for behavioral disclosure. It mentions the query is 'structured' and lists filterable fields, but doesn't describe what the tool returns (format, structure), whether it's paginated, rate limits, authentication requirements, or error conditions. For a query tool with 7 parameters, this leaves significant behavioral gaps.

    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?

    The description is appropriately concise with two clear parts: the core function and the filtering capabilities. The 'no AI needed' clause adds useful context. However, it could be more front-loaded by starting with the primary purpose before listing filters.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a query tool with 7 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what results look like, how they're structured, whether there's pagination, or what happens when no results match. The 'no AI needed' hint is helpful but insufficient for full contextual understanding.

    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%, so the schema already documents all 7 parameters thoroughly. The description adds minimal value beyond the schema by listing the same filterable fields in natural language. No additional syntax, format details, or constraints beyond what the schema provides.

    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 clearly states the tool performs a 'structured query against the timeline database' with specific filtering capabilities (platform, date, engagement, author, hashtags). It distinguishes from AI-based analysis tools by stating 'no AI needed', but doesn't explicitly differentiate from sibling timeline tools like timeline_search or timeline_stats.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It mentions 'no AI needed' which might imply not to use it for analysis, but doesn't specify when to choose timeline_query over timeline_search, timeline_stats, or timeline_trends among the sibling tools.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'scrape recent posts' and 'compute' metrics, implying data retrieval and processing, but does not disclose important traits such as rate limits, authentication needs, data privacy implications, or whether the operation is read-only or has side effects. This leaves significant gaps for an AI agent to understand the tool's behavior.

    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?

    The description is a single, efficient sentence that front-loads the core purpose ('Analyze a social media profile') and lists specific computed metrics. There is no wasted language, and it is appropriately sized for the tool's complexity.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity of analyzing social media profiles with multiple metrics, no annotations, and no output schema, the description is moderately complete. It outlines what the tool does but lacks details on behavioral aspects and output format. For a tool with 3 parameters and no structured output information, it should provide more context to be fully helpful.

    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?

    The schema description coverage is 100%, meaning all parameters are well-documented in the schema itself. The description does not add any additional meaning beyond what the schema provides (e.g., it doesn't explain the implications of 'max_posts' on performance or accuracy). With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

    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 clearly states the tool's purpose: 'Analyze a social media profile' with specific actions like 'scrape recent posts and compute engagement rate, posting frequency, content themes, peak hours, and sentiment.' It uses a specific verb ('analyze') and resource ('social media profile'), but it does not explicitly distinguish itself from sibling tools like 'analyze_sentiment' or 'timeline_stats,' which might have overlapping functionality.

    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?

    The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'analyze_sentiment' (which might focus only on sentiment) and various 'scrape_' tools (which might only collect data without analysis), there is no mention of when this comprehensive analysis tool is preferred or when other tools might be more appropriate.

    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 full burden for behavioral disclosure. It mentions that 'Results are saved to the local timeline database' which reveals persistence behavior, but doesn't cover important aspects like rate limits, authentication requirements, data freshness, error handling, or whether this is a read-only vs write operation. The description provides minimal behavioral context beyond the basic action.

    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?

    The description is appropriately concise with two sentences that efficiently convey the core functionality and outcome. The first sentence states the action and search methods, the second reveals the persistence behavior. No wasted words, though it could be slightly more structured.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a scraping tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what format the results take, how pagination works, error conditions, authentication needs, or rate limiting. The mention of saving to database adds some context but leaves many operational questions unanswered.

    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%, so the schema already fully documents all 4 parameters. The description adds marginal value by mentioning the three search approaches (subreddit, keyword, URL) which map to the parameters, but doesn't provide additional semantic context beyond what's in the schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.

    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 clearly states the tool's purpose: 'Scrape posts from Reddit' with specific search methods (subreddit, keyword, URL). It distinguishes from sibling tools like scrape_facebook or scrape_twitter by specifying the Reddit platform. However, it doesn't explicitly differentiate from timeline_query/timeline_search which might also retrieve saved data.

    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?

    The description implies usage context by listing search methods (subreddit, keyword, URL) but doesn't provide explicit guidance on when to use this vs alternatives like timeline_query (for saved data) or other scraping tools for different platforms. No when-not-to-use or prerequisite information is included.

    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 mentions that results are saved to a local database, which adds some context about persistence, but it doesn't cover critical aspects like rate limits, authentication needs, error handling, or whether the scraping is read-only or mutative. This leaves significant gaps for a tool with potential behavioral complexity.

    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?

    The description is concise with two sentences that efficiently cover the core action and outcome. It's front-loaded with the main purpose, though it could be slightly more structured by explicitly separating search methods from the result handling. Overall, it avoids unnecessary verbosity.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity of a scraping tool with no annotations and no output schema, the description is incomplete. It lacks details on return values, error conditions, rate limits, and how the saved data interacts with sibling tools like 'timeline_query'. For a 4-parameter tool with behavioral implications, this is inadequate.

    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?

    The description adds minimal semantic value beyond the input schema, which has 100% coverage. It mentions search methods ('profile, hashtag, or keyword') that loosely map to parameters like 'profiles', 'hashtags', and 'search', but doesn't provide additional details on syntax, interactions between parameters, or default behaviors. With high schema coverage, the baseline is 3.

    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 clearly states the tool's purpose with a specific verb ('scrape') and resource ('videos from TikTok'), distinguishing it from sibling tools like 'scrape_facebook' or 'scrape_instagram' by specifying the platform. However, it doesn't explicitly differentiate from other TikTok-related tools (none exist in the sibling list), so it's not a perfect 5.

    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?

    The description implies usage by listing search methods ('profile, hashtag, or keyword'), but it doesn't provide explicit guidance on when to use this tool versus alternatives like 'scrape_youtube' or 'timeline_query'. No exclusions or prerequisites are mentioned, leaving usage context somewhat vague.

    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 mentions that results are saved to a local timeline database, which adds some context about persistence. However, it doesn't address critical behavioral aspects like rate limits, authentication requirements, whether this is a read-only or write operation (though 'scrape' implies read), error handling, or platform-specific constraints.

    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?

    The description is appropriately sized with two sentences that are front-loaded with the core functionality. The first sentence clearly states the purpose, and the second adds important behavioral context about data persistence. There's no wasted verbiage, though it could be slightly more structured with explicit usage guidance.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (5 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain what the tool returns, error conditions, authentication needs, or how it differs from sibling tools. While it mentions data persistence, it lacks sufficient context for an agent to understand the full behavioral implications of using this scraping tool.

    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%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by mentioning 'search by query, hashtag, or user timeline' which aligns with the query parameter description, but doesn't provide additional semantic context like format examples or usage patterns beyond what's in the structured fields.

    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 clearly states the tool's purpose with specific verbs ('scrape tweets') and resources ('from Twitter/X'), distinguishing it from siblings like scrape_facebook or timeline_query by specifying the target platform and action. It explicitly mentions what gets scraped (tweets) and the scope (search by query, hashtag, or user timeline).

    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?

    The description provides no guidance on when to use this tool versus alternatives like scrape_facebook, timeline_query, or timeline_search. It mentions that results are saved to a local database, but doesn't specify when this tool is preferred over direct querying tools or other scraping siblings, leaving usage context unclear.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions what statistics are returned, it doesn't describe important behavioral aspects like whether this is a read-only operation, whether it requires authentication, rate limits, pagination behavior, or what happens when no data matches the filters. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves.

    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?

    The description is perfectly concise - a single sentence that efficiently communicates the core purpose and enumerates the specific statistics returned. Every element earns its place, with no wasted words or redundant information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's moderate complexity (aggregation across multiple metrics), no annotations, no output schema, and 3 parameters, the description is minimally adequate. It explains what statistics are returned but doesn't cover behavioral aspects, usage context, or output format details. The high schema coverage helps, but for a statistical tool with no output schema, more context about the return structure would be beneficial.

    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?

    The description doesn't mention any parameters, while the input schema has 3 parameters with 100% description coverage. The schema already documents platforms (with enum values), date_from, and date_to. The description's mention of 'by platform' and implied date filtering aligns with the parameters but adds no additional semantic context beyond what the schema provides, meeting the baseline for high schema coverage.

    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 clearly states the tool's purpose: 'Get aggregate statistics from your timeline' with specific metrics listed (total posts by platform, avg engagement, most active authors, top hashtags). It uses a specific verb ('Get') and resource ('aggregate statistics from your timeline'), but doesn't explicitly distinguish it from sibling tools like timeline_query, timeline_search, or timeline_trends, which likely have overlapping domains.

    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?

    The description provides no guidance on when to use this tool versus alternatives. With siblings like timeline_query, timeline_search, and timeline_trends available, there's no indication of when this statistical aggregation tool is preferred over those other timeline-related tools or when it should be avoided.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'detect trending topics' and 'identifies spikes,' which implies a read-only analysis operation, but doesn't specify whether it requires authentication, has rate limits, returns structured data, or handles errors. For a tool with no annotation coverage, this leaves significant behavioral gaps.

    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?

    The description is appropriately sized and front-loaded, consisting of two concise sentences that directly state the tool's purpose and key actions. Every sentence earns its place by conveying essential information without redundancy or fluff.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is partially complete. It explains what the tool does but lacks details on behavioral traits, usage guidelines, and output format. Without annotations or an output schema, more context on results and constraints would improve completeness.

    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?

    The description adds no parameter-specific information beyond what the schema provides. With 100% schema description coverage, the baseline is 3, as the schema already documents all parameters (time_window, platforms, top_n) with descriptions and enums. The description doesn't compensate with additional context like examples or edge cases.

    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 clearly states the tool's purpose: 'Detect trending topics across your stored timeline data' with specific actions like 'identifies spikes in hashtag/keyword frequency and sentiment shifts.' It distinguishes from siblings like timeline_query, timeline_search, and timeline_stats by focusing on trend detection rather than querying, searching, or statistical analysis. However, it doesn't explicitly differentiate from analyze_sentiment, which might also involve sentiment analysis.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose timeline_trends over timeline_query, timeline_search, timeline_stats, or analyze_sentiment, nor does it specify prerequisites like requiring stored timeline data. Usage is implied but not explicitly stated.

    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 the tool 'Returns positive/negative/neutral breakdown,' which gives some output context, but lacks details on permissions, rate limits, data sources (beyond 'timeline data'), error handling, or whether it's read-only/destructive. For a tool with no annotations, this is a significant gap in transparency.

    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?

    The description is concise and front-loaded: the first sentence states the core purpose, followed by input options and return value. Every sentence earns its place, with no redundant information. However, it could be slightly more structured (e.g., separating input and output details more clearly).

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given 3 parameters with full schema coverage but no annotations and no output schema, the description is moderately complete. It covers the basic purpose, input methods, and return type, but lacks behavioral context (e.g., how sentiment is calculated, data scope limitations). For a tool with no output schema, more detail on the return structure would be beneficial.

    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%, so the schema already documents all three parameters (query, platforms, texts) with clear descriptions. The description adds marginal value by explaining the relationship between 'query' and 'texts' as alternative inputs, but doesn't provide additional semantics beyond what's in the schema (e.g., format details or constraints). Baseline 3 is appropriate when schema does the heavy lifting.

    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 clearly states the tool's purpose: 'Run sentiment analysis on posts' with the specific action 'analyze' and resource 'posts'. It distinguishes from sibling tools like 'analyze_profile' or 'timeline_stats' by focusing on sentiment rather than profile analysis or statistical trends. However, it doesn't explicitly differentiate from all siblings (e.g., 'compare' might also involve analysis).

    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?

    The description provides implied usage guidance by mentioning two input methods: 'Provide a query to search timeline data, or pass texts directly.' This suggests when to use each approach. However, it doesn't explicitly state when to choose this tool over alternatives like 'timeline_query' or 'timeline_search', nor does it mention prerequisites or exclusions (e.g., whether it works with all sibling scrapers).

    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 mentions that 'Results are saved to the local timeline database,' which adds context about data persistence and integration. However, it lacks critical details such as authentication requirements, rate limits, potential legal/ethical considerations for scraping Facebook, error handling, or whether the operation is read-only or mutative. The description provides some behavioral insight but leaves significant gaps for a scraping tool.

    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?

    The description is concise with two sentences that efficiently convey the core functionality and key behavioral aspect (saving to database). It's front-loaded with the main purpose, and each sentence adds value without redundancy. However, it could be slightly more structured by explicitly separating usage instructions from behavioral notes.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity of a scraping tool with 3 parameters, no annotations, and no output schema, the description is moderately complete. It covers the basic purpose and hints at integration with the timeline database, but lacks details on output format, error cases, authentication, or legal constraints. For a tool that interacts with an external platform like Facebook, more contextual information would be beneficial to ensure safe and effective use.

    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%, so the schema already documents all three parameters (page_urls, search, max_results) with descriptions. The description adds marginal value by mentioning 'Search by page URL or keyword,' which aligns with the parameters but doesn't provide additional syntax, format details, or usage examples beyond what's in the schema. This meets the baseline for high schema coverage.

    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 clearly states the tool's purpose: 'Scrape posts from Facebook pages' with specific actions (scrape) and resources (posts, Facebook pages). It distinguishes from sibling tools like 'scrape_instagram' by specifying the Facebook platform, but doesn't explicitly differentiate from other Facebook-related tools (none listed). The mention of 'Search by page URL or keyword' adds useful scope but doesn't fully distinguish from potential alternatives.

    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?

    The description implies usage context through 'Search by page URL or keyword' and mentions results are saved to 'local timeline database,' which suggests integration with timeline-related siblings. However, it lacks explicit guidance on when to use this tool versus alternatives like 'scrape_twitter' or 'timeline_search,' and doesn't specify prerequisites or exclusions for Facebook scraping.

    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 mentions the types of comparisons and metrics but lacks critical details such as time range defaults, data freshness, rate limits, authentication requirements, or output format expectations. This is inadequate for a tool with 2 parameters and no output 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, well-structured sentence that efficiently conveys the tool's core functionality without unnecessary words. It is appropriately sized and front-loaded with essential information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity of comparing multiple items across platforms and metrics, with no annotations and no output schema, the description is insufficient. It lacks details on behavioral aspects (e.g., time ranges, data sources), output structure, and error handling, leaving significant gaps for an AI agent to use the tool effectively.

    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%, so the schema already documents both parameters thoroughly. The description adds minimal value by mentioning '2+ profiles, hashtags, or topics' and 'engagement, sentiment, and volume metrics', which aligns with but doesn't significantly expand upon the schema's details for 'items' and 'metric'.

    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 clearly states the tool's purpose with specific verbs ('compare side-by-side') and resources ('profiles, hashtags, or topics'), and explicitly distinguishes it from siblings by focusing on comparative analysis rather than individual analysis (like analyze_profile) or scraping operations.

    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?

    The description implies usage context by specifying what can be compared (profiles, hashtags, topics) and metrics (engagement, sentiment, volume), but does not explicitly state when to use this tool versus alternatives like analyze_sentiment or timeline_stats, nor does it provide exclusion criteria.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the requirement for OPENAI_API_KEY, which is useful context, but fails to describe other behavioral traits such as rate limits, authentication needs beyond the API key, what happens if no results are found, or the format of returned results. For a search tool with no annotation coverage, this leaves significant gaps.

    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?

    The description is extremely concise with only two sentences, front-loading the core purpose and key requirement. Every sentence earns its place by providing essential information without redundancy or fluff, making it easy for an AI agent to parse quickly.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (semantic search with 5 parameters) and no annotations or output schema, the description is incomplete. It covers the purpose and API key requirement but lacks details on behavioral traits, result format, and error handling. However, the high schema coverage mitigates some gaps, making it minimally adequate but with clear room for improvement.

    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%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by emphasizing the semantic nature of the 'query' parameter, but it doesn't provide additional syntax, format details, or usage examples. Baseline 3 is appropriate when the schema does the heavy lifting.

    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 clearly states the tool's purpose with specific verbs ('semantic search') and resources ('timeline database', 'posts'), distinguishing it from sibling tools like timeline_query (likely keyword-based) or timeline_stats/trends (analytics-focused). It explicitly mentions AI embeddings and meaning-based search, which clarifies its unique functionality.

    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?

    The description implies usage for semantic search across timeline posts but doesn't explicitly state when to use this tool versus alternatives like timeline_query (which might be for keyword search) or the various scrape_* tools. It mentions the requirement for OPENAI_API_KEY, which provides some context, but lacks clear guidance on scenarios where this tool is preferred over siblings.

    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

social-research-mcp MCP server

Copy to your README.md:

Score Badge

social-research-mcp MCP server

Copy to your README.md:

Latest Blog Posts

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/TerminalGravity/social-research-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server