classScopusMCP

TaehongKim/classScopusMCP
0 starsCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

An MCP server that integrates Scopus, Crossref, and PubMed APIs to search academic papers and fetch abstracts, usable with any MCP-compatible AI client.

README.md

ClassScopus MCP Tool

๐Ÿ“š Model Context Protocol (MCP) ๋„๊ตฌ๋กœ ํ•™์ˆ  ๋…ผ๋ฌธ ๊ฒ€์ƒ‰ ๋ฐ ์ดˆ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ

Scopus, Crossref, PubMed API๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ๋…ผ๋ฌธ์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ดˆ๋ก์„ ๊ฐ€์ ธ์˜ค๋Š” MCP ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. Claude Desktop, Cursor, Ollama ๋“ฑ MCP๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  AI ํด๋ผ์ด์–ธํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ๐Ÿ” ๋…ผ๋ฌธ ๊ฒ€์ƒ‰: Scopus API๋ฅผ ํ†ตํ•œ ๊ฐ•๋ ฅํ•œ ํ•™์ˆ  ๋…ผ๋ฌธ ๊ฒ€์ƒ‰
  • ๐Ÿ“„ ์ดˆ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ: Crossref, PubMed์—์„œ ์ž๋™์œผ๋กœ ์ดˆ๋ก ์ˆ˜์ง‘
  • ๐Ÿ”„ ๋‹ค์ค‘ ์†Œ์Šค: ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ตœ๊ณ  ํ’ˆ์งˆ์˜ ์ดˆ๋ก ์„ ํƒ
  • ๐Ÿ›ก๏ธ ๋ณด์•ˆ: ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•œ ์•ˆ์ „ํ•œ API ํ‚ค ๊ด€๋ฆฌ
  • ๐Ÿš€ ๊ฐ„ํŽธ ์„ค์น˜: npx๋กœ ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ๐Ÿ Python ๋ ˆ๊ฑฐ์‹œ: ๊ธฐ์กด Python ๋ฒ„์ „ ์ฝ”๋“œ ํฌํ•จ

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

1. ์„ค์น˜

# NPM์„ ํ†ตํ•œ ์ „์—ญ ์„ค์น˜
npm install -g abstract-search-mcp

# ๋˜๋Š” npx๋กœ ์ฆ‰์‹œ ์‚ฌ์šฉ
npx abstract-search-mcp

2. API ํ‚ค ์„ค์ •

Scopus API ํ‚ค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Elsevier Developer Portal์—์„œ ๋ฌด๋ฃŒ๋กœ ๋ฐœ๊ธ‰๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ• 1: ํ™˜๊ฒฝ๋ณ€์ˆ˜ (๊ถŒ์žฅ)

export SCOPUS_API_KEY="your_scopus_api_key_here"

๋ฐฉ๋ฒ• 2: ์„ค์ • ํŒŒ์ผ

# config.json ํŒŒ์ผ ์ƒ์„ฑ
cp config.example.json config.json
# config.json ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ API ํ‚ค ์ž…๋ ฅ

3. MCP ํด๋ผ์ด์–ธํŠธ ์„ค์ •

Claude Desktop

~/.claude_desktop_config.json (macOS) ๋˜๋Š” %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "abstract-search": {
      "command": "npx",
      "args": ["abstract-search-mcp"],
      "env": {
        "SCOPUS_API_KEY": "your_scopus_api_key_here"
      }
    }
  }
}

Cursor

ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์˜ .cursor/mcp_config.json:

{
  "mcpServers": {
    "abstract-search": {
      "command": "npx",
      "args": ["abstract-search-mcp"],
      "env": {
        "SCOPUS_API_KEY": "your_scopus_api_key_here"
      }
    }
  }
}

Ollama

MCP ์„ค์ • ํŒŒ์ผ์— ์ถ”๊ฐ€:

{
  "mcpServers": {
    "abstract-search": {
      "command": "npx",
      "args": ["abstract-search-mcp"],
      "env": {
        "SCOPUS_API_KEY": "your_scopus_api_key_here"
      }
    }
  }
}

๐Ÿ› ๏ธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

๋…ผ๋ฌธ ๊ฒ€์ƒ‰

search_papers๋ฅผ ์‚ฌ์šฉํ•ด์„œ 'machine learning' ๊ด€๋ จ ๋…ผ๋ฌธ์„ 5๊ฐœ ๊ฒ€์ƒ‰ํ•ด์ค˜

DOI๋กœ ์ดˆ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ

get_abstract_by_doi๋ฅผ ์‚ฌ์šฉํ•ด์„œ DOI '10.1038/nature12373'์˜ ์ดˆ๋ก์„ ๊ฐ€์ ธ์™€์ค˜

๐Ÿ“‹ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ

1. search_papers

ํ‚ค์›Œ๋“œ๋กœ ๋…ผ๋ฌธ์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ดˆ๋ก์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜:

  • query (ํ•„์ˆ˜): ๊ฒ€์ƒ‰ํ•  ํ‚ค์›Œ๋“œ
  • count (์„ ํƒ): ๊ฒ€์ƒ‰ํ•  ๋…ผ๋ฌธ ์ˆ˜ (๊ธฐ๋ณธ๊ฐ’: 10, ์ตœ๋Œ€: 50)

2. get_abstract_by_doi

DOI๋กœ ํŠน์ • ๋…ผ๋ฌธ์˜ ์ดˆ๋ก์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜:

  • doi (ํ•„์ˆ˜): ๋…ผ๋ฌธ์˜ DOI

๐Ÿ”ง ๊ฐœ๋ฐœ์ž ์ •๋ณด

๋กœ์ปฌ ๊ฐœ๋ฐœ

# ์ €์žฅ์†Œ ๋ณต์ œ
git clone https://github.com/TaehongKim/classScopusMCP.git
cd classScopusMCP

# ์˜์กด์„ฑ ์„ค์น˜
npm install

# ๋กœ์ปฌ ๋งํฌ
npm link

# ํ…Œ์ŠคํŠธ
npx abstract-search-mcp

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

classScopusMCP/
โ”œโ”€โ”€ abstract-search-server.js    # ๋ฉ”์ธ MCP ์„œ๋ฒ„
โ”œโ”€โ”€ bin/
โ”‚   โ””โ”€โ”€ abstract-search.js       # ์‹คํ–‰ ๋ž˜ํผ
โ”œโ”€โ”€ config.example.json          # ์„ค์ • ํŒŒ์ผ ์˜ˆ์‹œ
โ”œโ”€โ”€ claude_desktop_config.example.json  # Claude Desktop ์„ค์ • ์˜ˆ์‹œ
โ”œโ”€โ”€ package.json                 # ํŒจํ‚ค์ง€ ์ •๋ณด
โ”œโ”€โ”€ .npmignore                   # NPM ๋ฌด์‹œ ํŒŒ์ผ
โ”œโ”€โ”€ README.md                    # ๋ฉ”์ธ ๋ฌธ์„œ
โ”œโ”€โ”€ MCP_SETUP_GUIDE.md          # MCP ์„ค์ • ๊ฐ€์ด๋“œ
โ”œโ”€โ”€ MCP_USAGE_GUIDE.md          # MCP ์‚ฌ์šฉ ๊ฐ€์ด๋“œ
โ”œโ”€โ”€ DEPLOYMENT.md               # ๋ฐฐํฌ ๊ฐ€์ด๋“œ
โ””โ”€โ”€ python-legacy/              # Python ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ
    โ”œโ”€โ”€ scopusAPI.py            # Python Scopus API
    โ”œโ”€โ”€ mcp_abstract_search_server.py  # Python MCP ์„œ๋ฒ„
    โ””โ”€โ”€ requirements_mcp.txt     # Python ์˜์กด์„ฑ

๐ŸŒ ์ง€์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

  • Scopus: ์ฃผ์š” ๊ฒ€์ƒ‰ ์—”์ง„
  • Crossref: DOI ๊ธฐ๋ฐ˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฐ ์ดˆ๋ก
  • PubMed: ์˜ํ•™/์ƒ๋ฌผํ•™ ๋…ผ๋ฌธ ์ดˆ๋ก

๐Ÿ“ ๋ผ์ด์„ ์Šค

MIT License - ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! Issue๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ Pull Request๋ฅผ ์ œ์ถœํ•ด ์ฃผ์„ธ์š”.

๐Ÿ“ž ์ง€์›

๐ŸŽฏ ๋กœ๋“œ๋งต

  • [x] Scopus API ํ†ตํ•ฉ
  • [x] Crossref API ํ†ตํ•ฉ
  • [x] PubMed API ํ†ตํ•ฉ
  • [x] MCP ์„œ๋ฒ„ ๊ตฌํ˜„
  • [x] Python ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ํฌํ•จ
  • [ ] arXiv API ํ†ตํ•ฉ
  • [ ] Google Scholar ์ง€์›
  • [ ] ์ธ์šฉ ์ •๋ณด ์ถ”๊ฐ€
  • [ ] ๋…ผ๋ฌธ ์ „๋ฌธ ๋งํฌ ์ œ๊ณต
  • [ ] ์บ์‹ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

๐Ÿ“š ์ถ”๊ฐ€ ๋ฌธ์„œ

---

Made with โค๏ธ for the academic research community

Related MCP servers

Browse all โ†’