Koskamo

Noodle Biomedical Literature Discovery MCP

A public read-only MCP server enabling biomedical literature search, publication inspection, and traversal of citation or semantic graphs. It supports paper search, PMID/DOI/PMCID lookup, and corpus questions without requiring authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Noodle Biomedical Literature Discovery MCP logo, by Helena BioinformaticsCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by Helena Bioinformatics
MCP endpoint (Streamable HTTP)
https://api.helena.bio/noodle/v1/mcp
Vendor documentation

What its tools do

7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

7 of 7 have a description · 7 of 7 declare behavior hints · 5 of 5 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Warning Advertises resources/templates/list but does not implement it
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search biomedical publications
  • Inspect publication records
  • Traverse citation graphs
  • Discover related papers

Source and maintenance

Community listingRegistry 0.2.1
Maintenance checked

Protocol and capabilities

Server
noodle 0.2.1
MCP protocol negotiated in check
2025-11-25
Tools
7 advertised
Resources
1 advertised
Resource templates
Not advertised
Prompts
4 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "experimental": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Use this server when a user asks to find biomedical papers, resolve a PMID, DOI or PMCID, inspect a publication or corpus work, find related research, traverse a citation or semantic literature neighborhood, or inspect corpus coverage, even if the user does not know the Noodle name. Include known publication identifiers in search. Treat returned relationships as discovery signals, verify claims in primary sources, and never send patient or private data. Call support_helena only after explicit interest.

Tools

7 advertised

search_biomedical_literature — Search biomedical literature
Advertised by the server during the last successful anonymous check.
Advertised read-only

Semantically search Noodle's public PubMed-derived biomedical corpus. Include known PMID, DOI, or PMCID identifiers in the query so they can act as exact anchors. Results are for literature discovery and professional review, not diagnosis or treatment.

search_biomedical_literature input schema
{
  "type": "object",
  "title": "SearchCorpusArguments",
  "required": [
    "query"
  ],
  "properties": {
    "sort": {
      "enum": [
        "relevance",
        "newest",
        "oldest"
      ],
      "type": "string",
      "title": "Sort",
      "default": "relevance",
      "description": "Result ordering: relevance-ranked, newest publication first, or oldest publication first."
    },
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 20,
      "maximum": 25,
      "minimum": 1,
      "description": "Maximum number of publications to return, from 1 to 25."
    },
    "query": {
      "type": "string",
      "title": "Query",
      "maxLength": 200,
      "minLength": 3,
      "description": "Natural-language literature question or exact PMID, DOI, PMCID, gene, variant, phenotype, HPO, or OMIM query. Include every known publication identifier when comparing or finding related papers."
    },
    "cursor": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]+$",
          "maxLength": 128,
          "minLength": 8
        },
        {
          "type": "null"
        }
      ],
      "title": "Cursor",
      "default": null,
      "description": "Opaque continuation cursor from the preceding response for the same query and sort order; omit for the first page."
    }
  },
  "additionalProperties": false
}
search_biomedical_literature output schema
{
  "type": "object",
  "$defs": {
    "PublicCorpusSearchResult": {
      "type": "object",
      "title": "PublicCorpusSearchResult",
      "required": [
        "work_id",
        "pmid",
        "title",
        "abstract_excerpt",
        "journal",
        "publication_date",
        "doi",
        "pmc_id",
        "source_url",
        "pubmed_url",
        "match_types",
        "structured_score"
      ],
      "properties": {
        "doi": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Doi"
        },
        "pmid": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9]{1,12}$"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pmid"
        },
        "title": {
          "type": "string",
          "title": "Title"
        },
        "pmc_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pmc Id"
        },
        "authors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Authors"
        },
        "journal": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Journal"
        },
        "work_id": {
          "type": "string",
          "title": "Work Id"
        },
        "pubmed_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pubmed Url"
        },
        "rank_score": {
          "type": "number",
          "title": "Rank Score",
          "default": 0
        },
        "source_url": {
          "type": "string",
          "title": "Source Url"
        },
        "graph_score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Graph Score",
          "default": null
        },
        "match_types": {
          "type": "array",
          "items": {
            "enum": [
              "pmid",
              "doi",
              "pmcid",
              "title",
              "abstract",
              "gene",
              "variant",
              "phenotype",
              "hpo",
              "omim",
              "semantic",
              "graph"
            ],
            "type": "string"
          },
          "title": "Match Types"
        },
        "semantic_score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Semantic Score",
          "default": null
        },
        "abstract_excerpt": {
          "type": "string",
          "title": "Abstract Excerpt"
        },
        "article_entities": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PublicCorpusArticleEntity"
          },
          "title": "Article Entities"
        },
        "publication_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Publication Date"
        },
        "structured_score": {
          "type": "number",
          "title": "Structured Score"
        },
        "graph_anchor_pmid": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Graph Anchor Pmid",
          "default": null
        }
      },
      "additionalProperties": false
    },
    "PublicCorpusArticleEntity": {
      "type": "object",
      "title": "PublicCorpusArticleEntity",
      "required": [
        "entity_type",
        "identifier",
        "label",
        "source_field",
        "normalization_state"
      ],
      "properties": {
        "label": {
          "type": "string",
          "title": "Label"
        },
        "identifier": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Identifier"
        },
        "entity_type": {
          "enum": [
            "gene",
            "variant",
            "phenotype",
            "pmid",
            "doi",
            "pmcid",
            "omim"
          ],
          "type": "string",
          "title": "Entity Type"
        },
        "source_field": {
          "enum": [
            "work_identifiers.normalized_value",
            "gene_mentions.gene_symbol",
            "variant_mentions.normalized_variant",
            "phenotype_mentions.hpo_id",
            "phenotype_mentions.omim_id",
            "phenotype_mentions.mesh_term",
            "phenotype_mentions.phenotype_name"
          ],
          "type": "string",
          "title": "Source Field"
        },
        "normalization_state": {
          "enum": [
            "normalized",
            "source_indexed"
          ],
          "type": "string",
          "title": "Normalization State"
        }
      },
      "additionalProperties": false
    }
  },
  "title": "PublicCorpusSearchResponse",
  "required": [
    "contract_version",
    "query",
    "returned_count",
    "results",
    "searchable_fields",
    "usage_boundary"
  ],
  "properties": {
    "query": {
      "type": "string",
      "title": "Query"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/PublicCorpusSearchResult"
      },
      "title": "Results"
    },
    "has_more": {
      "type": "boolean",
      "title": "Has More",
      "default": false
    },
    "graph_used": {
      "type": "boolean",
      "title": "Graph Used",
      "default": false
    },
    "next_cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Next Cursor",
      "default": null
    },
    "graph_version": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Graph Version",
      "default": null
    },
    "returned_count": {
      "type": "integer",
      "title": "Returned Count"
    },
    "usage_boundary": {
      "type": "object",
      "title": "Usage Boundary",
      "additionalProperties": true
    },
    "contract_version": {
      "type": "string",
      "const": "1.0",
      "title": "Contract Version"
    },
    "searchable_fields": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Searchable Fields"
    },
    "semantic_index_used": {
      "type": "boolean",
      "title": "Semantic Index Used",
      "default": false
    },
    "graph_degraded_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Graph Degraded Reason",
      "default": null
    },
    "semantic_degraded_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Semantic Degraded Reason",
      "default": null
    }
  },
  "additionalProperties": false
}
search_biomedical_literature annotations
{
  "title": "Search biomedical literature",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_publication_details — Get publication details by PMID
Advertised by the server during the last successful anonymous check.
Advertised read-only

Retrieve one complete public bibliographic record by PMID after search. Results are for literature discovery and professional review, not diagnosis or treatment.

get_publication_details input schema
{
  "type": "object",
  "title": "GetPublicationDetailsArguments",
  "required": [
    "pmid"
  ],
  "properties": {
    "pmid": {
      "type": "string",
      "title": "Pmid",
      "pattern": "^[0-9]{1,12}$",
      "description": "One PubMed identifier to look up in Noodle's current public corpus, as 1 to 12 digits without a PMID prefix."
    }
  },
  "additionalProperties": false
}
get_publication_details output schema
{
  "type": "object",
  "$defs": {
    "PublicGeneMention": {
      "type": "object",
      "title": "PublicGeneMention",
      "required": [
        "gene_symbol",
        "association_type",
        "mention_count"
      ],
      "properties": {
        "gene_symbol": {
          "type": "string",
          "title": "Gene Symbol"
        },
        "mention_count": {
          "type": "integer",
          "title": "Mention Count"
        },
        "association_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Association Type"
        }
      },
      "additionalProperties": false
    },
    "PublicVariantMention": {
      "type": "object",
      "title": "PublicVariantMention",
      "required": [
        "gene_symbol",
        "hgvs_cdna",
        "hgvs_protein",
        "normalized_variant",
        "clinical_significance",
        "evidence_type",
        "sentence_text",
        "confidence_score"
      ],
      "properties": {
        "hgvs_cdna": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Hgvs Cdna"
        },
        "gene_symbol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Gene Symbol"
        },
        "hgvs_protein": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Hgvs Protein"
        },
        "evidence_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Evidence Type"
        },
        "sentence_text": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Sentence Text"
        },
        "confidence_score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Confidence Score"
        },
        "normalized_variant": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Normalized Variant"
        },
        "clinical_significance": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Clinical Significance"
        }
      },
      "additionalProperties": false
    },
    "PublicPublicationDetails": {
      "type": "object",
      "title": "PublicPublicationDetails",
      "required": [
        "pmid",
        "title",
        "abstract",
        "authors",
        "journal",
        "publication_date",
        "publication_types",
        "mesh_terms",
        "doi",
        "pmc_id",
        "is_retracted",
        "pubmed_url",
        "full_text_url",
        "gene_mentions",
        "variant_mentions"
      ],
      "properties": {
        "doi": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Doi"
        },
        "pmid": {
          "type": "string",
          "title": "Pmid",
          "pattern": "^[0-9]{1,12}$"
        },
        "title": {
          "type": "string",
          "title": "Title"
        },
        "pmc_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pmc Id"
        },
        "authors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Authors"
        },
        "journal": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Journal"
        },
        "abstract": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Abstract"
        },
        "mesh_terms": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Mesh Terms"
        },
        "pubmed_url": {
          "type": "string",
          "title": "Pubmed Url"
        },
        "is_retracted": {
          "type": "boolean",
          "title": "Is Retracted"
        },
        "full_text_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Full Text Url"
        },
        "gene_mentions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PublicGeneMention"
          },
          "title": "Gene Mentions"
        },
        "publication_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Publication Date"
        },
        "variant_mentions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PublicVariantMention"
          },
          "title": "Variant Mentions"
        },
        "publication_types": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Publication Types"
        }
      },
      "additionalProperties": false
    }
  },
  "title": "PublicationDetailsResponse",
  "required": [
    "contract_version",
    "publication",
    "usage_boundary"
  ],
  "properties": {
    "publication": {
      "$ref": "#/$defs/PublicPublicationDetails"
    },
    "usage_boundary": {
      "type": "object",
      "title": "Usage Boundary",
      "additionalProperties": true
    },
    "contract_version": {
      "type": "string",
      "const": "1.0",
      "title": "Contract Version"
    }
  },
  "additionalProperties": false
}
get_publication_details annotations
{
  "title": "Get publication details by PMID",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_work_details — Get publication details by work ID
Advertised by the server during the last successful anonymous check.
Advertised read-only

Retrieve one complete public bibliographic record by Noodle work identifier. Results are for literature discovery and professional review, not diagnosis or treatment.

get_work_details input schema
{
  "type": "object",
  "title": "GetWorkDetailsArguments",
  "required": [
    "work_id"
  ],
  "properties": {
    "work_id": {
      "type": "string",
      "title": "Work Id",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$",
      "description": "Canonical Noodle Literature Corpus work identifier."
    }
  },
  "additionalProperties": false
}
get_work_details output schema
{
  "type": "object",
  "$defs": {
    "PublicGeneMention": {
      "type": "object",
      "title": "PublicGeneMention",
      "required": [
        "gene_symbol",
        "association_type",
        "mention_count"
      ],
      "properties": {
        "gene_symbol": {
          "type": "string",
          "title": "Gene Symbol"
        },
        "mention_count": {
          "type": "integer",
          "title": "Mention Count"
        },
        "association_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Association Type"
        }
      },
      "additionalProperties": false
    },
    "PublicWorkDetails": {
      "type": "object",
      "title": "PublicWorkDetails",
      "required": [
        "work_id",
        "title",
        "abstract",
        "authors",
        "journal",
        "publication_date",
        "publication_types",
        "mesh_terms",
        "doi",
        "pmc_id",
        "is_retracted",
        "pubmed_url",
        "doi_url",
        "full_text_url",
        "gene_mentions",
        "variant_mentions"
      ],
      "properties": {
        "doi": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Doi"
        },
        "pmid": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9]{1,12}$"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pmid",
          "default": null
        },
        "title": {
          "type": "string",
          "title": "Title"
        },
        "pmc_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pmc Id"
        },
        "authors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Authors"
        },
        "doi_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Doi Url"
        },
        "journal": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Journal"
        },
        "work_id": {
          "type": "string",
          "title": "Work Id",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        "abstract": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Abstract"
        },
        "mesh_terms": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Mesh Terms"
        },
        "pubmed_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pubmed Url"
        },
        "is_retracted": {
          "type": "boolean",
          "title": "Is Retracted"
        },
        "full_text_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Full Text Url"
        },
        "gene_mentions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PublicGeneMention"
          },
          "title": "Gene Mentions"
        },
        "publication_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Publication Date"
        },
        "variant_mentions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PublicVariantMention"
          },
          "title": "Variant Mentions"
        },
        "publication_types": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Publication Types"
        }
      },
      "additionalProperties": false
    },
    "PublicVariantMention": {
      "type": "object",
      "title": "PublicVariantMention",
      "required": [
        "gene_symbol",
        "hgvs_cdna",
        "hgvs_protein",
        "normalized_variant",
        "clinical_significance",
        "evidence_type",
        "sentence_text",
        "confidence_score"
      ],
      "properties": {
        "hgvs_cdna": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Hgvs Cdna"
        },
        "gene_symbol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Gene Symbol"
        },
        "hgvs_protein": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Hgvs Protein"
        },
        "evidence_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Evidence Type"
        },
        "sentence_text": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Sentence Text"
        },
        "confidence_score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Confidence Score"
        },
        "normalized_variant": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Normalized Variant"
        },
        "clinical_significance": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Clinical Significance"
        }
      },
      "additionalProperties": false
    }
  },
  "title": "WorkDetailsResponse",
  "required": [
    "contract_version",
    "publication",
    "usage_boundary"
  ],
  "properties": {
    "publication": {
      "$ref": "#/$defs/PublicWorkDetails"
    },
    "usage_boundary": {
      "type": "object",
      "title": "Usage Boundary",
      "additionalProperties": true
    },
    "contract_version": {
      "type": "string",
      "const": "1.0",
      "title": "Contract Version"
    }
  },
  "additionalProperties": false
}
get_work_details annotations
{
  "title": "Get publication details by work ID",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_publication_neighborhood — Explore a PMID literature neighborhood
Advertised by the server during the last successful anonymous check.
Advertised read-only

Retrieve the bounded citation and semantic neighborhood around one PMID. Results are for literature discovery and professional review, not diagnosis or treatment.

get_publication_neighborhood input schema
{
  "type": "object",
  "title": "GetPublicationNeighborhoodArguments",
  "required": [
    "pmid"
  ],
  "properties": {
    "pmid": {
      "type": "string",
      "title": "Pmid",
      "pattern": "^[0-9]{1,12}$",
      "description": "One PubMed identifier, as 1 to 12 digits."
    },
    "from_work_id": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        {
          "type": "null"
        }
      ],
      "title": "From Work Id",
      "default": null,
      "description": "Optional prior work ID for a reversible graph path."
    }
  },
  "additionalProperties": false
}
get_publication_neighborhood output schema
{
  "type": "object",
  "$defs": {
    "ArticleNeighborhoodEdge": {
      "type": "object",
      "title": "ArticleNeighborhoodEdge",
      "required": [
        "id",
        "source_id",
        "target_id",
        "reasons"
      ],
      "properties": {
        "id": {
          "type": "string",
          "title": "Id",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
        },
        "reasons": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ArticleNeighborhoodReason"
          },
          "title": "Reasons",
          "maxItems": 7,
          "minItems": 1
        },
        "source_id": {
          "type": "string",
          "title": "Source Id",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
        },
        "target_id": {
          "type": "string",
          "title": "Target Id",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
        }
      },
      "additionalProperties": false
    },
    "ArticleNeighborhoodNode": {
      "type": "object",
      "title": "ArticleNeighborhoodNode",
      "required": [
        "id",
        "kind",
        "label",
        "canonical_path"
      ],
      "properties": {
        "id": {
          "type": "string",
          "title": "Id",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
        },
        "kind": {
          "enum": [
            "publication",
            "gene",
            "variant",
            "phenotype",
            "disease"
          ],
          "type": "string",
          "title": "Kind"
        },
        "label": {
          "type": "string",
          "title": "Label",
          "maxLength": 500,
          "minLength": 1
        },
        "canonical_path": {
          "type": "string",
          "title": "Canonical Path",
          "pattern": "^/[A-Za-z0-9._~/-]{1,300}$"
        },
        "publication_doi": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255,
              "minLength": 3
            },
            {
              "type": "null"
            }
          ],
          "title": "Publication Doi",
          "default": null
        },
        "publication_pmid": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9]{1,12}$"
            },
            {
              "type": "null"
            }
          ],
          "title": "Publication Pmid",
          "default": null
        },
        "publication_pmcid": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^PMC[0-9]+$"
            },
            {
              "type": "null"
            }
          ],
          "title": "Publication Pmcid",
          "default": null
        },
        "publication_work_id": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
            },
            {
              "type": "null"
            }
          ],
          "title": "Publication Work Id",
          "default": null
        }
      },
      "additionalProperties": false
    },
    "ArticleNeighborhoodReason": {
      "type": "object",
      "title": "ArticleNeighborhoodReason",
      "required": [
        "kind",
        "label",
        "score",
        "model_version",
        "provenance"
      ],
      "properties": {
        "kind": {
          "enum": [
            "shared_gene",
            "shared_variant",
            "shared_phenotype",
            "shared_disease",
            "cites",
            "cited_by",
            "semantic_relatedness"
          ],
          "type": "string",
          "title": "Kind"
        },
        "label": {
          "type": "string",
          "title": "Label",
          "maxLength": 500,
          "minLength": 1
        },
        "score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Score"
        },
        "provenance": {
          "$ref": "#/$defs/ArticleNeighborhoodProvenance"
        },
        "model_version": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
            },
            {
              "type": "null"
            }
          ],
          "title": "Model Version"
        }
      },
      "additionalProperties": false
    },
    "ArticleNeighborhoodProvenance": {
      "type": "object",
      "title": "ArticleNeighborhoodProvenance",
      "required": [
        "source",
        "record_id",
        "canonical_url",
        "retrieved_at"
      ],
      "properties": {
        "source": {
          "type": "string",
          "title": "Source",
          "maxLength": 160,
          "minLength": 1
        },
        "record_id": {
          "type": "string",
          "title": "Record Id",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
        },
        "retrieved_at": {
          "type": "string",
          "title": "Retrieved At",
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
        },
        "canonical_url": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 2048
            },
            {
              "type": "null"
            }
          ],
          "title": "Canonical Url"
        }
      },
      "additionalProperties": false
    },
    "ArticleNeighborhoodUsageBoundary": {
      "type": "object",
      "title": "ArticleNeighborhoodUsageBoundary",
      "required": [
        "review_required",
        "patient_context_evaluated",
        "semantic_similarity_is_evidence"
      ],
      "properties": {
        "review_required": {
          "type": "boolean",
          "const": true,
          "title": "Review Required"
        },
        "patient_context_evaluated": {
          "type": "boolean",
          "const": false,
          "title": "Patient Context Evaluated"
        },
        "semantic_similarity_is_evidence": {
          "type": "boolean",
          "const": false,
          "title": "Semantic Similarity Is Evidence"
        }
      },
      "additionalProperties": false
    }
  },
  "title": "ArticleNeighborhoodResponse",
  "required": [
    "contract_version",
    "anchor_node_id",
    "graph_version",
    "release_channel",
    "policy_version",
    "generated_at",
    "stale_after",
    "freshness",
    "nodes",
    "edges",
    "usage_boundary"
  ],
  "properties": {
    "edges": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ArticleNeighborhoodEdge"
      },
      "title": "Edges",
      "maxItems": 64,
      "minItems": 8
    },
    "nodes": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ArticleNeighborhoodNode"
      },
      "title": "Nodes",
      "maxItems": 25,
      "minItems": 9
    },
    "freshness": {
      "type": "string",
      "const": "CURRENT",
      "title": "Freshness"
    },
    "anchor_pmid": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[0-9]{1,12}$"
        },
        {
          "type": "null"
        }
      ],
      "title": "Anchor Pmid",
      "default": null
    },
    "stale_after": {
      "type": "string",
      "title": "Stale After",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
    },
    "generated_at": {
      "type": "string",
      "title": "Generated At",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
    },
    "graph_version": {
      "type": "string",
      "title": "Graph Version",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
    },
    "anchor_node_id": {
      "type": "string",
      "title": "Anchor Node Id",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
    },
    "anchor_work_id": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        {
          "type": "null"
        }
      ],
      "title": "Anchor Work Id",
      "default": null
    },
    "policy_version": {
      "type": "string",
      "title": "Policy Version",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
    },
    "usage_boundary": {
      "$ref": "#/$defs/ArticleNeighborhoodUsageBoundary"
    },
    "release_channel": {
      "type": "string",
      "title": "Release Channel",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
    },
    "contract_version": {
      "enum": [
        "0.1",
        "0.2"
      ],
      "type": "string",
      "title": "Contract Version"
    }
  },
  "additionalProperties": false
}
get_publication_neighborhood annotations
{
  "title": "Explore a PMID literature neighborhood",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_work_neighborhood — Explore a work literature neighborhood
Advertised by the server during the last successful anonymous check.
Advertised read-only

Retrieve the bounded citation and semantic neighborhood around one Noodle work identifier. Results are for literature discovery and professional review, not diagnosis or treatment.

get_work_neighborhood input schema
{
  "type": "object",
  "title": "GetWorkNeighborhoodArguments",
  "required": [
    "work_id"
  ],
  "properties": {
    "work_id": {
      "type": "string",
      "title": "Work Id",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$",
      "description": "Canonical work identifier to place at the graph center."
    },
    "from_work_id": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        {
          "type": "null"
        }
      ],
      "title": "From Work Id",
      "default": null,
      "description": "Optional prior work ID for a reversible graph path."
    }
  },
  "additionalProperties": false
}
get_work_neighborhood output schema
{
  "type": "object",
  "$defs": {
    "ArticleNeighborhoodEdge": {
      "type": "object",
      "title": "ArticleNeighborhoodEdge",
      "required": [
        "id",
        "source_id",
        "target_id",
        "reasons"
      ],
      "properties": {
        "id": {
          "type": "string",
          "title": "Id",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
        },
        "reasons": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ArticleNeighborhoodReason"
          },
          "title": "Reasons",
          "maxItems": 7,
          "minItems": 1
        },
        "source_id": {
          "type": "string",
          "title": "Source Id",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
        },
        "target_id": {
          "type": "string",
          "title": "Target Id",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
        }
      },
      "additionalProperties": false
    },
    "ArticleNeighborhoodNode": {
      "type": "object",
      "title": "ArticleNeighborhoodNode",
      "required": [
        "id",
        "kind",
        "label",
        "canonical_path"
      ],
      "properties": {
        "id": {
          "type": "string",
          "title": "Id",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
        },
        "kind": {
          "enum": [
            "publication",
            "gene",
            "variant",
            "phenotype",
            "disease"
          ],
          "type": "string",
          "title": "Kind"
        },
        "label": {
          "type": "string",
          "title": "Label",
          "maxLength": 500,
          "minLength": 1
        },
        "canonical_path": {
          "type": "string",
          "title": "Canonical Path",
          "pattern": "^/[A-Za-z0-9._~/-]{1,300}$"
        },
        "publication_doi": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255,
              "minLength": 3
            },
            {
              "type": "null"
            }
          ],
          "title": "Publication Doi",
          "default": null
        },
        "publication_pmid": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9]{1,12}$"
            },
            {
              "type": "null"
            }
          ],
          "title": "Publication Pmid",
          "default": null
        },
        "publication_pmcid": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^PMC[0-9]+$"
            },
            {
              "type": "null"
            }
          ],
          "title": "Publication Pmcid",
          "default": null
        },
        "publication_work_id": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
            },
            {
              "type": "null"
            }
          ],
          "title": "Publication Work Id",
          "default": null
        }
      },
      "additionalProperties": false
    },
    "ArticleNeighborhoodReason": {
      "type": "object",
      "title": "ArticleNeighborhoodReason",
      "required": [
        "kind",
        "label",
        "score",
        "model_version",
        "provenance"
      ],
      "properties": {
        "kind": {
          "enum": [
            "shared_gene",
            "shared_variant",
            "shared_phenotype",
            "shared_disease",
            "cites",
            "cited_by",
            "semantic_relatedness"
          ],
          "type": "string",
          "title": "Kind"
        },
        "label": {
          "type": "string",
          "title": "Label",
          "maxLength": 500,
          "minLength": 1
        },
        "score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Score"
        },
        "provenance": {
          "$ref": "#/$defs/ArticleNeighborhoodProvenance"
        },
        "model_version": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
            },
            {
              "type": "null"
            }
          ],
          "title": "Model Version"
        }
      },
      "additionalProperties": false
    },
    "ArticleNeighborhoodProvenance": {
      "type": "object",
      "title": "ArticleNeighborhoodProvenance",
      "required": [
        "source",
        "record_id",
        "canonical_url",
        "retrieved_at"
      ],
      "properties": {
        "source": {
          "type": "string",
          "title": "Source",
          "maxLength": 160,
          "minLength": 1
        },
        "record_id": {
          "type": "string",
          "title": "Record Id",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
        },
        "retrieved_at": {
          "type": "string",
          "title": "Retrieved At",
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
        },
        "canonical_url": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 2048
            },
            {
              "type": "null"
            }
          ],
          "title": "Canonical Url"
        }
      },
      "additionalProperties": false
    },
    "ArticleNeighborhoodUsageBoundary": {
      "type": "object",
      "title": "ArticleNeighborhoodUsageBoundary",
      "required": [
        "review_required",
        "patient_context_evaluated",
        "semantic_similarity_is_evidence"
      ],
      "properties": {
        "review_required": {
          "type": "boolean",
          "const": true,
          "title": "Review Required"
        },
        "patient_context_evaluated": {
          "type": "boolean",
          "const": false,
          "title": "Patient Context Evaluated"
        },
        "semantic_similarity_is_evidence": {
          "type": "boolean",
          "const": false,
          "title": "Semantic Similarity Is Evidence"
        }
      },
      "additionalProperties": false
    }
  },
  "title": "ArticleNeighborhoodResponse",
  "required": [
    "contract_version",
    "anchor_node_id",
    "graph_version",
    "release_channel",
    "policy_version",
    "generated_at",
    "stale_after",
    "freshness",
    "nodes",
    "edges",
    "usage_boundary"
  ],
  "properties": {
    "edges": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ArticleNeighborhoodEdge"
      },
      "title": "Edges",
      "maxItems": 64,
      "minItems": 8
    },
    "nodes": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ArticleNeighborhoodNode"
      },
      "title": "Nodes",
      "maxItems": 25,
      "minItems": 9
    },
    "freshness": {
      "type": "string",
      "const": "CURRENT",
      "title": "Freshness"
    },
    "anchor_pmid": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[0-9]{1,12}$"
        },
        {
          "type": "null"
        }
      ],
      "title": "Anchor Pmid",
      "default": null
    },
    "stale_after": {
      "type": "string",
      "title": "Stale After",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
    },
    "generated_at": {
      "type": "string",
      "title": "Generated At",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
    },
    "graph_version": {
      "type": "string",
      "title": "Graph Version",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
    },
    "anchor_node_id": {
      "type": "string",
      "title": "Anchor Node Id",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9:._/-]{0,159}$"
    },
    "anchor_work_id": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        {
          "type": "null"
        }
      ],
      "title": "Anchor Work Id",
      "default": null
    },
    "policy_version": {
      "type": "string",
      "title": "Policy Version",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
    },
    "usage_boundary": {
      "$ref": "#/$defs/ArticleNeighborhoodUsageBoundary"
    },
    "release_channel": {
      "type": "string",
      "title": "Release Channel",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
    },
    "contract_version": {
      "enum": [
        "0.1",
        "0.2"
      ],
      "type": "string",
      "title": "Contract Version"
    }
  },
  "additionalProperties": false
}
get_work_neighborhood annotations
{
  "title": "Explore a work literature neighborhood",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_corpus_summary — Get corpus summary
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return public corpus coverage, source, freshness, and count metadata. Results are for literature discovery and professional review, not diagnosis or treatment.

get_corpus_summary input schema
{
  "type": "object",
  "title": "GetCorpusSummaryArguments",
  "properties": {},
  "additionalProperties": false
}
get_corpus_summary output schema
{
  "type": "object",
  "$defs": {
    "PublicCorpusCounts": {
      "type": "object",
      "title": "PublicCorpusCounts",
      "required": [
        "source_records",
        "unique_works",
        "gene_mentions",
        "variant_mentions",
        "phenotype_mentions",
        "evidence_links"
      ],
      "properties": {
        "unique_works": {
          "type": "integer",
          "title": "Unique Works"
        },
        "gene_mentions": {
          "type": "integer",
          "title": "Gene Mentions"
        },
        "evidence_links": {
          "type": "integer",
          "title": "Evidence Links"
        },
        "source_records": {
          "type": "integer",
          "title": "Source Records"
        },
        "variant_mentions": {
          "type": "integer",
          "title": "Variant Mentions"
        },
        "phenotype_mentions": {
          "type": "integer",
          "title": "Phenotype Mentions"
        }
      },
      "additionalProperties": false
    },
    "PublicCorpusSource": {
      "type": "object",
      "title": "PublicCorpusSource",
      "required": [
        "source_id",
        "display_name",
        "source_type",
        "source_records",
        "unique_works",
        "evidence_links"
      ],
      "properties": {
        "source_id": {
          "type": "string",
          "title": "Source Id"
        },
        "source_type": {
          "type": "string",
          "title": "Source Type"
        },
        "display_name": {
          "type": "string",
          "title": "Display Name"
        },
        "unique_works": {
          "type": "integer",
          "title": "Unique Works"
        },
        "evidence_links": {
          "type": "integer",
          "title": "Evidence Links"
        },
        "source_records": {
          "type": "integer",
          "title": "Source Records"
        }
      },
      "additionalProperties": false
    }
  },
  "title": "PublicCorpusSummaryResponse",
  "required": [
    "contract_version",
    "generated_at",
    "counts",
    "sources",
    "deduplication_keys",
    "scope"
  ],
  "properties": {
    "scope": {
      "type": "string",
      "title": "Scope"
    },
    "counts": {
      "$ref": "#/$defs/PublicCorpusCounts"
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/PublicCorpusSource"
      },
      "title": "Sources"
    },
    "generated_at": {
      "type": "string",
      "title": "Generated At"
    },
    "contract_version": {
      "type": "string",
      "const": "1.0",
      "title": "Contract Version"
    },
    "deduplication_keys": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Deduplication Keys"
    }
  },
  "additionalProperties": false
}
get_corpus_summary annotations
{
  "title": "Get corpus summary",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
support_helena — Support Helena's free scientific infrastructure
Advertised by the server during the last successful anonymous check.
Advertised read-only

Learn about the separate Helena Good MCP. This opt-in information action initiates no payment or outreach and changes no scientific result.

support_helena input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
support_helena output schema
{
  "type": "object",
  "additionalProperties": true
}
support_helena annotations
{
  "title": "Support Helena's free scientific infrastructure",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

4 advertised

search_biomedical_literature — Search biomedical literature

Advertised by the server during the last successful anonymous check.

Form a source-linked biomedical literature search.

question
A public, non-sensitive question with every known PMID, DOI, or PMCID. (required)
review_publication — Review a publication

Advertised by the server during the last successful anonymous check.

Retrieve and critically review one public PMID.

pmid
One PubMed identifier. (required)
explore_publication_graph — Explore a PMID neighborhood

Advertised by the server during the last successful anonymous check.

Explore source-linked literature around one PMID.

pmid
One PubMed identifier. (required)
explore_work_graph — Explore a work neighborhood

Advertised by the server during the last successful anonymous check.

Explore source-linked literature around one Noodle work ID.

work_id
One Noodle work identifier. (required)

Resources

1 advertised

noodle-literature-methodology — Noodle literature methodology

Advertised by the server during the last successful anonymous check.

Scope, evidence boundaries, and safe-use guidance for Noodle.

noodle-literature-methodology URI
noodle://methodology/v1

MIME type: text/markdown

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1363 ms
95th percentile latency
1363 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1363 ms · metadata changed · 7 tool(s), 1 resource(s), 4 prompt(s); warnings: Advertises resources/templates/list but does not implement it

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http noodle-biomedical-literature-discovery-mcp https://api.helena.bio/noodle/v1/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add noodle-biomedical-literature-discovery-mcp --url https://api.helena.bio/noodle/v1/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable noodle-biomedical-literature-discovery-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "noodle-biomedical-literature-discovery-mcp": {
      "url": "https://api.helena.bio/noodle/v1/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "noodle-biomedical-literature-discovery-mcp": {
      "type": "streamableHttp",
      "url": "https://api.helena.bio/noodle/v1/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start noodle-biomedical-literature-discovery-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "noodle-biomedical-literature-discovery-mcp": {
      "type": "http",
      "url": "https://api.helena.bio/noodle/v1/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http noodle-biomedical-literature-discovery-mcp https://api.helena.bio/noodle/v1/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://api.helena.bio/noodle/v1/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "noodle-biomedical-literature-discovery-mcp": {
      "serverUrl": "https://api.helena.bio/noodle/v1/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Noodle Biomedical Literature Discovery MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.