MCPfinder
by JaeyunKim62
README.md
# π MCPfinder β λͺ¨λ AI μμ΄μ νΈλ₯Ό μν MCP ν΅ν© λλ ν 리
**νκ΅μ΄** | [English](README.en.md)
**π [mcpfinder-ashen.vercel.app](https://mcpfinder-ashen.vercel.app/)**
**34,000κ° μ΄μμ MCP(Model Context Protocol) μλ²**λ₯Ό κ²μνκ³ , Claude Desktop Β· Cursor Β· Windsurf Β· Zed Β· Claude Code μ€μ μ λ°λ‘ λ§λ€μ΄ μ£Όλ μ€νμμ€ λλ ν 리μ
λλ€. λ§€μΌ μλμΌλ‘ μ
λ°μ΄νΈλ©λλ€.



---
## β¨ μ£Όμ κΈ°λ₯
- **β‘ 34,000κ° μ΄μμ μλ²**: 곡μ MCP λ μ§μ€νΈλ¦¬, `punkpeye/awesome-mcp-servers`, npm, GitHub ν ν½(`mcp-server`, `model-context-protocol`, star 3κ° μ΄μ)μ λͺ¨μμ μ€λ³΅μ μ 리ν©λλ€.
- **π λ§€μΌ μλ λκΈ°ν**: GitHub Actionsκ° λ§€μΌ μ μλ²μ λ³κ²½ μ¬νμ κ°μ Έμ 컀λ°νκ³ , Vercelμ΄ μλμΌλ‘ λ€μ λ°°ν¬ν©λλ€.
- **π οΈ ν΄λΌμ΄μΈνΈλ³ μ€μ μμ±**:
- **Claude Desktop**, **Cursor**, **Windsurf**, **Zed**, **Claude Code CLI**(`claude mcp add`)μ© μ€μ μ ν΄λ¦ ν λ²μΌλ‘ λ§λλλ€.
- API ν€λ DB μ£Όμλ₯Ό μ
λ ₯νλ©΄ μ€μ JSONμ λ°λ‘ λ°μλ©λλ€.
- **π κ²μκ³Ό νν°**:
- 50κ° μ΄μμ μΉ΄ν
κ³ λ¦¬(λ°μ΄ν°λ² μ΄μ€, κ°λ° λꡬ, κ²μ, μ½λ© μμ΄μ νΈ, κΈμ΅ λ±)
- μΈμ΄(TypeScript, Python, Go, Rust), μ€ν λ°©μ(λ‘컬 stdio / ν΄λΌμ°λ μ격), 곡μ μ¬λΆ, μ΅κ·Ό μ
λ°μ΄νΈλ‘ νν°
- μΉ΄λ 보기 / ν 보기, `βK`(`Ctrl+K`) λ¨μΆν€
- **π€ MCP μλ²λ‘λ μ¬μ© κ°λ₯**: Claudeκ° λν μ€μ μ§μ MCPλ₯Ό μ°Ύμ μΆμ²νκ³ μ€μΉ μ€μ κΉμ§ λ§λ€μ΄ μ€λλ€. (μλ μ°Έκ³ )
---
## π€ MCP μλ²λ‘ μ¬μ©νκΈ°
μ΄ λλ ν 리 μμ²΄κ° MCP μλ²μ
λλ€. μ°κ²°ν΄ λλ©΄ *"μ΄ νλ‘μ νΈμ νμν MCP μ°Ύμμ€"* μ²λΌ λ¬Όμ΄λ³Ό μ μμ΅λλ€.
```bash
claude mcp add --transport http mcpfinder https://mcpfinder-ashen.vercel.app/api/mcp
```
| λꡬ | νλ μΌ |
|---|---|
| `search_mcp_servers` | ν€μλ κ²μ (μΉ΄ν
κ³ λ¦¬ / λ‘컬·ν΄λΌμ°λ / 곡μ μ¬λΆ νν°) |
| `get_install_config` | Claude Code, Claude Desktop, Cursor, Windsurf, Zedμ© μ€μ μμ± |
| `list_categories` | μΉ΄ν
κ³ λ¦¬μ μλ² μ |
λ‘컬μμ μ€ννλ €λ©΄ (ν΄λ‘ ν `npm install && npm run build:data`):
```bash
claude mcp add mcpfinder -- npx tsx /path/to/mcpfinder/mcp/stdio.ts
```
---
## β MCP μΆκ° μμ²
λͺ©λ‘μ μλ MCPκ° μλ€λ©΄ [`data/manual.json`](data/manual.json)μ μ μ₯μ μ£Όμλ₯Ό μΆκ°νλ PRμ λ³΄λ΄ μ£ΌμΈμ. λ€μ λκΈ°ν λ λ°μλ©λλ€.
```json
{ "url": "https://github.com/owner/repo", "install": "npx -y github:owner/repo" }
```
`install`μ npm/PyPIμ λ°°ν¬λμ§ μμ κ²½μ°μλ§ μ μΌλ©΄ λ©λλ€.
---
## π μ§μ μ€ννκΈ°
```bash
npm install
npm run dev # http://localhost:3000 (λ°μ΄ν° λΉλκ° λ¨Όμ μλ μ€νλ¨)
```
| λͺ
λ Ή | μ€λͺ
|
|---|---|
| `npm run sync` | λ°μ΄ν° μμ€μμ μ μλ² κ°μ Έμ€κΈ° (μ¦λΆ, μ½ 30μ΄) |
| `GITHUB_TOKEN=... npm run sync:github-search` | GitHub ν ν½ κ²μ + manual.json μμ§ |
| `GITHUB_TOKEN=... npm run sync:github` | GitHub μ€νΒ·ν¬ν¬Β·μμΉ΄μ΄λΈ μ 보 μ±μ°κΈ° |
| `npm run build:data` | μΉμ© μΉ΄νλ‘κ·Έ λ°μ΄ν° μμ± |
| `npm run typecheck && npm test` | νμ
κ²μ¬μ ν
μ€νΈ |
| `npm run build` | λ°°ν¬μ© λΉλ (`dist/`) |
---
## βοΈ Vercel λ°°ν¬
1. [vercel.com/new](https://vercel.com/new)μμ μ΄ μ μ₯μλ₯Ό Importν©λλ€.
2. **Vite**κ° μλ κ°μ§λ©λλ€ (Build: `npm run build`, Output: `dist`). νκ²½λ³μλ νμ μμ΅λλ€.
3. Deploy. μ΄ν `main`μ pushλ λλ§λ€(λ§€μΌ μλ λ°μ΄ν° λκΈ°ν ν¬ν¨) λ€μ λ°°ν¬λ©λλ€.
μλ λκΈ°νκ° κ²°κ³Όλ₯Ό 컀λ°νλ €λ©΄ μ μ₯μ Settings β Actions β Workflow permissionsλ₯Ό **Read and write**λ‘ μ€μ ν΄μΌ ν©λλ€.
`dist/`μ `public/data/`λ λΉλ κ²°κ³Όλ¬Όμ΄λΌ 컀λ°νμ§ μκ³ `data/servers.json`μμ λ€μ λ§λ€μ΄μ§λλ€.
---
## π νλ‘μ νΈ κ΅¬μ‘°
```
mcpfinder/
βββ .github/workflows/
β βββ update-mcp-data.yml # λ§€μΌ λ°μ΄ν° μλ λκΈ°ν
β βββ ci.yml # PRλ§λ€ νμ
κ²μ¬Β·ν
μ€νΈΒ·λΉλ
βββ data/
β βββ servers.json # μλ³Έ λ°μ΄ν°μ
(34,000+ μλ²)
β βββ sync-state.json # μ¦λΆ λκΈ°ν μμ κ³Ό κΈ°λ‘
β βββ raw/ # μμ€λ³ μΊμ (μ»€λ° μ ν¨)
βββ api/
β βββ mcp.ts # Vercel ν¨μ: μ격 MCP μλν¬μΈνΈ (/api/mcp)
βββ mcp/
β βββ server.ts # MCP λꡬ: κ²μ, μ€μΉ μ€μ , μΉ΄ν
κ³ λ¦¬
β βββ stdio.ts # λ‘컬 stdio μ€ν
βββ scripts/
β βββ sync.ts # λκΈ°ν μ 체 νλ¦ (npm run sync)
β βββ merge.ts # μ€λ³΅ μ κ±°μ μΉ΄ν
κ³ λ¦¬ λΆλ₯
β βββ build-catalog.ts # μΉμ© λ°μ΄ν° μμ± β public/data/
β βββ sources/ # λ μ§μ€νΈλ¦¬, awesome-list, npm, GitHub μμ§κΈ°
βββ src/
βββ components/ # ν€λ, νν°, μΉ΄λ, ν, μ€μ μμ± λͺ¨λ¬
βββ i18n/ # νκ΅μ΄ / μμ΄ λ²μ (μ£Όμ μλ² μ€λͺ
: npm run build:i18n)
βββ utils/
β βββ aiMatcher.ts # μμ°μ΄ μ§λ¬Έ β μλ² μΆμ²
β βββ configGenerator.ts # ν΄λΌμ΄μΈνΈλ³ μ€μ μμ±
βββ App.tsx
```
---
## π λΌμ΄μ μ€
[MIT](LICENSE)
This server cannot be deployed