Skip to main content
Glama

Get Repositories

get_repositories
Read-onlyIdempotent

Find IMPLEMENTATIONS of a paper (by arXiv id): the linked GitHub repository plus the most popular Hugging Face models, demo Spaces, and datasets that implement or reproduce it — the "papers with code" view. Use for "code/implementation for ", "models trained on ".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
arxiv_idYesarXiv identifier (e.g. "2312.00752").

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
totalYesTotal number of repositories linked to the paper
paper_idYesThe paper ID queried
repositoriesYesArray of repository objects

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "id": "attention-is-all-you-need"
      -  }
      -]New value: +[
      +  {
      +    "arxiv_id": "2312.00752"
      +  }
      +]
  2. Changed3 schema fields changed
    • addedInput schema / properties / arxiv_id
      Added value: +{
      +  "description": "arXiv identifier (e.g. \"2312.00752\").",
      +  "type": "string"
      +}
    • removedInput schema / properties / id
      Removed value: -{
      -  "description": "Papers With Code paper ID",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "id"
      -]New value: +[
      +  "arxiv_id"
      +]
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "paper_id": {
      +      "description": "The paper ID queried",
      +      "type": "string"
      +    },
      +    "repositories": {
      +      "description": "Array of repository objects",
      +      "items": {
      +        "properties": {
      +          "description": {
      +            "description": "Repository description",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "framework": {
      +            "description": "Framework used in the repository",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "description": "Repository ID",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "is_official": {
      +            "description": "Whether this is the official implementation",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "name": {
      +            "description": "Repository name",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "owner": {
      +            "description": "Repository owner",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "stars": {
      +            "description": "Number of stars on the repository",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "url": {
      +            "description": "Repository URL",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "url",
      +          "owner",
      +          "name",
      +          "description",
      +          "stars",
      +          "framework",
      +          "is_official"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total": {
      +      "description": "Total number of repositories linked to the paper",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "paper_id",
      +    "total",
      +    "repositories"
      +  ],
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "id": "attention-is-all-you-need"
      +  }
      +]
  5. First observed

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, signaling safe retrieval. Description adds minor behavioral details like returning 'most popular' items and a 'papers with code' view, but does not substantially expand on the safety profile.

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 sentences, no redundant words. Front-loaded with the primary action and resource. Every part 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?

Given the simple parameter set (1 required), full annotations, and existence of an output schema, the description is nearly complete. It could explicitly mention that a list is returned, but that is implied.

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?

Only one parameter (arxiv_id) with 100% schema description coverage. The description does not add meaning beyond what the schema already states (arXiv identifier with example). Baseline score of 3 is appropriate.

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?

Description specifies a concrete verb ('Find') and resource ('implementations of a paper by arXiv id'), listing specific output types (GitHub repo, Hugging Face models, demo Spaces, datasets). It clearly distinguishes from sibling tools like 'get_paper' or 'search_papers' by focusing on implementations.

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?

Description provides explicit usage contexts: 'code/implementation for <paper>', 'models trained on <paper>. It does not mention when not to use, but the purpose is distinct enough that alternatives are implied from the sibling list.

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.

TDQS

A3.8/5.0
Disambiguation2/5

Several tools form overlapping families: ask_pipeworx and ask_pipeworx_beta are currently identical, ask_pipeworx_grounded and deep_research cover much of the same router territory, and five Polymarket tools overlap heavily on edge/arbitrage analysis. The descriptions are detailed, but an agent would regularly need to compare multiple near-equivalent candidates before choosing one.

Naming Consistency3/5

Names are consistently snake_case and readable, but the conventions vary widely: verb_noun (search_papers, resolve_entity), noun phrases (entity_profile, polymarket_arbitrage, recent_changes), bare verbs (remember, subscribe, forget), and suffixed variants (ask_pipeworx_beta, ask_pipeworx_grounded). It is not chaotic, but there is no single predictable pattern.

Tool Count2/5

Thirty-five tools is far too many for a server named Paperswithcode, especially since only four tools actually relate to papers while the rest cover data routing, prediction markets, memory, subscriptions, npm auditing, llms.txt generation, and AI visibility. The count feels bloated and the scope unfocused relative to the server's apparent identity.

Completeness3/5

The paper-discovery subdomain is reasonably covered with search, trending, detail, and implementation lookup, and the broader set includes discovery, memory, subscription lifecycle, and feedback tools. However, the overall surface is a patchwork of unrelated domains with no well-defined boundary, and paper datasets/models can only be counted rather than directly listed. Agents can work around most gaps, but the coverage is uneven.