โฝ๐ SportsPulse MCP
Claude Desktop์์ ์ค์๊ฐ ์คํฌ์ธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ MCP ์๋ฒ
๐ ์ฌ์ฉํ๋ ๋ฌด๋ฃ API
| API | ๋น์ฉ | ๋ฐ์ดํฐ | |-----|------|--------| | TheSportsDB | ์์ ๋ฌด๋ฃ (key: 3) | ํ ์ผ์ , ๊ฒฐ๊ณผ, ๋ง๋๊ฒฐ, ์์ | | balldontlie.io | ์์ ๋ฌด๋ฃ (ํค ๋ถํ์) | NBA ๊ฒฝ๊ธฐ, ์ ์ ์คํฏ | | API-Football | ๋ฌด๋ฃ 100req/day | ๐ด ๋ผ์ด๋ธ ์ค์ฝ์ด, ์ค์๊ฐ ์์ |
โก TheSportsDB + balldontlie ๋ง์ผ๋ก๋ ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅ! API-Football์ ์ ํ์ฌํญ (๋ผ์ด๋ธ ์ค์ฝ์ด ์ํ ๋๋ง ๋ฐ๊ธ)
---
๐ ์ค์น ๋ฐฉ๋ฒ
1. ์์กด์ฑ ์ค์น & ๋น๋
git clone <this-repo>
cd sports-mcp
npm install
npm run build
2. ํ๊ฒฝ ๋ณ์ ์ค์
cp .env.example .env
# .env ํ์ผ์์ RAPIDAPI_KEY ๊ฐ๋ง ๊ต์ฒด (์ ํ์ฌํญ)
3. Claude Desktop ์ค์
Claude Desktop ์ค์ ํ์ผ์ ์ด๊ณ :
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
์๋ ๋ด์ฉ์ ์ถ๊ฐ (๊ฒฝ๋ก๋ ๋ณธ์ธ ํ๊ฒฝ์ ๋ง๊ฒ ์์ ):
{
"mcpServers": {
"sports-pulse": {
"command": "node",
"args": ["/Users/yourname/sports-mcp/dist/index.js"],
"env": {
"SPORTSDB_API_KEY": "3",
"RAPIDAPI_KEY": "your_rapidapi_key_here"
}
}
}
}
4. Claude Desktop ์ฌ์์
์ค์ ์ ์ฅ ํ Claude Desktop์ ์์ ํ ์ข ๋ฃ ํ ์ฌ์์ํ๋ฉด tools ์์ด์ฝ(๐ง)์ ์คํฌ์ธ ๋๊ตฌ๋ค์ด ๋ํ๋ฉ๋๋ค!
---
๐ฌ ์ฌ์ฉ ์์
Claude Desktop์์ ์ด๋ ๊ฒ ๋ฌผ์ด๋ณด์ธ์:
"์ค๋ EPL ๊ฒฝ๊ธฐ ์์ด?"
"์ํฅ๋ฏผ ๋ค์ ๊ฒฝ๊ธฐ ์ธ์ ์ผ?"
"๋งจ์ํฐ ์ต๊ทผ 5๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ ์๋ ค์ค"
"EPL ์์ ๋ณด์ฌ์ค"
"๋งจ์ vs ๋ฆฌ๋ฒํ ์ญ๋ ์ ์ ์ด ์ด๋?"
"๋ ์ด์ปค์ค ์ค๋ ๊ฒฝ๊ธฐ ํ์ด?"
"LeBron James ์ด๋ฒ ์์ฆ ์คํฏ ์ด๋?"
"๋ด ๊ด์ฌํ ํ ํธ๋์ด๋ ๋ ์ด์ปค์ค ์ด๋ฒ ์ฃผ ๊ฒฝ๊ธฐ ๋ธ๋ฆฌํํด์ค"
---
๐ ๏ธ ์ง์ ๋๊ตฌ (Tools)
| Tool | ์ค๋ช
| ํ์ API | |------|------|---------| | get_live_scores | ๐ด ๋ผ์ด๋ธ ์ค์ฝ์ด | API-Football | | get_today_fixtures | ์ค๋ ๊ฒฝ๊ธฐ ์ผ์ /๊ฒฐ๊ณผ | API-Football | | get_upcoming_fixtures | ํ ๋ค์ ๊ฒฝ๊ธฐ ์ผ์ | TheSportsDB | | get_recent_results | ํ ์ต๊ทผ ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ | TheSportsDB | | get_standings | ๋ฆฌ๊ทธ ์์ํ | ๋ ๋ค ์๋ | | get_head_to_head | ๋ง๋๊ฒฐ ๊ธฐ๋ก | TheSportsDB | | get_nba_today | NBA ์ค๋ ๊ฒฝ๊ธฐ | balldontlie | | get_nba_team_games | NBA ํ ์ต๊ทผ ๊ฒฝ๊ธฐ | balldontlie | | get_nba_player_stats | NBA ์ ์ ์คํฏ | balldontlie | | get_weekly_briefing | ๊ด์ฌํ ์ฃผ๊ฐ ๋ธ๋ฆฌํ | TheSportsDB + balldontlie |
---
๐ง ํธ๋ฌ๋ธ์ํ
Q: Claude์์ tool์ด ์ ๋ณด์ฌ์
dist/index.jsํ์ผ์ด ์๋์ง ํ์ธ (npm run build์ฌ์คํ)- config.json์
args๊ฒฝ๋ก๊ฐ ์ ๋๊ฒฝ๋ก์ธ์ง ํ์ธ - Claude Desktop ์์ ์ฌ์์ (๋ฉ๋ด๋ฐ์์ ์์ ์ข ๋ฃ)
Q: "ํ์ ์ฐพ์ ์ ์์ต๋๋ค" ์ค๋ฅ
- ์์ด ํ ์ด๋ฆ์ผ๋ก ์๋ (์: "Tottenham" ๋์ "Tottenham Hotspur")
- TheSportsDB์์ ํ๋ช
๊ฒ์ ํ์ธ:
https://www.thesportsdb.com/api/v1/json/3/searchteams.php?t=Tottenham
Q: ๋ผ์ด๋ธ ์ค์ฝ์ด๊ฐ ์ ๋ผ์
.env์RAPIDAPI_KEYํ์ธ- ๋ฌด๋ฃ 100req/day ์ด๊ณผ ์ฌ๋ถ ํ์ธ
---
๐ฆ ํ๋ก์ ํธ ๊ตฌ์กฐ
sports-mcp/
โโโ src/
โ โโโ index.ts # MCP ์๋ฒ ๋ฉ์ธ + ๋ชจ๋ tool ํธ๋ค๋ฌ
โ โโโ types.ts # ๊ณตํต ํ์
์ ์
โ โโโ utils.ts # ์๊ฐ๋ ๋ณํ, ํ ์ด๋ฆ ์ ๊ทํ
โ โโโ adapters/
โ โโโ sportsdb.ts # TheSportsDB API
โ โโโ nba.ts # balldontlie.io NBA API
โ โโโ apifootball.ts # API-Football (RapidAPI)
โโโ dist/ # ์ปดํ์ผ ๊ฒฐ๊ณผ (npm run build ํ ์์ฑ)
โโโ .env.example
โโโ package.json
โโโ tsconfig.json





