Skip to main content
Glama
repocritics

repocritics-mcp-server

Official
by repocritics

repocritics-mcp-server

An MCP server that gives an agent read access to the RepoCritics corpus: community-written summaries of open-source repositories, plus the scores and reviews behind them.

The point is that the summarising has already happened. Asking "is this library still maintained, and what do people actually complain about?" normally means reading a README, skimming a release feed, and sampling four issue threads. Here it is one call that returns a page someone already wrote.

Read-only, no API key, free.

Install

Claude Code — nothing to install first:

claude mcp add repocritics -- npx -y repocritics-mcp-server

Anything else — add to your client's MCP config:

{
  "mcpServers": {
    "repocritics": {
      "command": "npx",
      "args": ["-y", "repocritics-mcp-server"]
    }
  }
}

Or install it globally and drop the npx:

npm install -g repocritics-mcp-server

No configuration follows. The server talks to the public REST API over HTTPS; nothing is stored locally and no credentials are involved.

Related MCP server: cordra-mcp

Tools

Tool

What it returns

search_repos

Full-text search across the corpus. query, optional category, tag, limit.

get_wiki

The community wiki page for one repository. platform, owner, name.

get_repo

Metadata and scores for one repository. Same arguments.

list_reviews

Community reviews for one repository. Same, plus limit.

list_categories

Every category with the tag filters that define it.

list_tags

Tag vocabulary across the corpus, most frequent first. Optional limit.

get_ai_report

A cached deep-analysis report, when one exists for the repository.

get_wiki is the one worth reaching for first — it is the summarised form the whole project exists to produce.

Resources

URI

Content

repocritics://wiki/{platform}/{owner}/{name}

Wiki page as markdown

repocritics://reviews/{platform}/{owner}/{name}

Reviews as JSON

repocritics://feed/global

Atom feed of recent review activity

Coverage

The corpus is seeded, not exhaustive — roughly two thousand repositories at the time of writing. search_repos is the cheapest way to check whether something is present before asking for it by name; a miss comes back as an explicit "not in the corpus" rather than an empty page.

Rate limits

100 requests per endpoint per day, per IP. No key, so nothing to rotate.

Responses are edge-cached, and a cached response never reaches the counter — repeated reads of the same page are effectively free. In practice the ceiling is only met by walking the corpus with a fresh query each time, which is what it is there for.

Going over returns a plain message with the time until the quota resets. If the limit is genuinely in your way, open an issue.

Configuration

Variable

Default

Purpose

REPOCRITICS_API_BASE

https://repocritics.com/api/v1

Point at a local or staging deployment

Using the data

Wiki pages are written by contributors at github.com/repocritics/wiki and licensed CC-BY-SA 4.0. Quote them, build on them, feed them to a model — attribute RepoCritics and link back.

The API is also described as OpenAPI 3.1 and advertised through an ARD catalog, if you would rather call it directly than through MCP.

Development

npm install
npm run build
npm run dev      # run from source

License

MIT — see LICENSE. Wiki content is CC-BY-SA 4.0 and licensed separately.

Available Tools

7 tools
get_ai_reportA

Tier-2 premium AI report content for a repo. Only returns a cached non-expired report; generation requires payment via the web app.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
ownerYes
platformYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses a key behavioral trait—only cached non-expired reports are returned—and notes that generation requires payment via web app. This goes beyond a simple 'gets a report.'

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 two sentences, with the core purpose and then the key constraint. Every word contributes meaning. No fluff or redundancy.

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 3-parameter tool, this description effectively conveys purpose, limitation, and payment requirement. However, without an output schema or parameter details, it leaves some ambiguity about return format and error conditions, but overall it is quite complete given its simplicity.

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 does not explain the parameters (platform, owner, name). While the context 'for a repo' implies the parameters identify a repository, no explicit mapping or format is given. The description fails to compensate for the missing schema info.

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 returns 'Tier-2 premium AI report content' for a repo, which is a specific resource and action. It distinguishes itself from sibling tools like get_repo and get_wiki by focusing on the AI report and its cached-only nature.

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?

The description provides clear context: this tool only returns cached, non-expired reports, implying that fresh generation would require the web app. While it doesn't explicitly name an alternative tool, the limitation is clearly communicated.

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

get_repoA

Fetch metadata + scores for one repo (canonical_url, description, stars, forks, license, topics, critics_score, audience_score, final_score, category, staleness).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
ownerYes
platformYese.g. "github", "gitlab".

TDQS

A3.7/5.0
Behavior3/5

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

The description conveys a read-only operation via the verb 'Fetch' and lists the output fields, which is transparent about what data is returned. However, with no annotations provided, the description carries the full burden for behavioral disclosure, yet it does not mention authentication, error behavior (e.g., if repo not found), or rate limits. It meets a baseline but leaves 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 a single, well-structured sentence that front-loads the main purpose ('Fetch metadata + scores for one repo') and then enumerates the specific fields returned. It is concise, contains no redundant or filler words, and every element adds value.

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 fetch tool with three parameters and no output schema, the description adequately covers the return values by listing all key fields. It does not discuss edge cases like missing repos or auth, but given the tool's simplicity, the description is largely complete for an AI agent to understand what to expect.

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 low (33%), with only 'platform' having a description. The tool description does not clarify the 'owner' or 'name' parameters, nor does it add any detail about how the parameters should be formatted or their meaning beyond the schema. It fails to compensate for the low schema coverage.

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 uses a specific verb ('Fetch') with a clear resource ('metadata + scores for one repo'), explicitly scoping to a single repository. It distinguishes from siblings like search_repos by indicating this tool targets one specific repo rather than searching across many, and it lists the concrete fields returned.

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: when you need details for a specific repo, use get_repo. However, it does not explicitly state when to use this tool versus siblings like search_repos or get_wiki, nor does it mention any exclusions or prerequisites. The guidance is implicit rather than explicit.

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

get_wikiA

Fetch the Tier-1 wiki content + tags for one repo. The wiki is RepoCritics' free, community-vetted summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
ownerYes
platformYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden of disclosing behavioral traits. It only states 'Fetch' (implied read-only) and describes the content as 'free, community-vetted', but does not mention permissions, rate limits, pagination, error behavior, or return format. Minimal behavioral transparency.

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—two short sentences that immediately state the function and purpose. Every word adds value, with no fluff or repetition.

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 tool is simple (a single-repo fetch with no output schema), and the description explains what is returned ('wiki content + tags'). It defines the 'wiki' term to avoid confusion. Minor gaps (no mention of return encoding or errors) are acceptable given the simplicity.

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 coverage is 0% and the description does not explain the three parameters (platform, owner, name). The only hint is 'one repo', which implies owner/name, but no explicit parameter semantics are given. The description fails to compensate for the lack of schema descriptions.

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 verb 'Fetch' and the resource 'Tier-1 wiki content + tags' for a single repo, which distinguishes it from sibling tools like search_repos or list_reviews. It is specific and unambiguous.

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?

The phrase 'for one repo' provides clear context that this tool is for fetching wiki content for a specific repository, not for searching or listing. It lacks formal exclusions or alternative mentions, but the scope is evident enough.

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

list_categoriesA

All RepoCritics categories with their tag filters. Useful for category-level navigation.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/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 explains the data returned (categories and tag filters) but does not explicitly state it's a read-only operation or disclose any limitations. For a simple list tool, this is adequate but not rich.

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 two sentences, front-loaded with the core purpose and followed by a usage hint. Every word contributes.

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?

Given the tool's simplicity (no params, no output schema), the description covers what it does and provides a use case. It also distinguishes from siblings sufficiently.

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 has zero parameters, so the schema is complete. The baseline is 4, and the description doesn't need to add parameter information.

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 'All RepoCritics categories with their tag filters,' clearly indicating the tool returns all categories. It distinguishes from sibling tools like list_reviews and list_tags by focusing on categories, though it lacks an explicit verb like 'list'.

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?

'Useful for category-level navigation' provides a clear context for when to use the tool, but it does not explicitly mention alternatives or exclusions, so it falls short of a full usage guideline.

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

list_reviewsB

Recent community reviews for one repo (newest first).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
limitNoMax reviews (1-50). Default 10.
ownerYes
platformYes

TDQS

B3.3/5.0
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 behavioral disclosure burden. It discloses the sorting order and single-repo scope, but does not mention authentication, rate limits, what a 'review' includes, pagination, or error behavior. The description is minimal and leaves significant behavioral aspects unspecified.

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 directly states what the tool does and the ordering. There is zero wasted wording, and the key information is 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?

Given the tool has 4 parameters, no output schema, and no annotations, the description is too sparse to be fully actionable. It does not explain the return format, whether ratings/text are included, how 'recent' is defined, or any pagination details. The agent would need to guess or discover these behaviors, making the description incomplete for a list-type tool.

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 only 25% (only 'limit' has a description). The description does not explain the roles of 'platform', 'owner', and 'name' beyond implying they identify a repo. It does not compensate for the lack of parameter documentation, leaving the agent to infer meaning from the tool name and schema property 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 uses a specific verb ('reviews') and resource ('one repo') with scope ('newest first'). It clearly distinguishes from sibling tools like get_repo, get_wiki, and search_repos, which serve different purposes.

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 usage context is implied: to get reviews for a specific repo. However, there is no explicit guidance on when to prefer this over alternatives or when not to use it. The sibling tools are distinct enough that the intended use is fairly clear, but no explicit alternatives or exclusions are mentioned.

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

list_tagsC

Most-used tags across the wiki corpus.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax tags (1-200). Default 50.

TDQS

C2.8/5.0
Behavior2/5

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

No annotations exist, so the description must convey behavioral traits. It states the output is 'most-used tags' but does not define the ranking metric, ordering, whether the limit truncates results, or if the operation is read-only (though implied). This leaves significant ambiguity 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.

Conciseness3/5

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

The description is extremely short and contains no filler, but 'Most-used tags across the wiki corpus' is a fragment that lacks a predicate. It is under-specified rather than efficiently concise, though it is 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?

Given there is no output schema and no annotation safety information, the description should explain what the returned data looks like or mention when this tool is appropriate. Neither the description nor adjacent annotations provide such context, leaving the tool incomplete for a model to select confidently.

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 fully describes the 'limit' parameter with type, range, and default, so the description does not need to add parameter details. It adds no new parameter semantics but the schema coverage is high (100%), earning the baseline score of 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 identifies the resource (tags) and scope (wiki corpus), and 'most-used' signals an aggregation. While the sentence lacks an explicit verb, the tool name 'list_tags' supplies it, making the purpose reasonably clear. It is distinct from sibling list_categories or list_reviews.

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 about when to use this tool instead of alternatives such as list_categories or search_repos. There are no prerequisites, typical scenarios, or exclusions described.

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

search_reposA

Full-text search across the RepoCritics seeded corpus. Returns matching repos with brief metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoOptional tag filter.
limitNoMax results (1-50). Default 10.
queryYesSearch query.
categoryNoOptional category slug filter.

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the burden. It discloses the core behavior (full-text search, returns matching repos) but does not explicitly state read-only nature, authorization needs, or rate limits. The limited disclosure is acceptable for a search tool but not comprehensive.

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 fluff. Front-loaded with the core function.

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?

With no output schema, the description's 'brief metadata' is vague. It does not describe pagination, filtering behavior, or output format. However, the schema covers the parameters, and the tool is relatively simple.

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 covers 100% of parameters, so baseline is 3. The description adds no parameter-specific semantics beyond 'full-text search,' and does not explain how tag/category filters interact.

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 uses the specific verb 'search' and identifies the resource 'RepoCritics seeded corpus,' clearly distinguishing from sibling tools like get_repo and list_reviews.

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?

While the description makes the search function clear, it provides no explicit guidance on when to prefer this tool over get_repo or list_categories. The context is implied rather than stated.

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. Dates show when Glama detected each change.

  1. 7 tool updatesv0.1.0
    • First observedget_ai_report
    • First observedget_repo
    • First observedget_wiki
    • First observedlist_categories
    • First observedlist_reviews
    • First observedlist_tags
    • First observedsearch_repos

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct resource or action: search, repo metadata, wiki, reviews, categories, tags, and AI reports. There is no ambiguity between tools; even search_repos and get_repo are clearly differentiated by scope.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (search_repos, get_repo, get_wiki, list_reviews, list_categories, list_tags, get_ai_report). The naming style is uniform and predictable.

Tool Count5/5

With 7 tools, the server is well-scoped for a repository information service. Each tool earns its place, covering search, individual fetching, lists, and premium content without redundancy.

Completeness4/5

The tool set covers the main read-only operations for the RepoCritics corpus: searching repos, fetching metadata, wiki, reviews, categories, tags, and AI reports. Minor gaps exist, such as no way to fetch a single review or filter repos by category directly, but these are not critical for the core workflow.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only access to Cordra digital object repositories, enabling AI assistants to explore schemas, retrieve objects, and search using Lucene queries.
    1
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Provides read-only hybrid RAG search and discovery over a local-first AI knowledge corpus, enabling semantic and keyword search, browse, digest, and status tools.
    4
    PolyForm Noncommercial 1.0.0

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/repocritics/mcp-server'

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