Skip to main content
Glama
Moreti2002

Polymath MCP

by Moreti2002

Polymath MCP

An MCP (Model Context Protocol) server that aggregates free, keyless research sources for computer science, computer engineering, electronics and IT.

One server, one normalized output format, seventeen data sources. Every source works without an API key and without payment. Results from different sources are merged and deduplicated by DOI and arXiv id, so the same paper found on arXiv, Crossref and OpenAlex comes back as a single record that combines the best fields of each.

Why

Research data is scattered across many APIs, each with its own format, quirks and rate limits. Existing MCP servers each cover one slice. Polymath gives an agent a single interface where a paper, its open-access PDF, its citation count, its implementation on GitHub, the model trained from it on Hugging Face and the practical discussion around it on Hacker News or Stack Exchange are all one tool call apart.

Related MCP server: Academic Paper MCP HTTP/SSE Server

Tools

Tool

What it does

Sources

search_papers

Search academic papers, deduplicated across sources

arXiv, Crossref, DBLP, Europe PMC, OpenAlex, CORE, Zenodo, Semantic Scholar, Hugging Face Papers

get_paper

Resolve one paper by DOI or arXiv id, merging every source that knows it, including open-access PDF link and citation counts

the above, plus Unpaywall and OpenCitations

search_code

Find repositories, e.g. the implementation of a paper

GitHub

search_hub

Search models or datasets, with links back to their papers

Hugging Face Hub

search_trends

Practitioner discussions and relevance signals

Hacker News, Stack Overflow, Electronics Stack Exchange

search_standards

RFCs and Internet-Drafts

IETF Datatracker

search_components

Electronic component documents: scanned datasheets and KiCad symbols

Internet Archive, KiCad libraries

list_sources

List every source and its category

-

Every search response is an envelope with results, sources_ok and sources_failed. Partial failure is the normal case for an aggregator: when a source is down or rate-limited, the others still answer and the envelope says exactly which sources contributed.

Installation

Requires Python 3.11+.

pip install git+https://github.com/Moreti2002/polymath-mcp

Or from a clone:

git clone https://github.com/Moreti2002/polymath-mcp
cd polymath-mcp
pip install .

Claude Code

claude mcp add polymath -- polymath-mcp

Claude Desktop / other MCP clients

{
  "mcpServers": {
    "polymath": {
      "command": "polymath-mcp"
    }
  }
}

Configuration

No API keys are needed. One optional environment variable:

  • POLYMATH_EMAIL: a real contact e-mail. Unlocks the Unpaywall source (which requires it) and puts Crossref requests in its polite pool with better rate limits. Without it everything else still works.

{
  "mcpServers": {
    "polymath": {
      "command": "polymath-mcp",
      "env": { "POLYMATH_EMAIL": "you@example.com" }
    }
  }
}

Sources and their limits

All limits below are for keyless access, as observed in practice.

Source

Role

Keyless limit

arXiv

CS/EE preprints, primary

1 request / 3 s (self-imposed politeness)

Crossref

DOI metadata, primary

3 req/s in the polite pool

DBLP

Canonical CS bibliography (venues)

~1 req/s, aggressive blocking on bursts

Europe PMC

Full-text biomedical + applied ML

~10 req/s

OpenAlex

Enrichment by DOI (free); text search is credit-rationed (~100 searches/day)

1000 credits/day/IP

CORE

Institutional repository full-text

~10 req/min

Zenodo

Software and datasets with DOIs

30 req/min

Semantic Scholar

Citation graph, best effort only

shared anonymous pool, frequent 429

Unpaywall

Open-access PDF resolution by DOI

100k/day, requires POLYMATH_EMAIL

OpenCitations

Citation counts and references

unthrottled, high latency

GitHub

Repository search

10 req/min

Hugging Face

Models, datasets, papers

generous, undocumented

Hacker News (Algolia)

Discussion search

~10k req/h

Stack Exchange

Stack Overflow + Electronics SE

300 req/day/IP

IETF Datatracker

RFCs and drafts

unthrottled

Internet Archive

Scanned datasheets and databooks

unthrottled

KiCad libraries (GitLab)

Component symbol existence

unthrottled

The server caches responses in memory and throttles each source to stay within these limits. Sources with hard daily budgets (Stack Exchange, OpenAlex search) are cached the longest.

Known coverage gaps

  • There is no legitimate keyless API for commercial electronic component catalogs (Octopart/Nexar, Digi-Key and Mouser all require credentials). search_components covers what keyless sources can: scanned datasheets on the Internet Archive and KiCad symbol libraries. For part selection discussion, search_trends includes the Electronics Stack Exchange.

  • Papers with Code shut down in 2025; its role is covered by the Hugging Face Papers source.

  • Semantic Scholar without a key shares a global anonymous pool and fails often. It is wired as best-effort and never blocks a search.

Architecture

src/polymath/
  server.py        MCP server and tool definitions
  models.py        normalized result models (Paper, CodeRepo, HubItem, ...)
  aggregate.py     concurrent fan-out with per-source failure isolation
  dedupe.py        cross-source paper merging (DOI, arXiv id, title)
  http.py          shared HTTP client, retries, per-source throttling
  cache.py         in-memory TTL cache
  providers/       one module per source, registered in a plug-in registry

Adding a source is one file: subclass Provider (or PaperLookupProvider), map the API response to the normalized models, decorate the class with @register. The aggregator, dedupe and MCP tools pick it up automatically.

Development

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

pytest -m "not live"   # offline tests (mocked HTTP)
pytest -m live         # integration tests against the real APIs

Offline tests must always pass. Live tests depend on third-party services and may fail when a source is down or rate-limited; CI runs them as non-blocking.

License

MIT. See LICENSE.

Available Tools

8 tools
get_paperA

Get details for one paper by DOI (e.g. '10.1145/3600006') or arXiv id (e.g. '2301.12345' or 'arXiv:2301.12345'). Merges metadata from every source that knows the paper, including an open-access PDF link when one exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalNo
resultsNo
sources_okNo
sources_failedNo

TDQS

A4.6/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 key behaviors: merging metadata from all known sources and including an open-access PDF link when available. It doesn't mention error handling or response formats, but for a read operation this is sufficient context.

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, front-loaded with the verb and resource. Every word earns its place—no filler, no repetition of schema details, and the identifier examples are compact and illustrative.

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?

The tool is simple (one parameter, one paper lookup). The description explains what to pass and what the result contains (merged metadata, PDF link). With an output schema present, this is complete for the tool's scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description fully compensates by explaining the 'identifier' parameter accepts DOI or arXiv ID with concrete examples showing accepted formats. This is far more informative than a generic schema.

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's function: 'Get details for one paper by DOI or arXiv id'. It specifies the resource (paper), the action (get details), and the identifier types, distinguishing it from sibling search tools.

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 implies when to use this tool: when you have a specific DOI or arXiv ID. It contrasts with sibling search tools by focusing on direct identifier lookup, though it doesn't explicitly name alternatives or exclusions.

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

list_sourcesA

List every available data source and the category it serves.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full responsibility for disclosing behavior. It states that it lists all sources and their categories, but does not mention potential limitations, whether it is read-only, or how the data is returned. For a simple list operation this may be adequate, but more detail would be helpful.

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 communicates the purpose and scope without any filler. It is front-loaded with the action verb and clearly structured.

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 zero parameters and the existence of an output schema (which the description need not explain), this one-sentence description is complete. It fully explains what the tool does and is appropriate for the simple complexity of this listing operation.

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 input schema is empty. The description appropriately focuses on the action and result rather than parameter details. Since there are no parameters, there is nothing more to explain, and the baseline 4 applies.

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 ('List') and clearly identifies the resource ('every available data source') and the scope (including the category it serves). This distinguishes it from the sibling search tools, which are for finding specific papers, code, trends, etc., not for enumerating all sources.

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 implies the usage context: when you need to enumerate all available data sources rather than search for specific content. However, it does not explicitly state when not to use it or mention alternatives, but the sibling tools are distinct enough that the intended use is clear.

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

search_codeA

Search code repositories on GitHub, e.g. to find the implementation of a paper or a library. Optionally filter by programming language.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
languageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalNo
resultsNo
sources_okNo
sources_failedNo

TDQS

A3.9/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 for behavioral disclosure. It states the basic function and location (GitHub) but does not mention any behavioral traits such as result limits, pagination, or permission requirements. The example adds context but no extra transparency beyond the core operation.

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, front-loaded sentence with no filler. Every word adds value, including the example use case and the optional filter note. Ideal conciseness.

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 (three parameters) and an output schema exists, so return values do not need explanation. The description covers the essential purpose and the main filter. It loses a point because parameter semantics for query/limit are absent, but overall it is sufficiently complete for a basic search 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 0%, so the description must compensate. It only clarifies the 'language' parameter ('filter by programming language'), leaving 'query' and 'limit' without additional meaning. The one helpful hint is insufficient for a zero-coverage schema.

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 states a specific verb ('Search') and resource ('code repositories on GitHub'), with a concrete example of use (finding implementations of papers/libraries). This clearly distinguishes it from sibling tools like search_papers or search_trends, which target other entity types.

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 for when to use the tool ('to find the implementation of a paper or a library') and mentions an optional filter (programming language). However, it does not explicitly name alternatives or state when not to use this tool, so it falls short of a full 5.

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

search_componentsA

Search electronic component information from keyless sources: scanned datasheets and databooks on the Internet Archive and KiCad symbol libraries (which confirm a part's existence and canonical naming). No keyless commercial parts API exists, so coverage is partial; for practical component discussion also try search_trends, which covers the Electronics Stack Exchange.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalNo
resultsNo
sources_okNo
sources_failedNo

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It explains the tool queries keyless sources, clarifies scope (existence/canonical naming), and acknowledges partial coverage. However, it omits details like result format or pagination, though an output schema exists.

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 primary action ('Search electronic component information'), and contains no filler or redundant information.

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 output schema and simple parameters, the description provides sufficient context about purpose and limitations, but the lack of parameter guidance slightly reduces completeness.

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?

The schema documents query (string, required) and limit (integer, default 10) but with 0% description coverage. The description does not elaborate on acceptable query formats, how limit behaves, or what constitutes a good query, so it fails to compensate for the schema's lack of 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 opens with a specific verb+resource ('Search electronic component information') and names two concrete source types (Internet Archive databooks, KiCad symbol libraries), which clearly distinguishes it from sibling search tools like search_papers and search_code.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states a coverage limitation ('No keyless commercial parts API exists, so coverage is partial') and directs users to an alternative for practical discussion ('for practical component discussion also try search_trends'), which is strong when-to-use vs. alternative guidance.

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

search_hubA

Search the Hugging Face Hub for models or datasets. kind is either 'models' or 'datasets'. Results include linked arXiv ids when available, which connects a model or dataset back to its paper.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNomodels
limitNo
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalNo
resultsNo
sources_okNo
sources_failedNo

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 burden of behavioral disclosure. It adds useful context about results including 'linked arXiv ids when available,' which is a behavioral trait beyond the basic search action. However, it does not mention other behaviors like sorting, pagination, or that it is a read-only operation, though 'Search' implicitly suggests read-only.

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 main purpose. The second sentence adds a valuable detail about arXiv ids without extra fluff. Every word earns its place, and it is appropriately concise.

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 tool's simplicity, the description covers the core behavior and scope. An output schema exists, so return values are already documented. The description explains the 'kind' parameter and the arXiv linking behavior, which are the non-obvious aspects. No significant gaps remain for a straightforward search tool.

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 description coverage is 0%, so the description must compensate. It explains the 'kind' parameter with valid values ('models' or 'datasets'), adding meaning beyond the schema. The 'query' and 'limit' parameters are left implicit, but their purposes are reasonably obvious from their names and types, so the compensation is partial.

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's function: 'Search the Hugging Face Hub for models or datasets.' This uses a specific verb and resource, and distinguishes from sibling tools like search_papers and search_code by focusing on models/datasets. It also adds a unique detail about linking arXiv ids.

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 for when to use the tool: 'for models or datasets,' and explains the 'kind' parameter to select one or the other. It doesn't explicitly exclude alternatives or mention sibling tools, but the scope is clearly implied, giving no confusion about its intended use.

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

search_papersA

Search academic papers across arXiv, OpenAlex, Crossref, DBLP, Europe PMC and Semantic Scholar. Results are deduplicated by DOI/arXiv id and sorted by citation count. Optionally restrict to specific sources or a year range.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
sourcesNo
year_toNo
year_fromNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalNo
resultsNo
sources_okNo
sources_failedNo

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses deduplication logic (DOI/arXiv id) and sorting by citation count, which are behavioral traits beyond a generic search description. It does not mention rate limits or auth, but for a read-only search tool this is acceptable.

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 that front-load the core purpose and add key behaviors (dedup, sorting) without wasting words. Every sentence earns its place.

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?

The tool is moderately complex with 5 parameters and an output schema. The description covers the main search behavior, deduplication, sorting, and filtering, which is enough for an agent to invoke it correctly. The output schema handles return structure, so no additional description is needed.

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 has no property descriptions, so the description must compensate. It explains the sources and year range filters ('Optionally restrict to specific sources or a year range'), but does not clarify the 'limit' or 'query' parameters. This is partial compensation, leaving some reliance on self-explanatory parameter 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 ('Search') and resource ('academic papers'), enumerates the exact sources, and distinguishes from sibling tools like search_code and search_standards. It also adds deduplication and sorting details, making the tool's purpose 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?

It clearly states the tool searches academic papers and notes optional source/year filters, implying use for scholarly literature queries. There are no explicit exclusions or alternatives, but the context is clear enough for an agent to decide when to use it.

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

search_standardsA

Search technical standards and specifications: IETF RFCs and Internet-Drafts (TCP, HTTP, DNS, TLS, QUIC, ...). The primary source for networking and internet systems specs.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalNo
resultsNo
sources_okNo
sources_failedNo

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are present, so the description must carry the behavioral transparency burden. It does not mention whether the search is read-only, requires authentication, has rate limits, or any side effects. It only describes the domain and content, not the behavior.

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 concise sentences, front-loaded with the action and resource. It uses specific, relevant examples without unnecessary filler.

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 low-complexity search tool with an output schema, the description provides sufficient context about what is searched and for what domain. However, it lacks explicit alternative usage and behavioral details, which is a minor gap.

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?

The schema has 0% description coverage for parameters, and the description does not explain 'query' or 'limit'. While the parameter names are relatively self-explanatory, the description adds no semantic detail about expected query format or limit behavior.

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's function: 'Search technical standards and specifications' followed by concrete examples like IETF RFCs and Internet-Drafts. It differentiates from siblings such as search_papers and search_code by specifying the standards domain and networking protocols (TCP, HTTP, DNS, TLS, QUIC).

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: 'The primary source for networking and internet systems specs.' This indicates it is the go-to tool for networking standards but does not explicitly mention when not to use it or name alternative tools. It falls short of fully explicit guidance.

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

TDQS

A4.1/5.0
Disambiguation4/5

Most tools are clearly distinct by domain (papers, code, models, trends, components, standards). Minor ambiguity exists between search_components and search_trends, as both can surface component-related information, though one focuses on datasheets and the other on discussions.

Naming Consistency5/5

The majority of tools follow a consistent search_<domain> pattern (search_papers, search_code, search_hub, search_trends, search_components, search_standards). The remaining tools use clear verb_noun forms (get_paper, list_sources) that fit naturally without mixing conventions.

Tool Count5/5

With 8 tools, the server is well-scoped for its multi-domain research purpose. Each tool serves a distinct need in the discovery pipeline, and the count is neither too sparse nor overwhelming.

Completeness4/5

The toolset covers the core discovery lifecycle: searching papers, retrieving paper details, searching code, models/datasets, trends, components, and standards. Missing are detail-retrieval tools for non-paper entities (e.g., get_code, get_model), but search results appear to include sufficient information for most use cases.

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
    A
    quality
    A
    maintenance
    Comprehensive MCP server for academic research workflows, enabling paper searching across multiple sources, manuscript processing with citation placeholders, search caching, and citation export.
    11
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A MCP server for academic literature retrieval, aggregating multiple data sources like arXiv, Crossref, OpenAlex, PubMed, and Semantic Scholar to provide search, details, citations, trends, and recommendations.
    4
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Zero-auth multi-source research MCP server that enables web search, reading URLs, PDFs, GitHub repos, and querying Hacker News, Stack Overflow, Semantic Scholar, and YouTube transcripts without API keys.
    10
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    SERP-free scholarly search MCP server that queries academic sources like arXiv, Semantic Scholar, and conference proceedings using official APIs and reverse-engineered endpoints, with no API keys required. It supports unified conference search and returns normalized paper metadata.
    3
    MIT

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/Moreti2002/polymath-mcp'

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