Rising GitHub repos per topic, ranked by star velocity, plus repos spotted early. Free, read-only.
Maintained byupstar.dev(verified)Also a maintainer?
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Small GitHub repositories (under 1,000 stars a week ago, at least 30 days old) gaining stars at least twice as fast as in a usual week, by that ratio; optionally in one topic.
language 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
how many repositories, 1 to 50 (10 by default)
only this topic's emerging repositories (a slug from list_topics); all topics when empty
compact (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 ranks
how many places of the ranking to pass over, for the next page (next_offset of the previous answer); 0 by default, at most the number of repositories ranked
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http upstar https://upstar.dev/mcp
Small GitHub repositories (under 1,000 stars a week ago, at least 30 days old) gaining stars at least twice as fast as in a usual week, by that ratio; optionally in one topic.
| Argument | Type | Description |
|---|---|---|
| lang | string | language 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 |
| limit | integer | how many repositories, 1 to 50 (10 by default) |
| topic | string | only this topic's emerging repositories (a slug from list_topics); all topics when empty |
| detail | string | compact (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 ranks |
| offset | integer | how many places of the ranking to pass over, for the next page (next_offset of the previous answer); 0 by default, at most the number of repositories ranked |
{
"type": "object",
"properties": {
"lang": {
"enum": [
"en",
"fr"
],
"type": "string",
"description": "language 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"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "how many repositories, 1 to 50 (10 by default)"
},
"topic": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,49}$",
"maxLength": 50,
"minLength": 1,
"description": "only this topic's emerging repositories (a slug from list_topics); all topics when empty"
},
"detail": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact",
"description": "compact (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 ranks"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 10000,
"minimum": 0,
"description": "how many places of the ranking to pass over, for the next page (next_offset of the previous answer); 0 by default, at most the number of repositories ranked"
}
},
"additionalProperties": false
}A collection's ranking (score = momentum and health with the collection's weights) and its rising newcomers under 90 days old.
| Argument | Type | Description |
|---|---|---|
| lang | string | language 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 |
| limit | integer | how many ranked repositories, 1 to 50 (10 by default); newcomers come apart, 10 at most |
| detail | string | compact (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 ranks |
| offset | integer | how many places of the ranking to pass over, for the next page (next_offset of the previous answer); 0 by default, at most the number of repositories ranked |
| collection* | string | the collection's slug, from list_collections |
{
"type": "object",
"required": [
"collection"
],
"properties": {
"lang": {
"enum": [
"en",
"fr"
],
"type": "string",
"description": "language 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"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "how many ranked repositories, 1 to 50 (10 by default); newcomers come apart, 10 at most"
},
"detail": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact",
"description": "compact (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 ranks"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 10000,
"minimum": 0,
"description": "how many places of the ranking to pass over, for the next page (next_offset of the previous answer); 0 by default, at most the number of repositories ranked"
},
"collection": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,49}$",
"maxLength": 50,
"minLength": 1,
"description": "the collection's slug, from list_collections"
}
},
"additionalProperties": false
}One GitHub repository as Upstar sees it, the same facts as its Upstar page: stars and gains, its usual week, its star total week by week over 12 weeks, its topics and ranks, when Upstar spotted it, its latest release, license, activity and collections. Answers for every repository with an Upstar page, blocked or kept-out ones apart.
| Argument | Type | Description |
|---|---|---|
| lang | string | language 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 |
| repo* | string | the repository: owner/name, or its GitHub or Upstar address |
| detail | string | compact (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 ranks |
{
"type": "object",
"required": [
"repo"
],
"properties": {
"lang": {
"enum": [
"en",
"fr"
],
"type": "string",
"description": "language 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"
},
"repo": {
"type": "string",
"maxLength": 200,
"minLength": 3,
"description": "the repository: owner/name, or its GitHub or Upstar address"
},
"detail": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact",
"description": "compact (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 ranks"
}
},
"additionalProperties": false
}Upstar's collections: open-source tools that do one job, or alternatives to one product, each ranked by momentum and health. Use a slug with get_collection.
| Argument | Type | Description |
|---|---|---|
| kind | string | tooling (open-source tools for one job) or alternatives (open-source alternatives to one product); both when empty |
| lang | string | language 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 |
| detail | string | compact (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 ranks |
{
"type": "object",
"properties": {
"kind": {
"enum": [
"tooling",
"alternatives"
],
"type": "string",
"description": "tooling (open-source tools for one job) or alternatives (open-source alternatives to one product); both when empty"
},
"lang": {
"enum": [
"en",
"fr"
],
"type": "string",
"description": "language 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"
},
"detail": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact",
"description": "compact (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 ranks"
}
},
"additionalProperties": false
}Lists the topics Upstar ranks GitHub repositories in (emulation, self-hosted, Rust, MCP…): slug, name, category, description and how many repositories rank in each this week. Use a slug with topic_ranking or emerging.
| Argument | Type | Description |
|---|---|---|
| lang | string | language 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 |
| detail | string | compact (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 ranks |
| category | string | only this category's topics (a category slug from an earlier answer) |
{
"type": "object",
"properties": {
"lang": {
"enum": [
"en",
"fr"
],
"type": "string",
"description": "language 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"
},
"detail": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact",
"description": "compact (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 ranks"
},
"category": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,49}$",
"maxLength": 50,
"minLength": 1,
"description": "only this category's topics (a category slug from an earlier answer)"
}
},
"additionalProperties": false
}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; blocked or kept-out ones apart); plain matching, no AI. Repositories: exact name first, then the most stars gained this week.
| Argument | Type | Description |
|---|---|---|
| lang | string | language 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 |
| limit | integer | how many repositories, 1 to 50 (10 by default) |
| query* | string | words 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 |
| detail | string | compact (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 ranks |
{
"type": "object",
"required": [
"query"
],
"properties": {
"lang": {
"enum": [
"en",
"fr"
],
"type": "string",
"description": "language 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"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "how many repositories, 1 to 50 (10 by default)"
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "words 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"
},
"detail": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact",
"description": "compact (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 ranks"
}
},
"additionalProperties": false
}Repositories Upstar ranked before they took off: when and in which topic it first ranked them, their stars then and now. Most grown first.
| Argument | Type | Description |
|---|---|---|
| lang | string | language 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 |
| limit | integer | how many repositories, 1 to 50 (10 by default) |
| detail | string | compact (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 ranks |
{
"type": "object",
"properties": {
"lang": {
"enum": [
"en",
"fr"
],
"type": "string",
"description": "language 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"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "how many repositories, 1 to 50 (10 by default)"
},
"detail": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact",
"description": "compact (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 ranks"
}
},
"additionalProperties": false
}Ranks a topic's GitHub repositories by star velocity (stars gained ÷ √stars before) over the last 24 hours, 7 days or 30 days, with the stars each gained. Ranks are the topic's own: when one is skipped, left_out says how many repositories Upstar does not show there and why. Page with offset (next_offset).
| Argument | Type | Description |
|---|---|---|
| lang | string | language 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 |
| limit | integer | how many repositories, 1 to 50 (10 by default) |
| topic* | string | the topic's slug, from list_topics or search (rust, self-hosted, emulation…) |
| detail | string | compact (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 ranks |
| offset | integer | how many places of the ranking to pass over, for the next page (next_offset of the previous answer); 0 by default, at most the number of repositories ranked |
| period | string | day (last 24 hours), week (last 7 days, the default) or month (last 30 days) |
{
"type": "object",
"required": [
"topic"
],
"properties": {
"lang": {
"enum": [
"en",
"fr"
],
"type": "string",
"description": "language 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"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "how many repositories, 1 to 50 (10 by default)"
},
"topic": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,49}$",
"maxLength": 50,
"minLength": 1,
"description": "the topic's slug, from list_topics or search (rust, self-hosted, emulation…)"
},
"detail": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact",
"description": "compact (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 ranks"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 10000,
"minimum": 0,
"description": "how many places of the ranking to pass over, for the next page (next_offset of the previous answer); 0 by default, at most the number of repositories ranked"
},
"period": {
"enum": [
"day",
"week",
"month"
],
"type": "string",
"default": "week",
"description": "day (last 24 hours), week (last 7 days, the default) or month (last 30 days)"
}
},
"additionalProperties": false
}The fastest-rising GitHub repositories across every topic Upstar tracks, by star velocity or by stars gained, over 24 hours, 7 days or 30 days; new_only keeps repositories created in the last 7 days.
| Argument | Type | Description |
|---|---|---|
| lang | string | language 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 |
| sort | string | velocity (stars gained relative to size, the default) or gained (most stars gained, so large repositories show) |
| limit | integer | how many repositories, 1 to 50 (10 by default) |
| detail | string | compact (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 ranks |
| offset | integer | how many places of the ranking to pass over, for the next page (next_offset of the previous answer); 0 by default, at most the number of repositories ranked |
| period | string | day (last 24 hours), week (last 7 days, the default) or month (last 30 days); new_only is always the week |
| new_only | boolean | only repositories created in the last 7 days, by stars gained this week |
{
"type": "object",
"properties": {
"lang": {
"enum": [
"en",
"fr"
],
"type": "string",
"description": "language 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"
},
"sort": {
"enum": [
"velocity",
"gained"
],
"type": "string",
"default": "velocity",
"description": "velocity (stars gained relative to size, the default) or gained (most stars gained, so large repositories show)"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "how many repositories, 1 to 50 (10 by default)"
},
"detail": {
"enum": [
"compact",
"full"
],
"type": "string",
"default": "compact",
"description": "compact (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 ranks"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 10000,
"minimum": 0,
"description": "how many places of the ranking to pass over, for the next page (next_offset of the previous answer); 0 by default, at most the number of repositories ranked"
},
"period": {
"enum": [
"day",
"week",
"month"
],
"type": "string",
"default": "week",
"description": "day (last 24 hours), week (last 7 days, the default) or month (last 30 days); new_only is always the week"
},
"new_only": {
"type": "boolean",
"description": "only repositories created in the last 7 days, by stars gained this week"
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 3, 2026.