Skip to main content
Glama

Search Upstar

search
Read-onlyIdempotent

Upstar's search, the same as the site's search bar: topics by whole words (a name, slug, GitHub tag, language or keyword equal to the query, then every word of it in the topic's name, category or description) and every repository with an Upstar page (by name, description, GitHub topics and language; kept-out ones included, blocked ones apart); plain matching, no AI. Repositories: exact name first, then the most stars gained this week.

Input Schema

NameRequiredDescriptionDefault
langNolanguage of the names, descriptions and links Upstar writes: en (default at /mcp) or fr (default at /fr/mcp); repository descriptions stay as their authors wrote them
limitNohow many repositories, 1 to 50 (10 by default)
queryYeswords to look for: a repository's name or owner/name, a word of its description, a GitHub topic, a language or a topic's name
detailNocompact (the default): each repository's rank, name, description, language, stars, gains and Upstar page; full adds its creation day, health level, topics with their ranks and GitHub address, list_topics its categories, and get_repo its 12-week history, GitHub topics, activity counts and every period's rankscompact

Output Schema

NameRequiredDescriptionDefault
langYeslanguage of names and descriptions written by Upstar (en or fr)
queryYes
reposYesthe first matching repositories, best match first (exact name, then name, description, GitHub topic, language; then stars gained this week): the same as the site's search bar
sourceYesthe source to cite when using these figures
topicsYestopics matching the query by whole words, strongest first: slug, name, GitHub tag, language or keyword equal to it; then name and tags; then category; then description; the same as the site's search bar
matchesYeshow many repositories the search finds in all
left_outNomatching repositories the search does not return: blocked by Upstar, so without a page
method_urlYesUpstar's page explaining how stars are counted and repositories ranked
data_updated_atYeswhen Upstar last rebuilt its rankings from GitHub's data (UTC, RFC 3339): every figure is as of then

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / left_out / anyOf
      Previous value: -[
      -  {
      -    "type": "null"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "blocked": {
      -        "description": "blocked by Upstar's moderation",
      -        "type": "integer"
      -      },
      -      "count": {
      -        "type": "integer"
      -      },
      -      "kept_out_by_review": {
      -        "description": "reviewed, and not featured by Upstar",
      -        "type": "integer"
      -      },
      -      "no_page": {
      -        "description": "without an Upstar page this hour",
      -        "type": "integer"
      -      },
      -      "out_of_place": {
      -        "description": "judged out of place in this topic, or doubtful there, by Upstar's topic review (for a list across topics: in every one of their topics)",
      -        "type": "integer"
      -      },
      -      "waiting_for_review": {
      -        "description": "held until Upstar reviews their star growth or their content",
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "count"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "type": "null"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "blocked": {
      +        "description": "blocked by Upstar's moderation",
      +        "type": "integer"
      +      },
      +      "count": {
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "count"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / left_out / description
      Previous value: -"matching repositories the search does not return: blocked, or kept out by Upstar's review"New value: +"matching repositories the search does not return: blocked by Upstar, so without a page"
  2. Changed2 schema fields changed
    • changedOutput schema / properties / left_out / anyOf
      Previous value: -[
      -  {
      -    "type": "null"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "blocked": {
      -        "description": "blocked by Upstar's moderation",
      -        "type": "integer"
      -      },
      -      "count": {
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "count"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "type": "null"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "blocked": {
      +        "description": "blocked by Upstar's moderation",
      +        "type": "integer"
      +      },
      +      "count": {
      +        "type": "integer"
      +      },
      +      "kept_out_by_review": {
      +        "description": "reviewed, and not featured by Upstar",
      +        "type": "integer"
      +      },
      +      "no_page": {
      +        "description": "without an Upstar page this hour",
      +        "type": "integer"
      +      },
      +      "out_of_place": {
      +        "description": "judged out of place in this topic, or doubtful there, by Upstar's topic review (for a list across topics: in every one of their topics)",
      +        "type": "integer"
      +      },
      +      "waiting_for_review": {
      +        "description": "held until Upstar reviews their star growth or their content",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "count"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / left_out / description
      Previous value: -"matching repositories the search does not return: blocked by Upstar, so without a page"New value: +"matching repositories the search does not return: blocked, or kept out by Upstar's review"
  3. Changed2 schema fields changed
    • changedOutput schema / properties / left_out / anyOf
      Previous value: -[
      -  {
      -    "type": "null"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "blocked": {
      -        "description": "blocked by Upstar's moderation",
      -        "type": "integer"
      -      },
      -      "count": {
      -        "type": "integer"
      -      },
      -      "kept_out_by_review": {
      -        "description": "reviewed, and not featured by Upstar",
      -        "type": "integer"
      -      },
      -      "no_page": {
      -        "description": "without an Upstar page this hour",
      -        "type": "integer"
      -      },
      -      "out_of_place": {
      -        "description": "judged out of place in this topic, or doubtful there, by Upstar's topic review (for a list across topics: in every one of their topics)",
      -        "type": "integer"
      -      },
      -      "waiting_for_review": {
      -        "description": "held until Upstar reviews their star growth or their content",
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "count"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "type": "null"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "blocked": {
      +        "description": "blocked by Upstar's moderation",
      +        "type": "integer"
      +      },
      +      "count": {
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "count"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / left_out / description
      Previous value: -"matching repositories the search does not return: blocked, or kept out by Upstar's review"New value: +"matching repositories the search does not return: blocked by Upstar, so without a page"
  4. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the read-only, idempotent, closed-world safety profile, so the description earns credit for adding real search semantics: whole-word matching, no AI, inclusion of kept-out repositories, blocked ones separated out, and result ordering. It stops short of describing pagination or how blocked results are surfaced in the response.

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 dense sentences, front-loaded with the topics scope and then repositories, with ordering rules last. Parenthetical asides are compact and every clause carries information; nothing is wasted despite the length.

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?

An output schema exists, so return values need no explanation, and the description covers what is searched, matching rules, and ordering. The one gap is guidance on choosing this tool over the ranking siblings, which matters given eight related tools.

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 coverage is 100%, so the schema already documents all four parameters, including the lang and limit defaults and the detail enum's full vs compact payloads. The description adds no parameter-level detail beyond the schema, so baseline 3 applies.

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?

States a specific verb and dual resource scope: it searches topics by whole-word matching and every repository with an Upstar page, and it explicitly excludes AI matching ("plain matching, no AI"). It also says how results are ordered (exact name first, then weekly star gains), which distinguishes it from ranking siblings like trending or topic_ranking.

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 positions the tool as "the same as the site's search bar," giving implied usage, and it names what is included versus excluded (kept-out included, blocked apart). However, it never states when to prefer this over siblings such as trending, emerging, spotted_early, or topic_ranking, nor when not to use it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources