Sign inSign up

edgaras0x4e/scopus-openwebui-tool

By edgaras0x4e

•Updated 6 months ago

Scopus OpenWebUI tool that lets LLMs search academic papers via the Elsevier Scopus API

Image
Integration & delivery
Machine learning & AI
Data science
0

287

edgaras0x4e/scopus-openwebui-tool repository overview

⁠Scopus Search Tool for OpenWebUI

An OpenWebUI⁠ tool that lets your LLM search the Scopus⁠ academic database for articles, papers, and publications via the Elsevier Scopus Search API⁠.

⁠How it works

  1. OpenWebUI reads this tool's /openapi.json to learn what endpoints are available
  2. The LLM uses the endpoint and field descriptions to construct Scopus queries from natural language
  3. The proxy forwards queries to the Scopus API using your API key and processes the results:
    • Converts DOIs to full clickable URLs
    • Removes internal link arrays and metadata clutter
    • Reorders fields so title, author, journal, and DOI appear first
    • Generates a direct Scopus website link to view all results
  4. A configurable system prompt (returned with each response) tells the LLM how to format results

All endpoint descriptions, query field codes, and the system prompt are defined in config.yaml - you can customize what the LLM sees without touching any code.

⁠Quick start

docker run -d \
  --name scopus-api-proxy \
  -p 22525:8000 \
  -e SCOPUS_API_KEY=your_scopus_api_key_here \
  -e SCOPUS_BEARER_TOKEN=your_bearer_token_here \
  -v ./config.yaml:/app/config.yaml \
  --restart unless-stopped \
  edgaras0x4e/scopus-openwebui-tool

Verify it's running:

curl http://localhost:22525/health

⁠Environment variables

VariableRequiredDescription
SCOPUS_API_KEYYesYour Elsevier Scopus API key (get one here⁠)
SCOPUS_BEARER_TOKENNoBearer token for endpoint authentication. If not set, endpoints are open.

⁠Adding to OpenWebUI

As a user: Go to Settings > Integrations, under Manage Tool Servers click +, and enter http://YOUR_SERVER:22525.

As an admin: Go to Admin Panel > Settings > Integrations and click + to add http://YOUR_SERVER:22525.

If you set SCOPUS_BEARER_TOKEN, add it as the authentication token.

⁠Configuration

All LLM-facing text is defined in config.yaml, not in code:

KeyWhat it controls
system_promptInstructions telling the LLM how to format results
search_descriptionThe /search endpoint description in the OpenAPI spec
query_descriptionThe query field description - lists available Scopus field codes and operators
query_examplesExample queries shown in the OpenAPI spec

To add more Scopus field codes, edit query_description in config.yaml. See the Elsevier Scopus Search Tips⁠ for all available field codes.

⁠Source code

GitHub⁠

⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:2404e111f…

Size

61.1 MB

Last updated

6 months ago

docker pull edgaras0x4e/scopus-openwebui-tool