ScholarFetch

Multi-engine scholarly research server for search, traversal, full text, and reading lists.

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
97%
Integridad del esquema
68%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,425Tokens (definiciones de herramientas)
~1.6 KBTamaño de respuesta típico
Impacto moderado en la atención (1.89% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "scholarfetch": {
      "url": "https://laibniz-scholarfetch-web.hf.space/mcp/"
    }
  }
}

Puntos de conexión remotos

https://laibniz-scholarfetch-web.hf.space/mcp/streamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (12)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢scholarfetch_search(query, limit, engines)

Start a research traversal from keywords, a DOI, or a person name. Returns deduplicated paper records that you can inspect, save, expand through references, or use as seeds for author exploration. If you pass `engines`, use a comma-separated subset of: elsevier, openalex, crossref, arxiv, europepmc, springer, semanticscholar.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "title": "scholarfetch_searchArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_searchOutput"
}
⚪scholarfetch_doi_lookup(doi, engines)

Enrich one known DOI with metadata, reading links, and full-text availability signals. If you pass `engines`, use a comma-separated subset of: elsevier, openalex, crossref, arxiv, europepmc, springer, semanticscholar.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "doi": {
      "title": "Doi",
      "type": "string"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "required": [
    "doi"
  ],
  "title": "scholarfetch_doi_lookupArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_doi_lookupOutput"
}
⚪scholarfetch_author_candidates(name, limit, engines)

Disambiguate a human author name into ranked identity candidates. Use this before `scholarfetch_author_papers` when the name is ambiguous and you need a stable `candidate_index`. If you pass `engines`, it must include `openalex`.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "title": "Limit",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "title": "scholarfetch_author_candidatesArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_author_candidatesOutput"
}
⚪scholarfetch_author_papers(author_id, author_name, candidate_index, limit, filters, ...)

Expand one author into a deduplicated paper list. This is the main author->paper traversal tool and supports research filters. Use `author_id` when you already know the exact author, or `author_name` plus `candidate_index` after `scholarfetch_author_candidates`. Supported comma-separated `filters`: year>=YYYY, year<=YYYY, year=YYYY, has:abstract, has:doi, has:pdf, venue:<text>, title:<text>, doi:<text>. If you pass `engines`, it must include `openalex`.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "author_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Author Id"
    },
    "author_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Author Name"
    },
    "candidate_index": {
      "default": 1,
      "title": "Candidate Index",
      "type": "integer"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    },
    "filters": {
      "default": "",
      "title": "Filters",
      "type": "string"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_author_papersArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_author_papersOutput"
}
🟢scholarfetch_abstract(doi, author_name, candidate_index, paper_index, engines)

Read the best abstract available for a paper. Use with a DOI or with author_name + candidate_index + paper_index after author_papers. If you pass `engines`, use a comma-separated subset of: elsevier, openalex, crossref, arxiv, europepmc, springer, semanticscholar.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "doi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Doi"
    },
    "author_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Author Name"
    },
    "candidate_index": {
      "default": 1,
      "title": "Candidate Index",
      "type": "integer"
    },
    "paper_index": {
      "default": 1,
      "title": "Paper Index",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_abstractArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_abstractOutput"
}
🟢scholarfetch_article_text(doi, author_name, candidate_index, paper_index, engines)

Read full paper text when machine-readable content is recoverable. Use with a DOI or with author_name + candidate_index + paper_index. Uses Elsevier first, then open-access fallbacks such as Springer OA, Europe PMC, arXiv PDF, and generic PDF URLs when text is recoverable. If you pass `engines`, use a comma-separated subset of: elsevier, openalex, crossref, arxiv, europepmc, springer, semanticscholar.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "doi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Doi"
    },
    "author_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Author Name"
    },
    "candidate_index": {
      "default": 1,
      "title": "Candidate Index",
      "type": "integer"
    },
    "paper_index": {
      "default": 1,
      "title": "Paper Index",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_article_textArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_article_textOutput"
}
⚪scholarfetch_references(doi, author_name, candidate_index, paper_index, engines)

Expand a paper into its references. Use with a DOI or with author_name + candidate_index + paper_index. This is the main edge-expansion tool for traversing the literature graph. If you pass `engines`, use a comma-separated subset of: elsevier, openalex, crossref, arxiv, europepmc, springer, semanticscholar.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "doi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Doi"
    },
    "author_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Author Name"
    },
    "candidate_index": {
      "default": 1,
      "title": "Candidate Index",
      "type": "integer"
    },
    "paper_index": {
      "default": 1,
      "title": "Paper Index",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_referencesArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_referencesOutput"
}
🟡scholarfetch_saved_add(collection, paper_json, doi, query, result_index, ...)

Add one paper to a named in-memory reading list on the MCP server. Best input is paper_json copied from another ScholarFetch tool result, but DOI, query+result_index, or author_name+candidate_index+paper_index also work. Reuse the same collection name across calls to keep one research session together.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "collection": {
      "default": "default",
      "title": "Collection",
      "type": "string"
    },
    "paper_json": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Paper Json"
    },
    "doi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Doi"
    },
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Query"
    },
    "result_index": {
      "default": 1,
      "title": "Result Index",
      "type": "integer"
    },
    "author_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Author Name"
    },
    "candidate_index": {
      "default": 1,
      "title": "Candidate Index",
      "type": "integer"
    },
    "paper_index": {
      "default": 1,
      "title": "Paper Index",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_saved_addArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_saved_addOutput"
}
🟡scholarfetch_saved_list(collection)

List all papers currently saved in a named in-memory reading list. Use this to inspect the working set before exporting or removing items.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "collection": {
      "default": "default",
      "title": "Collection",
      "type": "string"
    }
  },
  "title": "scholarfetch_saved_listArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_saved_listOutput"
}
🔴scholarfetch_saved_remove(collection, doi, title)

Remove one paper from a named in-memory reading list by DOI or exact title.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "collection": {
      "default": "default",
      "title": "Collection",
      "type": "string"
    },
    "doi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Doi"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    }
  },
  "title": "scholarfetch_saved_removeArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_saved_removeOutput"
}
🔴scholarfetch_saved_clear(collection)

Clear all papers from a named in-memory reading list. Useful when restarting a research branch.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "collection": {
      "default": "default",
      "title": "Collection",
      "type": "string"
    }
  },
  "title": "scholarfetch_saved_clearArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_saved_clearOutput"
}
🟢scholarfetch_saved_export(collection, format, style, include_references, engines)

Export the current reading list as citations, abstracts, BibTeX, or an aggregated full-text corpus. Valid `format` values: citations, abstracts, bib, fulltext. Valid `style` values when `format=citations`: harvard, apa, ieee. Use `include_references=true` with `format=fulltext` when you want a richer downstream synthesis corpus.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "collection": {
      "default": "default",
      "title": "Collection",
      "type": "string"
    },
    "format": {
      "default": "citations",
      "title": "Format",
      "type": "string"
    },
    "style": {
      "default": "harvard",
      "title": "Style",
      "type": "string"
    },
    "include_references": {
      "default": false,
      "title": "Include References",
      "type": "boolean"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_saved_exportArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_saved_exportOutput"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada12 herramientas
verificadoversión no registrada12 herramientas