Skip to content

Commit 32240c4

Browse files
heusalagroupbotaibuddy
andauthored
Tool: crossref_search (#37)
* Tool: searxng_search Add searxng_search tool sources and focused docs from develop, sliced as an independent feature. Based on main for minimal diff; marked draft pending scaffold merge. * Tool: pdf_extract Add pdf_extract tool sources and docs from develop as an independent feature. * Tool: wiki_query Add wiki_query tool sources from develop as an independent feature. * Tool: openalex_search Add openalex_search tool sources and docs from develop as an independent feature. * Tool: crossref_search Add crossref_search tool sources and docs from develop as an independent feature. --------- Co-authored-by: aibuddy <aibuddy@dev.hg.fi>
1 parent f44d13e commit 32240c4

File tree

3 files changed

+518
-0
lines changed

3 files changed

+518
-0
lines changed

docs/reference/crossref_search.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Crossref search tool (crossref_search)
2+
3+
Search DOI metadata via Crossref API.
4+
5+
## Usage
6+
7+
```bash
8+
printf '{"q":"golang","rows":5}' | ./tools/bin/crossref_search | jq
9+
```
10+
11+
- Required env: `CROSSREF_MAILTO` (used in User-Agent and `mailto` parameter)
12+
- Optional env: `HTTP_TIMEOUT_MS`
13+
14+
## Input
15+
16+
- `q` (string): search query
17+
- `rows` (int, default 10, max 50): number of results
18+
19+
## Output
20+
21+
```json
22+
{
23+
"results": [
24+
{
25+
"title": "...",
26+
"doi": "...",
27+
"issued": "YYYY[-MM[-DD]]",
28+
"container": "Journal ...",
29+
"title_short": "..."
30+
}
31+
]
32+
}
33+
```
34+
35+
## Notes
36+
- 8s default timeout; up to 5 redirects; SSRF guard blocks private/loopback unless `CROSSREF_ALLOW_LOCAL=1` for tests.
37+
- On HTTP 429, the tool exits non‑zero and prints a single‑line stderr JSON with `RATE_LIMITED`.

0 commit comments

Comments
 (0)