repocritics-mcp-server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@repocritics-mcp-serverShow me the scores and reviews for expressjs/express"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-serverAnything 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-serverNo 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 |
| Full-text search across the corpus. |
| The community wiki page for one repository. |
| Metadata and scores for one repository. Same arguments. |
| Community reviews for one repository. Same, plus |
| Every category with the tag filters that define it. |
| Tag vocabulary across the corpus, most frequent first. Optional |
| 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 |
| Wiki page as markdown |
| Reviews as JSON |
| 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 |
|
| 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 sourceLicense
MIT — see LICENSE. Wiki content is CC-BY-SA 4.0 and licensed separately.
Available Tools
7 toolsget_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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| owner | Yes | ||
| platform | Yes |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| owner | Yes | ||
| platform | Yes | e.g. "github", "gitlab". |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| owner | Yes | ||
| platform | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| limit | No | Max reviews (1-50). Default 10. | |
| owner | Yes | ||
| platform | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max tags (1-200). Default 50. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Optional tag filter. | |
| limit | No | Max results (1-50). Default 10. | |
| query | Yes | Search query. | |
| category | No | Optional category slug filter. |
TDQS
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.
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.
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.
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.
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.
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.
7 tool updates
v0.1.0- First observed
get_ai_report - First observed
get_repo - First observed
get_wiki - First observed
list_categories - First observed
list_reviews - First observed
list_tags - First observed
search_repos
TDQS
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.
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.
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.
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
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
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
A cited wiki of your GitHub repo: search, read pages, find symbols and ask, with line citations.
Ask any GitHub repository a question. Get source-backed answers.
Search verified Claude Code plugins and skills; fetch portable SKILL.md sources. Read-only.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables analysis and querying of Git repository content (both public and private) through a unified tool that provides repository summaries, file structures, and full content optimized for LLM consumption.1-
- AlicenseNot gradedqualityCmaintenanceProvides read-only access to Cordra digital object repositories, enabling AI assistants to explore schemas, retrieve objects, and search using Lucene queries.1MIT
- AlicenseBqualityBmaintenanceProvides read-only hybrid RAG search and discovery over a local-first AI knowledge corpus, enabling semantic and keyword search, browse, digest, and status tools.4PolyForm Noncommercial 1.0.0
- AlicenseBqualityCmaintenanceEnables read-only search over a curated, provenance-preserving corpus of EVM smart-contract security knowledge, providing tools for retrieving audit findings, document context, and source information.5MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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