openalex-mcp

openalex-mcp

0

The OpenAlex MCP Server is a Node.js-based server using Express and Axios, designed to proxy API queries to the OpenAlex API. It offers features like Docker support for deployment and integrates CI/CD pipelines for continuous integration testing.

OpenAlex MCP Server

Node.js MCP server using Express and Axios to proxy queries to the OpenAlex API.

Author: Samadori H. Biaou

License: MIT License

Prerequisites

  • Node.js (>=14)
  • npm

Installation

npm install

Configuration

Create a .env file in the project root with the following content:

PORT=3000
OPENALEX_BASE_URL=https://api.openalex.org

Running the Server

npm start

The server listens on http://localhost:\<PORT>

API

GET /search

Query parameter:

  • q: search term

Example:

GET http://localhost:3000/search?q=machine%20learning

Production Deployment

Docker

A Dockerfile is provided for production deployment.

  • Build the Docker image:
    docker build -t openalex-mcp .
    
  • Run the container:
    docker run -p 3000:3000 -d openalex-mcp
    

Environment Configuration

Ensure that production environment variables (e.g., PORT and OPENALEX_BASE_URL) are correctly set. For sensitive data, consider using a secrets manager.

Scaling and Monitoring

  • Scaling: Use container orchestrators like Docker Swarm or Kubernetes to scale horizontally based on load.
  • Monitoring: Integrate monitoring solutions (e.g., New Relic, Prometheus, or Grafana) to track server health and performance.

Backup Procedures

Implement automated backup solutions for critical data and configuration files. Regularly back up container volumes and databases if applicable.

Testing and CI/CD

A CI pipeline is configured using GitHub Actions to run unit and integration tests on every push and pull request.