Pubmed_Search
If you are the rightful owner of Pubmed_Search and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The PubMed Search MCP Server analyzes medical queries to search for related papers on PubMed, providing results based on relevance and journal Impact Factor in EndNote format.
PubMed Search MCP Server
Model Context Protocol(MCP) ์๋ฒ๋ก, ์ํ ์ฃผ์ ์ ๊ดํ ์ง๋ฌธ์ ๋ถ์ํ์ฌ PubMed์์ ๊ด๋ จ ๋ ผ๋ฌธ์ ๊ฒ์ํ๊ณ ์ฐ๊ด์ฑ ๋ฐ ์ ๋ Impact Factor์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๋ฅผ EndNote ํ์์ผ๋ก ์ ๊ณตํฉ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
- ๊ฒ์ ์ฟผ๋ฆฌ ๋ถ์: ์ํ ๊ด๋ จ ์ง๋ฌธ์ ๋ถ์ํ์ฌ, PubMed API๋ฅผ ํตํด ์ํ ๋ ผ๋ฌธ ๊ฒ์
- ์ฐ๊ด์ฑ ๋ถ์: ๋ ผ๋ฌธ์ ์ ๋ชฉ, ์ด๋ก, MeSH ์ฉ์ด ๋ฑ์ ๋ถ์ํ์ฌ ์ง๋ฌธ๊ณผ ๊ฐ์ฅ ๊ด๋ จ์ฑ ๋์ ๋ ผ๋ฌธ ์ ๋ณ
- Impact Factor ๊ธฐ๋ฐ ์ ๋ ฌ: ์ ๋์ Impact Factor์ ๋ฐ๋ผ ๋ ผ๋ฌธ์ ์ ๋ ฌํ์ฌ ์ํฅ๋ ฅ ๋์ ์ฐ๊ตฌ ์ ๊ณต
- EndNote ํ์ ์ถ๋ ฅ: ์ ๋ณ๋ ๋ ผ๋ฌธ์ EndNote ํธํ ํฌ๋งท์ผ๋ก ์ถ๋ ฅํ์ฌ ๋ฌธํ ๊ด๋ฆฌ ์ฉ์ด
- ๊ฒฐ๊ณผ ๋ถ๋ฅ: ์ธ ๊ฐ์ง ํ์ผ๋ก ๊ฒฐ๊ณผ ์ ๊ณต
- ์ฐ๊ด์ฑ์ด ๋์ ๋ ผ๋ฌธ ๋ชฉ๋ก
- Impact Factor๊ฐ ๋์ ๋ ผ๋ฌธ ๋ชฉ๋ก
- Impact Factor ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ์ ๋์ ๋ ผ๋ฌธ ๋ชฉ๋ก
๋๊ตฌ ์ค๋ช
-
pubmed_search: PubMed์์ ์ํ ๋ ผ๋ฌธ ๊ฒ์ ๋ฐ ๋ถ์
- ์
๋ ฅ:
query
(string, ํ์): ์ํ ๊ด๋ จ ์ง๋ฌธ ๋๋ ๊ฒ์ ์ฟผ๋ฆฌmaxResults
(number, ์ ํ, ๊ธฐ๋ณธ๊ฐ: 10): ๋ฐํํ ์ต๋ ๊ฒฐ๊ณผ ์outputDir
(string, ์ ํ, ๊ธฐ๋ณธ๊ฐ: "./output"): ๊ฒฐ๊ณผ ํ์ผ์ ์ ์ฅํ ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก
- ์
๋ ฅ:
-
load_impact_factor: Impact Factor ๋ฐ์ดํฐ ํ์ผ ๋ก๋
- ์
๋ ฅ:
filePath
(string, ํ์): Impact Factor ๋ฐ์ดํฐ ํ์ผ ๊ฒฝ๋ก
- ์
๋ ฅ:
์ค์น ๋ฐ ์ค์
ํ์ ์กฐ๊ฑด
- Node.js 16 ์ด์
- NCBI API ํค (๋ฌด๋ฃ๋ก ๋ฐ๊ธ ๊ฐ๋ฅ: https://ncbiinsights.ncbi.nlm.nih.gov/2017/11/02/new-api-keys-for-the-e-utilities/)
- Impact Factor ๋ฐ์ดํฐ JSON ํ์ผ
Impact Factor ๋ฐ์ดํฐ ๋ณํ
PDF ํ์์ Impact Factor ๋ฐ์ดํฐ๋ฅผ JSON์ผ๋ก ๋ณํ:
# ๋ณํ ์คํฌ๋ฆฝํธ ์คํ
node impact-factor-converter.js impact-factor.pdf impact_factor_data.json
์ค์น
# ์ ์ฅ์ ํด๋ก
git clone https://github.com/YOUNGSUK81/Pubmed_Search.git
cd Pubmed_Search
# ์์กด์ฑ ์ค์น
npm install
# ๋น๋
npm run build
ํ๊ฒฝ ๋ณ์ ์ค์
# NCBI API ํค ์ค์
export NCBI_API_KEY=your_api_key_here
# Impact Factor ๋ฐ์ดํฐ ๊ฒฝ๋ก ์ค์ (์ ํ ์ฌํญ)
export IMPACT_FACTOR_PATH=./path/to/impact_factor_data.json
# ์ถ๋ ฅ ๋๋ ํฐ๋ฆฌ ์ค์ (์ ํ ์ฌํญ)
export OUTPUT_DIR=./output
์ฌ์ฉ ๋ฐฉ๋ฒ
Claude Desktop๊ณผ ํจ๊ป ์ฌ์ฉ
Claude Desktop ์ค์ ํ์ผ(claude_desktop_config.json
)์ ๋ค์์ ์ถ๊ฐ:
{
"mcpServers": {
"pubmed-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-pubmed-search"],
"env": {
"NCBI_API_KEY": "9585a3fc07ce86e32a3f42169e2c571a5708",
"IMPACT_FACTOR_PATH": "./impact_factor_data.json",
"OUTPUT_DIR": "./output"
}
}
}
}
Docker ์ฌ์ฉ
{
"mcpServers": {
"pubmed-search": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NCBI_API_KEY=9585a3fc07ce86e32a3f42169e2c571a5708",
"-v",
"/path/to/impact_factor_data.json:/data/impact_factor_data.json",
"-v",
"/path/to/output:/data/output",
"mcp/pubmed-search"
]
}
}
}
VS Code์ ํจ๊ป ์ฌ์ฉ
VS Code ์ค์ ํ์ผ(.vscode/settings.json
๋๋ User Settings)์ ๋ค์ ์ถ๊ฐ:
{
"mcp": {
"servers": {
"pubmed-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-pubmed-search"],
"env": {
"NCBI_API_KEY": "9585a3fc07ce86e32a3f42169e2c571a5708",
"IMPACT_FACTOR_PATH": "./impact_factor_data.json",
"OUTPUT_DIR": "./output"
}
}
}
}
}
๋์ปค ๋น๋
์ง์ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋ ค๋ฉด:
docker build -t mcp/pubmed-search .
๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
pubmed-search-mcp-server/
โโโ package.json # ํ๋ก์ ํธ ์์กด์ฑ ์ ๋ณด
โโโ tsconfig.json # TypeScript ์ค์
โโโ Dockerfile # Docker ๋น๋ ์ค์
โโโ README.md # ํ๋ก์ ํธ ๋ฌธ์
โโโ impact-factor-converter.js # PDF โ JSON ๋ณํ ์คํฌ๋ฆฝํธ
โโโ impact_factor_data.json # Impact Factor ๋ฐ์ดํฐ (์์ฑ๋จ)
โโโ src/
โ โโโ index.ts # ๋ฉ์ธ ์๋ฒ ํ์ผ
โ โโโ pubmed-service.ts # PubMed API ๋ฐ ๋ถ์ ์๋น์ค
โโโ output/ # ๊ฒฐ๊ณผ ์ถ๋ ฅ ๋๋ ํฐ๋ฆฌ (์์ฑ๋จ)
โโโ relevance-results.txt # ์ฐ๊ด์ฑ ๋์ ๋
ผ๋ฌธ ๊ฒฐ๊ณผ
โโโ impact-factor-results.txt # Impact Factor ๋์ ๋
ผ๋ฌธ ๊ฒฐ๊ณผ
โโโ unknown-impact-factor.txt # Impact Factor ๋ฏธ์ ๋
ผ๋ฌธ ๋ชฉ๋ก
๊ฐ๋ฐ ๊ฐ์ด๋
ํ๋ก์ ํธ ํ์ฅ ์ ๊ณ ๋ คํ ์ฌํญ:
- pubmed-service.ts: PubMed API ์์ฒญ ๋ฐ ๊ฒฐ๊ณผ ์ฒ๋ฆฌ ๋ก์ง์ด ํฌํจ๋ ํต์ฌ ๋ชจ๋
- index.ts: MCP ์๋ฒ ์ด๊ธฐํ ๋ฐ ๋๊ตฌ ์ ์, ์์ฒญ ์ฒ๋ฆฌ ๋ชจ๋
- impact-factor-converter.js: Impact Factor ๋ฐ์ดํฐ ๋ณํ ์คํฌ๋ฆฝํธ (PDF โ JSON)
์ ๊ธฐ๋ฅ ์ถ๊ฐํ๊ธฐ
์๋ก์ด ๊ธฐ๋ฅ์ด๋ ๋๊ตฌ๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด:
pubmed-service.ts
์ ํ์ํ ํจ์ ๊ตฌํindex.ts
์ListToolsRequestSchema
ํธ๋ค๋ฌ์ ๋๊ตฌ ์ ์ ์ถ๊ฐCallToolRequestSchema
ํธ๋ค๋ฌ์ ๋๊ตฌ ์ฒ๋ฆฌ ๋ก์ง ์ถ๊ฐ
๋ผ์ด์ผ์ค
MIT ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ์กฐํ์ธ์.