Skip to main content
Glama
Jaime5Alvarez

paper-search-mcp-gateway

README.md
# Paper Search MCP Gateway

FastMCP gateway that exposes [`paper-search-mcp`](https://github.com/openags/paper-search-mcp) as an HTTP MCP server.

Soporta búsqueda y descarga de papers académicos desde arXiv, PubMed, bioRxiv, medRxiv y Google Scholar.

## Tools disponibles

| Tool | Descripción |
|---|---|
| `papers_search_arxiv` | Busca en arXiv |
| `papers_search_pubmed` | Busca en PubMed |
| `papers_search_biorxiv` | Busca en bioRxiv |
| `papers_search_medrxiv` | Busca en medRxiv |
| `papers_search_google_scholar` | Busca en Google Scholar |
| `papers_download_arxiv` | Descarga PDF de arXiv |
| `papers_download_biorxiv` | Descarga PDF de bioRxiv |
| `papers_download_medrxiv` | Descarga PDF de medRxiv |
| `papers_read_arxiv_paper` | Lee texto de un paper de arXiv |

## Variables de entorno

| Variable | Default | Descripción |
|---|---|---|
| `TRANSPORT` | `http` | Transporte MCP: `http`, `sse`, `stdio` |
| `HOST` | `0.0.0.0` | Host donde escucha el servidor |
| `PORT` | `8000` | Puerto donde escucha el servidor |
| `SEMANTIC_SCHOLAR_API_KEY` | _(vacío)_ | API key opcional de Semantic Scholar |

Copia `.env.example` a `.env` y edita los valores.

## Desarrollo local

```bash
uv sync
uv run python main.py
```

El servidor queda disponible en `http://localhost:8000/mcp`.

## Docker

```bash
docker build -t paper-search-gateway .
docker run -p 8000:8000 --env-file .env paper-search-gateway
```

## Despliegue en Dokploy

1. Conecta el repositorio en Dokploy → **New Application** → **GitHub**
2. Selecciona **Dockerfile** como método de build
3. Añade las variables de entorno en **Environment Variables**:
   - `TRANSPORT=http`
   - `PORT=8000`
   - `SEMANTIC_SCHOLAR_API_KEY=` _(opcional)_
4. Expón el puerto `8000`
5. El endpoint MCP quedará en: `https://tu-dominio.com/mcp`

## Conectar desde un cliente MCP

```json
{
  "mcpServers": {
    "papers": {
      "url": "https://tu-dominio.com/mcp",
      "transport": "http"
    }
  }
}
```