Skip to main content
Glama
baroenese

SINTA MCP Server

by baroenese
README.md
# SINTA MCP Server (Node.js) ๐ŸŽฏ

> mcp-name: io.github.lightnet19/sinta-mcp-server-node

MCP server **Node.js** untuk mengakses **Science and Technology Index (SINTA)** Indonesia.
Cek skor dosen, profil peneliti, akreditasi jurnal, dan publikasi ilmiah โ€” langsung dari AI assistant Anda!

## โœจ Fitur

| Tool | Deskripsi | Parameter |
|------|-----------|-----------| 
| ๐Ÿ” `sinta_search_dosen` | Cari profil dosen di SINTA | `query` (nama/NIDN) |
| ๐Ÿ‘ค `sinta_detail_dosen` | Detail profil dosen (skor, publikasi) | `url` (URL SINTA) |
| ๐Ÿ“ฐ `sinta_search_jurnal` | Cari jurnal terindeks SINTA | `query`, `akreditasi` (S1-S6) |
| ๐Ÿ“– `sinta_detail_journal` | Detail jurnal SINTA | `url` (URL jurnal) |
| ๐Ÿ“„ `sinta_search_artikel` | Cari artikel/publikasi di SINTA | `query`, `tahun_from`, `tahun_to` |
| ๐Ÿ›๏ธ `sinta_search_affiliations` | Cari afiliasi / perguruan tinggi di SINTA | `query` (nama/singkatan kampus) |
| ๐Ÿข `sinta_detail_affiliation` | Detail metrik perguruan tinggi (skor, produktivitas, prodi) | `url` (URL profil SINTA) |

## ๐Ÿ”ง Instalasi & Menjalankan

```bash
git clone https://github.com/lightnet19/sinta-mcp-server-node.git
cd sinta-mcp-server-node
npm install
node src/server.js
```

## โš™๏ธ Konfigurasi MCP

Tambahkan ke config MCP client Anda (Claude Desktop, AGY, dll):

```json
{
  "mcpServers": {
    "sinta": {
      "command": "node",
      "args": ["/path/to/sinta-mcp-server-node/src/server.js"]
    }
  }
}
```

## ๐Ÿ—๏ธ Arsitektur

```
src/
โ”œโ”€โ”€ server.js          # Entry point, registrasi semua tools
โ”œโ”€โ”€ constants.js       # BASE_URL, HEADERS, helper mcpText()
โ””โ”€โ”€ tools/
    โ”œโ”€โ”€ searchDosen.js
    โ”œโ”€โ”€ detailDosen.js
    โ”œโ”€โ”€ searchJurnal.js
    โ”œโ”€โ”€ detailJournal.js
    โ”œโ”€โ”€ searchArtikel.js
    โ”œโ”€โ”€ searchAffiliations.js
    โ””โ”€โ”€ detailAffiliation.js
```

- **MCP SDK:** `@modelcontextprotocol/sdk` (official)
- **HTTP Client:** `axios`
- **HTML Parser:** `cheerio`
- **Testing:** `vitest`
- **Runtime:** Node.js โ‰ฅ 18, ESM (`"type": "module"`)

## ๐Ÿงช Testing

```bash
npm test          # jalankan semua test (vitest run)
npm run test:watch  # mode watch
```

## โš ๏ธ Catatan

SINTA menggunakan JavaScript rendering. Untuk hasil pencarian artikel yang lebih akurat, gunakan **Exa MCP**, **Semantic Scholar**, **OpenAlex**, atau **CrossRef**.

## ๐Ÿ”— Integrasi dengan MCP Server Lain

| MCP Server | Kegunaan |
|---|---|
| **Exa MCP** | Neural web search, clean markdown fetching |
| **OpenAlex** | 250M+ publikasi global |
| **Semantic Scholar** | Paper search + TLDR |
| **CrossRef** | DOI lookup |

## ๐Ÿ“„ Lisensi

MIT ยฉ 2026 Fuad Al Fajri