Give Your AI Agent a Scientist's Library. a Science MCP Server Valyu has launched a hosted science MCP server that gives AI agents access to full-text scientific literature, clinical trials, patents, and other structured data sources. The server exposes eleven tools, including valyu_search, valyu_academic_search, and valyu_bio_search, and can be integrated with Claude Desktop via a custom connector. A controlled before-and-after test demonstrates that scoping queries to specific scientific collections improves the relevance and depth of results. Most "research agent" demos are searching abstracts and calling it literature review. The abstract tells you a Phase 3 melanoma immunotherapy trial hit its endpoint. It does not tell you the imaging protocol used to assess tumour response that lives in the methods section, or a supplementary table, or a figure caption. This walks through wiring a hosted science MCP server into your AI agent, scoping it to actual scientific collections, and running a controlled before-and-after test where exactly one variable changes. Valyu is a search API built for AI agents:one endpoint over biomedical literature, clinical trial registries, patents, financial filings and the open web, returning full text and structured metadata with resolvable identifiers rather than a list of links to go click. mcp-remote . query and max num results and nothing else. included sources in the API, then check result.source on every hit. include abstracts=True result.doi — read it, don't prompt for it. pip install valyu for the API examplesNo Node.js. The hosted server is remote HTTP. The endpoint is: https://mcp.valyu.ai/mcp?valyuApiKey=YOUR API KEY Auth rides in the query string. You can cap spend per session by appending &maxPrice=50 . Claude Desktop / claude.ai — go to claude.ai/settings/connectors https://claude.ai/settings/connectors → Add custom connector → paste the URL. Eleven tools, not one : | Tool | Arguments | Use | |---|---|---| valyu search | query , max num results , fast mode | Web search returning full page content | valyu academic search | query , max num results | Full text across arXiv, PubMed, bioRxiv, medRxiv | valyu bio search | query , max num results | PubMed, clinical trials, FDA labels, bioRxiv, medRxiv, ChEMBL, PubChem, DrugBank, Open Targets, NPI Registry, WHO ICD | valyu patents | query , max num results | Patent documents — claims, abstracts, inventors, filings | valyu contents | urls | Extract content from up to 10 URLs | valyu datasources | category | Enumerate the 36+ datasets at runtime | Plus valyu financial search , valyu sec search adds response length , valyu company research company , sections , valyu economics search and valyu datasources categories . API and SDK only — see the constraint above. Sources are addressed two ways through included sources : presets curated bundles and dataset IDs individual collections . Presets: academic , finance , patent , health , genomics , chemistry , physics , legal , politics , transportation , pulse , cybersecurity , environment , automotive , compliance , medical . Watch the preset boundaries — this bites people. academic covers literature and preprints only: | Dataset ID | Preset | Coverage | |---|---|---| valyu/valyu-pubmed | academic | 37M+ open-access biomedical papers, monthly | valyu/valyu-arxiv | academic | Physics, CS, maths, quant finance, economics | valyu/valyu-biorxiv | academic | 250K+ life-sciences preprints | valyu/valyu-medrxiv | academic | 80K+ clinical/health preprints | valyu/valyu-chemrxiv | academic | 30K+ chemistry preprints | valyu/valyu-clinical-trials | health | 500K+ ClinicalTrials.gov studies, real-time | valyu/valyu-drug-labels | health | 150K+ FDA labels via DailyMed | valyu/valyu-patents | patent | 8M+ USPTO filings, full text and figures | valyu/valyu-patents-epo | patent | 4M+ European filings from 1978 | valyu/valyu-chembl | chemistry | 2.5M+ bioactive compounds | valyu/valyu-pubchem | chemistry | 100M+ compounds | valyu/valyu-open-targets | chemistry | 60K+ drug targets | valyu bio search additionally reaches DrugBank, the NPI Registry and WHO ICD codes, which aren't broken out as dataset IDs in the datasources guide. Clinical trials are not in academic . If you scope a trial question to the academic preset you will get papers about trials, not registry records. Use health , or name valyu/valyu-clinical-trials directly. python from valyu import Valyu valyu = Valyu api key="YOUR API KEY" or set VALYU API KEY response = valyu.search "Phase 3 melanoma immunotherapy trials", search type="proprietary", all | web | proprietary | news included sources= "valyu/valyu-pubmed" , max num results=10, for result in response.results: print result.title print result.source check this print result.doi print result.content Then check the results. Every SearchResult carries a source field. After each search, confirm each result came from a collection you declared. If something arrives from elsewhere, treat the output as unscoped and rerun tighter. Filtering narrows the search; it is not a guarantee of exclusion. Note excluded sources accepts dataset IDs and domains but not presets. Here's the part worth running, with one honest caveat up front. By default include abstracts=False , PubMed search is restricted to papers that have available full text . Setting include abstracts=True expands the search to PubMed's complete abstract corpus and returns document-level abstracts. So this is not a clean single-variable A/B. Two things change at once: the corpus gets bigger, and the returned granularity drops to abstract level. It's still the sharpest comparison the API gives you, but describe it accurately — you are comparing full-text-only retrieval against broad abstract-level retrieval , not "the same search with and without full text." You want a detail that lives in the methods, a figure caption, or a supplement: What imaging protocol did the trial use for tumour response assessment? abstract run = valyu.search "Phase 3 melanoma immunotherapy tumour response assessment imaging protocol", search type="proprietary", included sources= "valyu/valyu-pubmed" , include abstracts=True, widen to the full PubMed abstract corpus max num results=10, This has to run in Python, not through the MCP client. No MCP tool accepts include abstracts — see the section above. Save the output verbatim. This is your baseline. fulltext run = valyu.search "Phase 3 melanoma immunotherapy tumour response assessment imaging protocol", search type="proprietary", included sources= "valyu/valyu-pubmed" , include abstracts=False, default — papers with available full text only max num results=10, Identical query, identical source, identical result count. Save that too. Put them side by side. Does the abstract-only answer contain the imaging protocol? Does the full-text one? If full text surfaces evidence abstract-only missed, you have a controlled result — for this query, this index, and this date. Things not to do with it: Four things, or nobody can reproduce it: the exact call parameters, the full verbatim output, the source list, and the correction. { "query": "