HAL Open Archive Publication Search
halsearch/search-publications
Search HAL, the French open archive of articles, conference papers, theses, preprints and reports: each hit gives the title, authors, production date, document type, journal, DOI, open-access flag and the record's landing page link. The query is a Solr query, so plain words work and fields such as docType_s:ART or authLastName_t:Curie narrow it. 1 to 50 records per page, best match first or sorted by date.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.
Data source
Bibliographic records from HAL, the French open archive run by the Centre pour la communication scientifique directe (CCSD) (hal.science). The records are metadata; each deposited full text carries its own licence, so link back to the record's uri_s. Served by Eden Engine; not an official HAL or CCSD product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "halsearch/search-publications" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "halsearch/search-publications" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "halsearch/search-publications", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "halsearch/search-publications", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 21, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "The search: plain words (climat) or a Solr query such as 'docType_s:THESE AND climat'. Matches all fields by default; the text fields are title_t, abstract_t, authFullName_t."
},
"rows": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Records per page, 1 to 50. Default 10."
},
"sort": {
"enum": [
"producedDate_tdate desc",
"producedDate_tdate asc"
],
"type": "string",
"description": "Leave out for best match first. 'producedDate_tdate desc' puts the newest works first, 'producedDate_tdate asc' the oldest."
},
"start": {
"type": "integer",
"maximum": 9950,
"minimum": 0,
"description": "Offset of the first record, for paging: 0 is the first page, 10 with rows 10 the second. Leave out for the start."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"response"
],
"properties": {
"response": {
"type": "object",
"required": [
"numFound",
"docs"
],
"properties": {
"docs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"docid": {
"type": "string",
"description": "HAL's internal document number."
},
"uri_s": {
"type": "string",
"description": "The record's landing page, which holds its licence and full text."
},
"doiId_s": {
"type": "string"
},
"halId_s": {
"type": "string",
"description": "The HAL identifier, for example hal-01234567."
},
"title_s": {
"type": "array",
"items": {
"type": "string"
},
"description": "Title, in the language of the deposit."
},
"docType_s": {
"type": "string",
"description": "Document type code: ART article, COMM conference paper, THESE thesis, OUV book, COUV chapter, REPORT, MEM dissertation, UNDEFINED preprint, and others."
},
"authFullName_s": {
"type": "array",
"items": {
"type": "string"
},
"description": "Author names, in order."
},
"journalTitle_s": {
"type": "string"
},
"producedDate_s": {
"type": "string",
"description": "When the work was produced: YYYY, YYYY-MM or YYYY-MM-DD."
},
"openAccess_bool": {
"type": "boolean",
"description": "Whether a full text is deposited in open access."
}
},
"additionalProperties": true
},
"description": "The records on this page; empty when nothing matches."
},
"start": {
"type": "integer",
"description": "Offset of the first document returned."
},
"maxScore": {
"type": "number"
},
"numFound": {
"type": "integer",
"description": "Total matches across all pages."
},
"numFoundExact": {
"type": "boolean"
}
},
"additionalProperties": true
}
},
"additionalProperties": true
}