A web application for searching scientific datasets using natural language queries. This application works with the EOSC Data Commons MCP server to help you discover scientific datasets through AI-powered search.
Note: You would currently be using the free version of Mistral LLM, so search results may take 10–15 seconds to complete. Please be patient! :)
Before using this application, you need to install these programs on your computer:
-
Node.js (version 20 or newer)
- Download and install from the official website
- This includes npm (package manager) automatically
- Development version used: Node.js 24.3.0
- Minimum required: Node.js 20.x LTS or newer
-
- Download and install from the official website
- Needed to download the code
-
- Download and set up the backend server
- Must be running on port 8000 for this frontend to work
You can check if they're installed by opening Terminal (Mac) or Command Prompt (Windows) and running these commands one by one:
Check Node.js version:
node --versionCheck npm version:
npm --versionCheck Git version:
git --versionOpen Terminal (Mac) or Command Prompt (Windows) and run these commands one by one:
Clone the repository:
git clone https://github.com/EOSC-Data-Commons/matchmaker.gitNavigate to the project folder:
cd matchmakerInstall dependencies:
npm installFollow the instructions in the backend README to set up and run the server. The frontend expects the backend to be running on port 8000 by default.
Note: If you are running the backend with Docker and encounter an error of HTTP 401, related to
SEARCH_API_KEY=SECRET_KEY_YOU_CAN_USE_IN_FRONTEND_TO_AVOID_SPAM, try removing or commenting out theSEARCH_API_KEYline in your backend.envfile. The backend does not require this key unless you want to restrict API access.
Run this command to start the frontend:
npm run devThe application will open at http://localhost:5173
Before pulling images from GHCR, you may need to log in. Use the following command:
docker login ghcr.ioYou will be prompted for your GitHub username and a personal access token with appropriate permissions (use as password).
For more details, see the official GitHub documentation:
https://docs.github.com/packages/working-with-a-github-packages-registry/working-with-the-container-registry
If you prefer not to install Node.js and npm, you can run the frontend directly using Docker. The backend server must still be running and accessible (see above).
You can pull the latest published image from GitHub Container Registry:
docker pull ghcr.io/eosc-data-commons/matchmaker-frontend:latestOr pull a specific version (replace <version> with the version you want, e.g., 1.2.3):
docker pull ghcr.io/eosc-data-commons/matchmaker-frontend:<version>To run the frontend container and map it to your local port 5173:
docker run -p 5173:80 ghcr.io/eosc-data-commons/matchmaker-frontend:latest- The app will be available at http://localhost:5173
- Make sure your backend server is running and accessible to the container (default: http://localhost:8000)
Note: If running backend and frontend in separate containers, you may need to adjust CORS or network settings for them to communicate.
- Open the application in your web browser
- Type your search in plain English, for example:
- "data about diabetes research in Europe"
- "climate change temperature data from 2000 to 2020"
- Press Enter or click the search button
- Browse through the results
If something doesn't work:
- Make sure the backend server is running first
- Check that Node.js and Git are properly installed
- Try closing and reopening your terminal/command prompt
