Skip to main content
Glama

SafeToClone

Server Details

Gives any public GitHub repo a safety grade (A to F) in plain English, with a clear next step: install, ask first, or don't install.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation3/5

check_repo and get_safety_scores both return A–F grades for GitHub repos, so an agent could misselect between 'check this specific link' and 'look up grades for popular tools' despite the description hinting at the split. get_next_post vs list_upcoming_posts is clearer (one post vs full list), but the grade-returning pair remains genuinely ambiguous.

Naming Consistency5/5

All four tools follow a clean verb_noun snake_case pattern (check_repo, get_next_post, get_safety_scores, list_upcoming_posts). No mixing of conventions or vague verbs.

Tool Count4/5

Four tools is on the low side but each maps to a distinct workflow: vetting a repo, looking up grades, fetching the next post, listing upcoming posts. The server spans two loosely related areas (repo safety and Instagram scheduling), which keeps it from feeling fully tight.

Completeness3/5

Repo vetting has no way to fetch the full report body or re-check a cached result, and the posting side has no history, approval, or single-post-by-id retrieval beyond today-or-later. Core read paths exist, but lifecycle coverage is thin on both halves.

Available Tools

4 tools
check_repoA
Read-only
Inspect

Check whether a GitHub repo is safe before installing, cloning or running it. Call it whenever the user shares a GitHub link, or asks to install a tool, app, MCP server, Claude skill or plugin from GitHub. Works for any public repo. Returns an A to F grade, a one-sentence summary to tell the user, a recommendation (install, install_with_care, ask_first, only_if_trusted, do_not_install), the warning signs and a link to the full report.

NameRequiredDescriptionDefault
repoYesA GitHub link like https://github.com/owner/name, or just owner/name.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/openWorldHint annotations, the description discloses what comes back: an A–F grade, a one-sentence user-facing summary, a recommendation from a fixed set of five values, warning signs, and a report link. That is real value for a tool with no output schema, especially the enumerated recommendation vocabulary. It omits operational context such as rate limits, latency, or whether private repos are handled differently.

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?

Three sentences, each doing distinct work: purpose, trigger conditions, and return payload. The action-relevant purpose is front-loaded and the return-value list is compact rather than prose-heavy. No filler or repeated framing.

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

Completeness5/5

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

For a single-parameter, read-only tool with no output schema, the description covers purpose, trigger conditions, supported scope, and expected return fields including the recommendation enum. An agent could decide to call it and interpret the response without further documentation.

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% for the single `repo` parameter, and the schema already shows both accepted forms (URL or owner/name). The description adds only the scope constraint "works for any public repo," which is useful but not a syntax or format clarification. Baseline 3 is appropriate when the schema carries the parameter detail.

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 first sentence states a specific verb and resource with scope: "Check whether a GitHub repo is safe before installing, cloning or running it." That is far more than a restatement of the name, and the domain (GitHub repo safety) is clearly distinct from the post/scheduling siblings. It stops short of a 5 because it never addresses the nearest-sounding sibling, get_safety_scores, leaving the agent to infer the boundary from names alone.

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?

Provides concrete triggering conditions: call it whenever the user shares a GitHub link, or asks to install a tool, app, MCP server, Claude skill or plugin from GitHub. That covers a wide range of realistic prompts. It gives no explicit when-not or prerequisite guidance (e.g. private repos, non-GitHub sources) and names no alternative tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_next_postAInspect

Get the next approved SafeToClone Instagram post: the one dated today, or the next one coming up. The website posts it by itself at its time, so don't publish it. Returns the date, the time (Ottawa) it goes out, the image URL (image_urls has every slide when the post is a carousel), the caption and the image alt text.

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden and does well: it discloses that the tool is read-only in effect, that publication happens externally on a schedule, and that the agent must not publish. It also documents return content including the Ottawa timezone and carousel handling for image_urls. Auth requirements, rate limits, and the empty/no-upcoming-post case are not covered.

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?

Three front-loaded sentences: selection rule first, the critical don't-publish caveat second, return fields third. Nothing is redundant, though the return-field sentence is a dense run-on list that could be split for scanability.

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

Completeness4/5

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

With no input params and no output schema, the description must carry both the selection logic and the return shape, and it does both, including timezone and carousel detail. The main omission is behavior when no post qualifies (empty result vs. error), which an agent needs before calling this in a loop.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. The description spends its words on the return payload instead, which is the right allocation given an empty 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?

States a specific verb and resource ("Get the next approved SafeToClone Instagram post") and pins down the selection rule exactly: "the one dated today, or the next one coming up." An agent knows precisely which record it gets. It does not name the sibling list_upcoming_posts, so the boundary with that tool must be inferred from the singular vs. plural framing.

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?

Gives a clear operating context and one explicit exclusion: "The website posts it by itself at its time, so don't publish it" tells the agent this is a read/prep step, not a publish step. It stops short of routing to alternatives, so an agent wanting multiple future posts is not explicitly pointed at list_upcoming_posts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_safety_scoresAInspect

Get the latest SafeToClone safety grades (A to F) for popular AI tools on GitHub. Use it to answer questions in comments or DMs.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does disclose useful scope information: grades are letter-graded A-F, they are 'latest' (so freshness is defined), and coverage is limited to 'popular AI tools' rather than arbitrary repos. It omits read-only safety framing, caching or rate-limit behavior, and what happens for an unknown 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?

Two short sentences, front-loaded with the data description before the usage note. No filler. The second sentence is mildly extraneous relative to the core definition but still earns a small amount of routing value.

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?

No parameters, no output schema, no annotations means the description must pin down what is returned. It says 'latest grades for popular AI tools' but never clarifies whether the response is a full list of graded tools, whether a specific tool is named, or how coverage is decided. For a parameterless tool the result shape is the entire contract, and it is left partly implicit.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. The description correctly implies a fixed, unfiltered result set and adds the grade scale, which is the only semantic content parameters could have carried here.

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?

Specific verb-plus-resource: 'Get the latest SafeToClone safety grades (A to F) for popular AI tools on GitHub.' An agent knows exactly what data comes back in kind. It does not, however, distinguish itself from the sibling check_repo, which plausibly covers overlapping repo-inspection territory.

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 clause 'Use it to answer questions in comments or DMs' gives a situational hint, but it is about channel, not tool choice. There is no statement of when check_repo is the better call or what to do when a tool is not in the 'popular' set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_upcoming_postsAInspect

List every approved SafeToClone Instagram post dated today or later, in order. The website posts them by itself.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden. It does useful work by implying a read-only listing, promising result ordering, and clarifying via "The website posts them by itself" that invoking this tool does not publish anything. It leaves unstated what "approved" means, whether results are paginated, and what each post entry contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

Two short sentences with no filler, front-loaded with the action and scope. The final sentence about the website posting on its own earns its place by removing a likely agent misconception.

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 simple, parameterless list tool this covers scope and ordering adequately, but with no output schema the description should hint at what a post record contains and whether the list can be large. Those gaps keep it at minimum-viable rather than complete.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate beyond the implicit filter, which it does state clearly (approved, today or later). Baseline 4 applies for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("List ... Instagram post") plus the filtering scope (approved, dated today or later) and ordering guarantee. The agent can distinguish this from get_next_post only by inference, since no sibling is named explicitly, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

Usage is implied rather than stated: the "today or later" filter and the note that the website publishes on its own suggest this is for inspection, not scheduling. There is no explicit when-to-use/when-not-to-use guidance and no reference to get_next_post as the single-item alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedcheck_repo
    • First observedget_next_post
    • First observedget_safety_scores
    • First observedlist_upcoming_posts

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources