Skip to main content
Glama
167,399 tools. Last updated 2026-06-02 20:54

"DOI" matching MCP tools:

  • Disambiguate an author name to a verified ORCID iD. Returns up to 5 ranked candidates with transparent disambiguation signals: name match type (exact/partial/other-name/none), institution overlap flag, and whether a DOI or PMID anchor was used in the query. A DOI or PMID anchor is near-deterministic — it filters to researchers who have linked that specific work to their ORCID record. Use this tool (not orcid_search_researchers) when the input is an ambiguous name that needs ranked disambiguation. No synthetic scores are used — raw signals only.
    Connector
  • Search WhatDoTheyKnow's feed-based event index and return structured results. Call this to find FOI requests matching a query expression. Returns up to `limit` AtomEntry objects. Use the `link` field of each result as the next navigation step — extract the request slug and call get_request_detail or get_request_feed_items for full detail. Example expressions: status:successful body:"Liverpool City Council" (variety:sent OR variety:response) status:successful
    Connector
  • 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`.
    Connector
  • Get a book's AI-generated summary, chapter list, edition metadata, DOI, and page counts. THIS IS THE RIGHT FIRST CALL whenever the user has named a specific author or work — the summary is typically a multi-paragraph orientation covering the book's argument, structure, and significance, often answering the question without any further searching. Pair with get_book_text to read selected chapters, or search_within_book to locate passages inside it.
    Connector
  • Get full catalog metadata for a single scholarly work by OpenAlex id (e.g. 'W2741809807') or DOI (e.g. '10.1038/nature12373'). Returns title, authors, venue, year, citation count, open-access status, and a free full-text URL when available. For a bare arXiv id, use paper_get_text with paper_key 'arxiv:<id>' to read indexed text, or paper_search by title for OpenAlex metadata.
    Connector
  • Map identifiers between databases. SYNTAX: biobtree_map(terms="ID", chain=">>source>>target") - Chain MUST start with ">>" - Source MUST match input ID type ID TYPE → SOURCE: - ENSG* → >>ensembl - P*/Q*/O* → >>uniprot - CHEMBL* → >>chembl_molecule - GO:* → >>go - MONDO:* → >>mondo - HP:* → >>hpo - HGNC:* or gene symbols → >>hgnc SOME DRUG EXPLORATION PATHS: - >>chembl_molecule>>chembl_target>>uniprot (drug targets) - >>pubchem>>pubchem_activity>>uniprot (bioactivity) - >>gtopdb_ligand>>gtopdb_interaction>>gtopdb>>uniprot (curated pharmacology with affinity data) - >>ensembl>>reactome>>chebi (pathway chemicals - when no direct targets) - Discover more via entry xrefs + EDGES WARNING - GO terms with high xref_count (>100): - Don't map GO → proteins → drugs (too many results) - Instead: search drug class for condition → verify targets this GO term DISEASE GENE PATTERNS: - >>mondo>>gencc>>hgnc (curated) - >>mondo>>clinvar>>hgnc (variant-based) - >>hgnc>>clingen_gene_validity (ClinGen evidence tier), >>hgnc>>clingen_dosage (haploinsufficiency), >>hgnc>>clingen_variant>>clinvar (ACMG, then dbsnp) CANCER / CELL LINE: - >>hgnc>>intogen (cancer driver gene?), >>hgnc>>civic (clinical variant interpretations) - >>uniprot>>cellosaurus (cell lines for a protein/gene) - >>hgnc>>depmap (CRISPR essentiality / target tractability), >>hgnc>>entrez>>depmap_dependency>>cellosaurus (which lines depend on the gene) GENE FUNCTION / LITERATURE: - >>entrez>>generif (cited one-line functional claims; >>generif>>pubmed for citations) DISEASE → DRUG PATTERNS: - >>mesh>>chembl_molecule (MeSH disease/condition → drugs with indications) - >>mondo>>clinical_trials>>chembl_molecule (disease → trial drugs) DISCOVERY APPROACH: - Use biobtree_entry to see xrefs (what's connected) - Use EDGES above to see where each dataset leads - Build chains based on what connections exist for YOUR entity RETURNS: mapped identifiers with dataset and name EDGES (what connects to what): ensembl: uniprot, go, transcript, exon, ortholog, paralog, hgnc, entrez, refseq, bgee, gwas, gencc, antibody, scxa, civic, intogen hgnc: ensembl, uniprot, entrez, gencc, pharmgkb_gene, msigdb, clinvar, mim, refseq, alphafold, collectri, gwas, hpo, cellphonedb, civic, intogen, cellosaurus, clingen_gene_validity, clingen_dosage, clingen_variant, depmap entrez: ensembl, uniprot, refseq, go, biogrid, pubchem_activity, ctd_gene_interaction, dbsnp, civic, intogen, clingen_dosage, generif, depmap, depmap_dependency refseq: ensembl, entrez, taxonomy, ccds, uniprot, mirdb mirdb: refseq transcript: ensembl, exon, ufeature, alphamissense uniprot: ensembl, alphafold, interpro, pfam, pdb, ufeature, intact, string, string_interaction, biogrid, biogrid_interaction, chembl_target, go, reactome, rhea, swisslipids, bindingdb, antibody, pubchem_activity, cellphonedb, jaspar, signor, diamond_similarity, esm2_similarity, alphamissense, cellosaurus alphafold: uniprot interpro: uniprot, go, interproparent, interprochild chembl_molecule: mesh, chembl_activity, chembl_target, pubchem, chebi, clinical_trials, chembl_moleculeparent, chembl_moleculechild # parent=anhydrous/parent form, child=salt forms chembl_activity: chembl_molecule, chembl_assay, bao chembl_assay: chembl_activity, chembl_target, chembl_document, bao chembl_target: chembl_assay, uniprot, chembl_molecule pubchem: chembl_molecule, chebi, hmdb, pubchem_activity, pubmed, patent_compound, bindingdb, ctd, pharmgkb pubchem_activity: pubchem, ensembl, uniprot chebi: pubchem, rhea, intact swisslipids: uniprot, go, chebi, uberon, cl lipidmaps: chebi, pubchem dbsnp: entrez, clinvar, pharmgkb_variant, alphamissense, spliceai clinvar: hgnc, mondo, hpo, dbsnp, orphanet, civic_variant, cellosaurus, clingen_variant alphamissense: uniprot, transcript gwas: gwas_study, efo, dbsnp, hgnc, mondo gwas_study: gwas, efo, mondo mondo: gencc, clinvar, efo, mesh, hpo, clinical_trials, antibody, cellxgene, cellxgene_celltype, orphanet, mondoparent, mondochild, gwas, gwas_study, civic, intogen, cellosaurus, doid, mim, ncit, umls, medgen, gard, sctid, icd9, icd10cm, icd10who, icd11, nando, meddra, nord, uberon # disease cross-refs + disease_has_location anatomy, from the Mondo OBO gencc: mondo, hpo, hgnc, ensembl clingen_gene_validity: hgnc, entrez, ensembl, mondo # ClinGen gene-disease validity tier (Definitive..Refuted) + MOI clingen_dosage: entrez, hgnc, ensembl, mondo, mim, pubmed # ClinGen haploinsufficiency/triplosensitivity per gene clingen_variant: clinvar, hgnc, entrez, ensembl, mondo, pubmed # ClinGen VCEP ACMG variant pathogenicity (clinvar bridges to dbsnp) clinical_trials: mondo, chembl_molecule pharmgkb: hgnc, dbsnp, mesh, pharmgkb_gene, pharmgkb_variant, pharmgkb_clinical, pharmgkb_guideline, pharmgkb_pathway pharmgkb_variant: pharmgkb_clinical, hgnc, mesh, dbsnp pharmgkb_gene: hgnc, entrez, ensembl, pharmgkb pharmgkb_clinical: dbsnp, hgnc, mesh, pharmgkb_variant pharmgkb_guideline: hgnc, pharmgkb pharmgkb_pathway: hgnc, pharmgkb ctd: mesh, ctd_gene_interaction, ctd_disease_association, pubchem ctd_gene_interaction: ctd, entrez, taxonomy, pubmed ctd_disease_association: ctd, mesh, mim, pubmed intact: uniprot, chebi, rnacentral string: uniprot, string_interaction string_interaction: string, uniprot biogrid: entrez, uniprot, refseq, taxonomy bgee: ensembl, uberon, cl, taxonomy, bgee_evidence bgee_evidence: bgee, uberon, cl cellxgene: cl, uberon, mondo, efo, taxonomy cellxgene_celltype: cl, uberon, mondo scxa: cl, uberon, taxonomy, ensembl, scxa_gene_experiment scxa_expression: ensembl, scxa, scxa_gene_experiment scxa_gene_experiment: ensembl, scxa, scxa_expression, cl rnacentral: uniprot, ensembl, intact, hgnc, refseq, ena reactome: ensembl, uniprot, chebi, go, reactomeparent, reactomechild rhea: chebi, uniprot, go go: ensembl, uniprot, reactome, msigdb, swisslipids, bgee, interpro, goparent, gochild hpo: clinvar, gencc, mondo, msigdb, orphanet, mim, hmdb, hgnc, hpoparent, hpochild efo: gwas, mondo, cellxgene, efoparent, efochild uberon: bgee, cellxgene, cellxgene_celltype, swisslipids, uberonparent, uberonchild cl: bgee, cellxgene, cellxgene_celltype, scxa, scxa_gene_experiment, clparent, clchild taxonomy: ensembl, uniprot, bgee, biogrid, ctd_gene_interaction, taxparent, taxchild mesh: pharmgkb, ctd, ctd_disease_association, pubchem, mondo, chembl_molecule, meshparent, meshchild eco: ecoparent, ecochild antibody: ensembl, uniprot, mondo, pdb msigdb: hgnc, entrez, go, hpo orphanet: hpo, uniprot, mondo, hgnc, clinvar, mim, mesh mim: clinvar, hpo, mondo, uniprot, ctd_disease_association hmdb: pubchem, hpo, chebi, uniprot collectri: hgnc # transcription factor → target gene interactions esm2_similarity: uniprot # protein structural similarity diamond_similarity: uniprot # protein sequence similarity cellphonedb: uniprot, ensembl, hgnc, pubmed # ligand-receptor pairs for cell-cell communication spliceai: hgnc pdb: uniprot, go, interpro, pfam, taxonomy, pubmed fantom5_promoter: ensembl, hgnc, entrez, uniprot, uberon, cl fantom5_enhancer: ensembl, uberon, cl fantom5_gene: ensembl, hgnc, entrez jaspar: uniprot, pubmed, taxonomy encode_ccre: taxonomy bao: chembl_activity, chembl_assay, baoparent, baochild brenda: uniprot, pubmed, brenda_kinetics, brenda_inhibitor brenda_kinetics: brenda brenda_inhibitor: brenda gtopdb: uniprot, hgnc, gtopdb_ligand, gtopdb_interaction # drug targets (GPCRs, ion channels, enzymes) gtopdb_ligand: pubchem, chebi, chembl_molecule, gtopdb_interaction # ligands/drugs with binding data gtopdb_interaction: gtopdb, gtopdb_ligand, pubmed # target-ligand binding with affinity values civic: entrez, ensembl, civic_variant, civic_evidence, civic_assertion # clinical interpretation of cancer variants civic_variant: civic, clinvar, civic_evidence, civic_assertion civic_evidence: civic_variant, civic, mondo, chembl_molecule, pubmed, clinical_trials civic_assertion: civic_variant, civic, mondo, chembl_molecule intogen: hgnc, entrez, ensembl, mondo, pubmed # cancer driver genes cellosaurus: taxonomy, uniprot, hgnc, mondo, orphanet, clinvar, dbsnp, uberon, cl, chebi, doi, patent, pubmed, depmap_dependency # cell lines (CVCL) generif: entrez, pubmed # NCBI cited per-gene functional claims (RAG grounding) depmap: entrez, hgnc, ensembl # CRISPR gene essentiality aggregate (cancer dependency / target tractability) depmap_dependency: entrez, cellosaurus # per cell-line gene dependency (effect < -0.5) FILTER SYNTAX: >>dataset[field operator value] OPERATORS: == equals >>dataset[field=="value"] != not equals >>dataset[field!="value"] > greater than >>dataset[field>value] < less than >>dataset[field<value] >= greater or equal >>dataset[field>=value] <= less or equal >>dataset[field<=value] contains string match >>dataset[field.contains("value")] LOGICAL OPERATORS: && AND >>dataset[field1>5 && field2<10] || OR >>dataset[field=="A" || field=="B"] ! NOT >>dataset[!field] or >>dataset[!(field=="value")] TYPE RULES: - FLOAT: use decimal point (70.0 not 70) - INT: no decimal (2 not 2.0) - STRING: quote values ("Pathogenic", "PHASE3") - BOOL: true/false (no quotes) EXAMPLES: >>chembl_molecule[highestDevelopmentPhase==4] # approved drugs >>chembl_molecule[highestDevelopmentPhase>=3] # Phase 3+ >>clinical_trials[phase=="PHASE3"] >>go[type=="biological_process"] >>clinvar[germline_classification=="Pathogenic"] >>reactome[name.contains("signaling")] >>gtopdb[type=="gpcr"] # GPCR targets >>gtopdb[type=="ion_channel"] # ion channel targets >>gtopdb_ligand[approved==true] # approved drugs only >>gtopdb_interaction[endogenous==true] # endogenous ligand interactions
    Connector

Matching MCP Servers

Matching MCP Connectors

  • Energy data from EIA: electricity, fuel prices, and renewables

  • Search Chinese TV drama scenes with second-level timestamps by character, emotion, or scene type.

  • Search BGPT's database of scientific papers by keyword. Args: query: Search terms (e.g. "CRISPR gene editing efficiency") Short, concise queries are best. English language only. Don't include years or filters — use the days_back and num_results params instead. num_results: Number of results to return (1-100, default 16). First 50 results are free, then billed at $0.01/result for paid users. days_back: Only return papers published within the last N days. api_key: Optional: Your Stripe subscription ID for paid access. Get one at https://bgpt.pro/mcp Returns: Papers with title, DOI, Raw Data, methods, results, quality scores, and 25+ metadata fields.
    Connector
  • Fetch Bitrix24 app development documentation by exact title (use `bitrix-search` with doc_type app_development_docs). Returns plain text labeled fields (Title, URL, Module, Category, Description, Content) without Markdown.
    Connector
  • Search WhatDoTheyKnow public authorities by name. Returns up to `limit` authorities whose name or short_name contains `query` (case-insensitive). Use the `slug` field with authority_json or build_request_url as the next step. Example: search_authorities("Liverpool") → slug "liverpool_city_council" Then: authority_json with that slug, or build_request_url with it.
    Connector
  • Look up a Wikidata entity by an external identifier such as a DOI, PubMed ID, ORCID iD, or OpenAlex ID. Returns match=<entity> on success, match=null when not found, and match=null with multipleMatches populated when a Wikidata data integrity issue causes more than one entity to claim the same external ID. Common cross-server join use cases: CrossRef DOI → Wikidata paper QID (P356), PubMed PMID → Wikidata paper QID (P698), ORCID → author QID (P496), OpenAlex ID → entity QID (P10283). Known value normalization is applied automatically: DOIs are uppercased, PMID prefixes stripped, ORCID hyphens normalized.
    Connector
  • Look up a single paper by its DOI. Args: doi: The DOI of the paper (e.g. "10.1038/s41586-024-07386-0"). api_key: Optional: Your Stripe subscription ID for paid access. Get one at https://bgpt.pro/mcp Returns: Paper with title, DOI, Raw Data, methods, results, quality scores, and 25+ metadata fields — or an error if not found. Costs $0.02 if found, free if not.
    Connector
  • 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.
    Connector
  • Fetch the full detail record for a single work by its put-code, which is returned by orcid_get_works in the put_code field of each work entry. Returns the abstract (short-description), all contributors with CRediT roles, the complete external ID list (DOI, PMID, arXiv, ISBN, etc.), citation metadata (BibTeX or other formats when provided), journal title, and URL. Use this when you need more than the summary — especially the abstract or contributor list — after calling orcid_get_works to identify the put-code.
    Connector
  • Convert between article identifiers (DOI, PMID, PMCID). Accepts up to 50 IDs of a single type per request. Only resolves articles indexed in PubMed Central — for articles not in PMC, use pubmed_search_articles instead.
    Connector
  • Get the 50 most recent arXiv submissions in cs.AI / cs.LG / cs.CL / cs.CV, sorted by submission date. Each entry carries arxivId (no version suffix), version, title, abstract, authors, primary category, all categories, publishedAt, updatedAt, htmlUrl, pdfUrl, and doi. Refreshed daily at 11:30 UTC. The firehose pair to get_ai_trending_papers (which ranks by citation count). License: arXiv permits use of metadata; the standard attribution block ships on every response.
    Connector
  • Execute a search and return ranked Markdown results (title, URL, snippet). ## Two modes ### Mode 1 — General web search (no list_domains needed) Omit domain and sub_domain entirely. Use when the query is open-ended and does not target a specific structured data source. Example: search(query="what is quantum computing") ### Mode 2 — Vertical search (call list_domains first) Use when the query targets a specific domain: stocks, patents, flights, CVEs, weather, academic papers, etc. Steps: 1. Call list_domains to get the sub_domain and mandatory query format for the target domain. 2. Pass domain + sub_domain from list_domains output. Never guess them. 3. Format query exactly as specified in the query_format column — wrong format = wrong results. **IMPORTANT: For any query that may belong to a supported vertical domain, ALWAYS call list_domains first — vertical search produces significantly better results than general web search.** ## Decision rule — which mode to use Use Mode 2 (vertical) when ANY of these apply: - Query involves a ticker, DOI, CVE, IATA code, patent number, address, or other structured identifier - Query targets a specific vertical: finance, legal, academic, security, travel, geo, environment, etc. - User asks for real-time or specialized data (stock price, weather, flight status, drug info, etc.) Use Mode 1 (general) when the query is purely conversational or open-ended with no structured lookup. ## After getting results — when to call extract Search returns titles + snippets only. Call extract when: - The snippet is truncated or insufficient to answer the question - User asks to read, summarize, or get details from a specific URL - You need to verify a claim or fact from the source page - The answer requires data only visible in the page body (tables, sections not in snippet) ## Query decomposition One intent per search call. For 2–5 independent queries use batch_search instead. WRONG: search(query="AAPL price and earnings and analyst rating") RIGHT: batch_search(queries=[{query:"AAPL price",...}, {query:"AAPL earnings",...}])
    Connector
  • Search ~250M scholarly works (papers, preprints, datasets) live via OpenAlex by keyword across title, abstract, and full text, with optional author, year, and open-access-only filters. Ranked by relevance. Returns each work's OpenAlex id, DOI, title, authors, venue, year, citation count, and a free full-text URL when open access. Use paper_fulltext_search to search inside the locally indexed open-access corpus.
    Connector
  • Look up a single paper by its DOI. Args: doi: The DOI of the paper (e.g. "10.1038/s41586-024-07386-0"). api_key: Optional: Your Stripe subscription ID for paid access. Get one at https://bgpt.pro/mcp Returns: Paper with title, DOI, Raw Data, methods, results, quality scores, and 25+ metadata fields — or an error if not found. Costs $0.02 if found, free if not.
    Connector
  • 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.
    Connector
  • Get the daily curated AI/ML trending papers from Semantic Scholar, ranked by citation count. Five fan-out queries (large language model, transformer, RLHF, AI agents, diffusion model), deduped by paperId, top 30 returned. Each entry carries paperId, title, abstract, authors, year, venue, citationCount, arxivId, doi, and fieldsOfStudy. Refreshed daily at 11:00 UTC. Citation-ranked counterpart to get_arxiv_recent (firehose by submission date). License: Semantic Scholar API permits use; the standard attribution block ships on every response.
    Connector