Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct function: data ingestion, listing vs. detailed profiles, aggregate summaries vs. ranked items, trend detection, creator recommendation, and brief generation. No two tools have overlapping purposes; even related tools (recommend vs. generate) are clearly separated.

    Naming Consistency4/5

    Most tools follow a clear verb_noun pattern (sync_data, list_creators, get_creator_profile, detect_trending_formats, generate_content_brief). The exception is 'top_performers' which is noun-only, and 'recommend_creators_for_brief' is slightly longer but still verb_noun. Overall consistent and readable, with one minor deviation.

    Tool Count5/5

    8 tools is within the optimal 3-15 range, covering ingestion, querying, analytics, and recommendation without feeling bloated. Each tool serves a distinct need in the creator analytics domain.

    Completeness4/5

    The tool set covers the core workflow: data ingestion, creator browsing/detail, performance analysis, trend detection, and brief generation. Minor gaps exist (e.g., no direct tool for listing campaigns or content items beyond top_performers), but these are edge cases and the main workflow is well-supported.

  • Average 3.4/5 across 8 of 8 tools scored. Lowest: 2.7/5.

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

    • No community issues in the last 6 months
    • 21 commits in the last 12 weeks
    • No stable releases found
    • 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.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, the description carries full responsibility for disclosing behavior. It mentions what the profile includes (niche, style, etc.) but does not reveal how the creator is identified, whether the operation is read-only, what happens if the creator is not found, or any other behavioral traits. It offers minimal insight beyond the output shape.

    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 concise sentence that lists the key content areas of the profile. It is front-loaded and free of filler, earning a high score for conciseness and structure.

    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?

    Despite having an output schema, the description is too sparse. It lacks information on identifier semantics (handle vs id), usage context among sibling tools, and any behavioral caveats. This makes it insufficient for a tool with optional parameters and ambiguous selection criteria.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, and the description does not mention the parameters 'handle' or 'creator_id' at all. It does not clarify how to choose between them, whether they are required, or how they affect the returned profile. The description adds no value to understanding the input schema.

    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 what the tool returns: a full creator profile including niche, style, platforms, performance history, and best formats. The verb is implied by the tool name 'get'. It does not explicitly differentiate from sibling 'get_performance_summary', which also touches performance, but the 'full profile' wording suggests a broader scope.

    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 is provided on when to use this tool versus alternatives like get_performance_summary or list_creators. There is no mention of prerequisites, typical use cases, or exclusion criteria, leaving the agent to infer usage from the name alone.

    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, the description must convey behavioral traits but only states the core function and scope constraint. It does not disclose whether the operation is read-only, what data is included, how date ranges are handled, or any limits/return format. The scope_id requirement is the only behavioral detail, which is insufficient.

    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 two sentences that front-load the core purpose and then provide the essential parameter note. No irrelevant information or repetition of schema fields.

    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?

    Despite being a 4-parameter tool with no annotations or output schema, the description is minimal. It omits date range semantics, return structure, when to use vs siblings, and any operational constraints. This is insufficient for an agent to confidently use the tool in all contexts.

    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 meaning for scope and scope_id by enumerating allowed values and indicating when scope_id is required. However, it does not explain date_range_start/end at all, leaving their format and purpose ambiguous. With 0% schema coverage, this partial compensation is helpful but incomplete.

    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 states 'Aggregate metrics + trend direction,' which clearly identifies the tool's function as summarizing performance metrics with trend analysis. The scope options provide additional clarity on the resource types it covers, though it does not explicitly distinguish itself from siblings like top_performers or detect_trending_formats.

    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 parameter usage guidance (scope values, scope_id requirement) but does not explain when to use this tool versus alternatives. No mention of top_performers, detect_trending_formats, or other sibling tools, nor any exclusions or preferred contexts.

    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 reveals that results are ranked by multiplier and compared against a roster baseline, but it does not explain what 'multiplier' means, how the baseline is calculated, or how date_range and sample_size parameters affect results. This is insufficient for a tool with no annotation safety signals.

    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 front-loads the action and unique value. Every word contributes to conveying the tool's purpose, with no filler or redundant repetition of the tool name.

    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?

    Despite having an output schema (so return values need not be described), the tool has 4 optional parameters with no documentation and no annotations. The description omits critical contextual details such as what 'roster baseline' means, how the date range is applied, and what a reasonable minimum sample size is. This is inadequate for a tool with analytical logic.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Input schema has 4 parameters with 0% description coverage, and the tool description does not mention any parameter or how they influence the detection. The description adds zero value in explaining metric, date range, or min_sample_size semantics, leaving the agent to guess.

    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: detecting format/hook tags whose average performance exceeds the roster baseline, ranked by multiplier. This is a specific verb-resource combination (detect + format/hook tags) and distinguishes it from siblings like top_performers, which likely rank creators or content.

    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 (finding outperforming format tags) but provides no explicit guidance on when to use this tool versus alternatives like top_performers or get_performance_summary. There are no stated exclusions or alternative recommendations, leaving the agent to infer from the tool's specific purpose.

    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 must disclose behavioral traits. It only adds 'active creators' and 'rationale for each match' but fails to state whether the operation is read-only, what 'active' means, how ranking is determined, or any side effects. This is a significant gap for a tool that likely performs complex logic.

    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 sentence that is front-loaded with the core action and includes the key input types and output feature. Every word contributes meaning without redundancy or fluff.

    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?

    Despite having an output schema, the description is too sparse for a tool with 3 optional parameters and no schema-level explanations. It lacks information on parameter interplay, what 'active' means, or how ranking works, making it incomplete for an agent to use correctly, especially given the presence of overlapping siblings like top_performers.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate. It mentions 'brief' and 'format tags' but does not explain the n parameter, the relationship between brief_text and format_tags, or whether they are alternatives or combined. The default behavior when values are null is also undocumented.

    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 a specific action ('Rank active creators') with a defined input ('a brief or set of format tags') and an expected output ('rationale for each match'). This distinguishes it from siblings like list_creators (no ranking) and top_performers (likely performance-based ranking without rationale).

    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 phrase 'for a brief or set of format tags' implies the use case, but it does not explicitly state when to use this tool over alternatives such as top_performers or list_creators. There is no mention of exclusions or prerequisites (e.g., whether both brief_text and format_tags can be used together).

    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 full responsibility. It only states the action and filters, but does not disclose pagination, output structure, authentication needs, or the default behavior when no filters are applied. This is minimal behavioral disclosure.

    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, front-loaded sentence with no unnecessary words. It efficiently communicates the core purpose without verbose filler.

    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 simple list tool with three optional filters and an existing output schema, the description covers the essential purpose. It does not explain all behavioral details (e.g., no-filter behavior), but given the tool's straightforward nature, this is mostly sufficient.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, and the description merely restates the parameter names (niche, platform, status) without adding value formats, allowed values, or examples. It provides only a marginal improvement over the schema's bare parameter names.

    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 lists creators, which is a specific verb+resource. It distinguishes itself from siblings like get_creator_profile (single profile) and top_performers (rankings) by focusing on the general list with optional filters.

    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 phrase 'optionally filtered by niche tag, platform, or status' implies when to use the tool (for listing with optional criteria) but does not explicitly state when not to use it or mention alternatives. Usage is implied rather than directly compared with 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?

    With no annotations, the description carries the full burden of behavioral disclosure. It mentions tailoring to a creator's style and targeting a format, but does not explain what happens when based_on_format is null (e.g., whether it automatically fetches trending formats), what the output brief contains, or any side effects. The description lacks transparency about the tool's internal 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, well-structured sentence that leads with the verb 'Draft' and efficiently packs key details about the creator and format targeting. There is no unnecessary repetition or filler, making it highly concise and front-loaded.

    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?

    The tool is simple with only two parameters, but the description is sparse. It does not describe the expected output (the brief's content or format), what happens if based_on_format is omitted, or any required context such as ensuring the creator exists. Given no output schema or annotations, the description should provide more completeness to be fully useful.

    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 description coverage is 0%, so the description must compensate for parameter meaning. It does: 'creator's style' maps to creator_id, and 'given or trending format' explains based_on_format (a provided format or defaulting to trending). This adds meaningful semantics beyond the schema, though it stops short of explicitly describing parameter syntax or edge cases.

    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 action ('Draft a brief') and its specific scope ('tailored to a creator's style, targeting a given or trending format'). This distinguishes it from sibling tools like detect_trending_formats (which detects trends) and recommend_creators_for_brief (which recommends creators), making the purpose unambiguous.

    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 stating it drafts a brief for a creator, but it does not explicitly say when to use this tool over alternatives, nor does it mention prerequisites like needing a creator_id or when to leverage trending formats. Usage context is inferred rather than directly guided.

    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?

    Since annotations are absent, the description carries the burden of disclosing behavioral traits. It reveals a non-obvious limitation: content from creators excluded by SideShift's /creators can only be shown/hidden, not enriched. This adds meaningful context beyond a simple read operation, though it omits other aspects like auth or rate limits.

    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 front-loads the purpose in a single sentence, then provides a necessary but slightly verbose explanation of the 'include_unlisted' parameter. The structure is logical and efficient, though the second part could be tightened without losing essential information.

    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?

    The description covers the core behavior and the most intricate parameter, and an output schema exists to handle return values. However, it does not explicitly state sorting order or date range semantics, and lacks usage context relative to siblings. Given the tool's complexity, this is reasonably complete but not exhaustive.

    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?

    With 0% schema description coverage, the description is the only source for parameter meaning. It explicitly lists the options for the 'metric' parameter and explains the 'include_unlisted' parameter in detail, including its data-source implications. Other parameters like 'n' and date ranges are self-explanatory from their names and defaults, so the description adds substantial value.

    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 'Ranked content items by a chosen metric' and enumerates all supported metrics (views/likes/comments/shares/saves/conversions/revenue/engagement_rate). This specifies the verb (rank), resource (content items), and scope, effectively distinguishing it from sibling tools like get_performance_summary or detect_trending_formats.

    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 guidance on when to use this tool versus alternatives such as get_performance_summary or detect_trending_formats. The description focuses solely on functionality and parameter details, without specifying use cases, exclusions, or prerequisites.

    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, the description carries the behavioral disclosure burden. It discloses side effects (upsert into local store), a required API key, input constraints (`since` format), and CSV source layout. It leaves ambiguity around `source` in API mode and omits return/error behavior, but it covers the most operationally important behaviors.

    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 front-loaded with the primary purpose and then adds method-specific details in compact lines. Every sentence adds value, with no filler or repetition. The only minor inefficiency is the slightly vague 'active ingestion adapter' phrase, which could be replaced with a more concrete term.

    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?

    Given the tool has 3 optional parameters, no output schema, no annotations, and is flanked by query tools, this description covers the essential invocation details: method choice, source layout, API key requirement, and date filtering. It lacks return/error behavior and clarification of `source` in API mode, but the core usage context is present.

    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 description coverage is 0%, so the description must compensate. It explains the meaning of `method` by enumerating 'csv' and 'api' behaviors, details the `source` directory contents for CSV, and specifies the `since` date format. It does not clarify what `source` means for the API method, but otherwise provides substantial parameter context.

    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 states a specific action ('Pull latest data via the active ingestion adapter and upsert into the local store'), identifying both the operation (pull/upsert) and the resource (local store). This clearly differentiates sync_data from the sibling query and analysis tools, which focus on reading/presenting data rather than ingesting it.

    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 provides explicit method selection guidance: method='csv' defines the source directory and expected filenames, while method='api' pulls from the real SideShift API and requires SIDESHIFT_API_KEY. It also explains the `since` date filter. It does not explicitly state when not to use the tool or compare against alternatives, but the method-specific instructions give clear context.

    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

sideshift-scanner MCP server

Copy to your README.md:

Score Badge

sideshift-scanner 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/matthewhuang11/sideshift-scanner'

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