https://github.com/the0807/GeekNews-MCP-Server
๐ฐ GeekNews MCP Server
https://github.com/the0807/GeekNews-MCP-Server
Last synced: 3 days ago
JSON representation
๐ฐ GeekNews MCP Server
- Host: GitHub
- URL: https://github.com/the0807/GeekNews-MCP-Server
- Owner: the0807
- License: mit
- Created: 2025-04-05T13:24:37.000Z (15 days ago)
- Default Branch: main
- Last Pushed: 2025-04-13T05:48:56.000Z (7 days ago)
- Last Synced: 2025-04-13T06:28:09.572Z (7 days ago)
- Language: Python
- Homepage:
- Size: 1.27 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-zh - the0807/GeekNews-MCP-Server
README
# GeekNews MCP Server
[](https://smithery.ai/server/@the0807/geeknews-mcp-server)
์ด ํ๋ก์ ํธ๋ [GeekNews](https://news.hada.io)์์ ์ํฐํด์ ๊ฐ์ ธ์ค๋ Model Context Protocol(MCP) ์๋ฒ์ ๋๋ค. Python์ผ๋ก ๊ตฌํ๋์์ผ๋ฉฐ, BeautifulSoup์ ์ฌ์ฉํ์ฌ ์น ์คํฌ๋ํ์ ์ํํฉ๋๋ค. ์๋ฒ ๋ถํ๋ฅผ ์ค์ด๊ธฐ ์ํด ํ๋ฃจ์ ํ ๋ฒ ์๋์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ๊ณ ์บ์์ ์ ์ฅํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
## ๊ธฐ๋ฅ
| | |
|:-------------------------:|:-------------------------:|
|||### ๋๊ตฌ (Tools)
- `get_articles` ๋๊ตฌ: GeekNews์์ ์ํฐํด์ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ
- ์ํฐํด ์ ํ(top, new, ask, show)๊ณผ ๋ฐํํ ์ํฐํด ์๋ฅผ ์ง์ ํ ์ ์์
- ๊ฐ ์๋ต์๋ ์ ๋ชฉ, URL, ํฌ์ธํธ, ์์ฑ์, ์๊ฐ, ๋๊ธ ์, ์์ ์ ๋ณด๊ฐ ํฌํจ๋จ
- ์บ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ ๋ถํ ๊ฐ์- `get_weekly_news` ๋๊ตฌ: GeekNews์์ ์ฃผ๊ฐ ๋ด์ค๋ฅผ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ
- ํน์ ์ฃผ๊ฐ ๋ด์ค ID๋ฅผ ์ง์ ํ๊ฑฐ๋ ๊ฐ์ฅ ์ต๊ทผ ์ฃผ๊ฐ ๋ด์ค๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์
- ์ฃผ๊ฐ ๋ด์ค์ ์ ๋ชฉ, ๋ฒํธ, ID, ๋ด์ฉ, URL, ์์ดํ ๋ชฉ๋ก ๋ฑ์ ์ ๋ณด๋ฅผ ์ ๊ณต
- ๊ฐ ์์ดํ ์๋ ์ ๋ชฉ, URL, ์์ ์ ๋ณด๊ฐ ํฌํจ๋จ
- ์บ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ ๋ถํ ๊ฐ์### ์บ์ ๊ธฐ๋ฅ
- ํ๋ฃจ์ ํ ๋ฒ ์๋์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ๊ณ ์บ์์ ์ ์ฅ
- ์บ์๋ ๋ฐ์ดํฐ๊ฐ ์ ํจํ ๊ฒฝ์ฐ GeekNews ์๋ฒ์ ์์ฒญํ์ง ์๊ณ ์บ์๋ ๋ฐ์ดํฐ ์ฌ์ฉ
- ์บ์ ๋ฐ์ดํฐ๋ 24์๊ฐ ๋์ ์ ํจํ๋ฉฐ, ์ดํ ์๋์ผ๋ก ๊ฐฑ์
- ์ค์ผ์ค๋ฌ๊ฐ ์ฃผ๊ธฐ์ ์ผ๋ก ์บ์ ์ ํจ์ฑ์ ๊ฒ์ฌํ๊ณ ํ์์ ๊ฐฑ์## ์ฌ์ฉ๋ฒ
- Smithery๋ฅผ ์ด์ฉํ ์ค์น
๐ [geeknews-mcp-server](https://smithery.ai/server/@the0807/geeknews-mcp-server)
- MCP ์ค์ ํ์ผ์ ์๋ฒ ์ ๋ณด๋ฅผ ์ถ๊ฐ
```json
{
"mcpServers": {
"geeknews-mcp-server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@the0807/geeknews-mcp-server",
"--key",
"smithery์์ ๋ฐ๊ธ ๋ฐ์ ํค"
]
}
}
}
```## ๋ก์ปฌ ์ค์น ๋ฐฉ๋ฒ
1. Git Clone
```bash
git clone https://github.com/the0807/GeekNews-MCP-Server
cd GeekNews-MCP-Server
```2. uv๋ก ํ๊ฒฝ ์ธํ
```bash
uv sync
```3. ๊ฐ์ํ๊ฒฝ ์คํ
```bash
uv venv
source .venv/bin/activate
```4. MCP Inspector๋ก ์๋ฒ ํ ์คํธ
```bash
uv run mcp
mcp dev main.py# ํฐ๋ฏธ๋์ ๋์ค๋ URL(MCP Inspector)๋ก ์ ์ํ์ฌ ์๋ฒ ํ ์คํธ
```## ์ฝ๋ ๊ตฌ์กฐ
- `src/models.py`: ์ํฐํด ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ฐ์ดํฐ ํด๋์ค ์ ์
- `src/parser.py`: GeekNews ์น์ฌ์ดํธ์ HTML์ ํ์ฑํ์ฌ ์ํฐํด ์ ๋ณด๋ฅผ ์ถ์ถ
- `src/client.py`: GeekNews ์น์ฌ์ดํธ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ HTTP ํด๋ผ์ด์ธํธ
- `src/config.py`: ์ค์ ๊ณผ ์์ ์ ์
- `src/cache.py`: ์บ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ ์ ๊ณต
- `src/scheduler.py`: ์ฃผ๊ธฐ์ ์ธ ๋ฐ์ดํฐ ๊ฐฑ์ ์ค์ผ์ค๋ฌ
- `src/server.py`: MCP ์๋ฒ ๊ตฌํ
- `main.py`: ์๋ฒ ์คํ ์ง์ ์ > [!Note]
> - ์ด ์๋ฒ๋ GeekNews ์น์ฌ์ดํธ์ HTML ๊ตฌ์กฐ์ ์์กดํฉ๋๋ค. ์น์ฌ์ดํธ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ํ์ฑ ๋ก์ง์ ์ ๋ฐ์ดํธํด์ผ ํ ์ ์์ต๋๋ค.
> - ์บ์ ๋ฐ์ดํฐ๋ ์ฌ์ฉ์์ ํ ๋๋ ํ ๋ฆฌ ์๋ `.cache/geeknews-mcp` ํด๋์ ์ ์ฅ๋ฉ๋๋ค.