RestoPromt MCP Server
by system-conf
README.md
# RestoPromt (Açık Kaynak)
Claude Code için **prompt paylaşım platformu**. Kullanıcılar kayıt olup
**Prompt / Agent / Skill / MCP** türünde paylaşımlar ekler; herkes görüntüleyip
kopyalayabilir ve `.md` olarak indirebilir; yalnızca sahibi düzenler/siler,
diğerleri değişiklik önerisi gönderir, sahibi onaylar veya reddeder.
MIT lisansıyla açık kaynaktır — çatallayıp kendi prompt platformunu kurabilirsin.
**Canlı demo:** https://restopromt-web.slovveis.workers.dev
## Özellikler
- Ana sayfada arama, kategori + tür filtreleri
- Tek tıkla kopyalama, akıllı adlandırılmış `.md` indirme
- Çoklu seçim → proje yapısına uygun toplu `.zip` indirme
(`CLAUDE.md` köke, agent'lar `.claude/agents/`, skill'ler `.claude/skills/<ad>/SKILL.md`)
- Beğeni sistemi
- Değişiklik önerisi akışı (öner → sahibi onaylar/reddeder)
- E-posta/şifre + opsiyonel Google girişi (Auth.js v5, JWT session)
- Admin paneli (`/admin`) — `ADMIN_EMAILS` allowlist ile
- `/komutlar` — aranabilir Claude Code slash komut rehberi (detay sayfalarıyla)
- **MCP sunucusu** — Claude Code'dan doğal dille prompt arayıp projene çekebilirsin
## Teknolojiler
- [Next.js 16](https://nextjs.org) (App Router) + TypeScript
- Tailwind CSS v4 + shadcn/ui (koyu tema)
- Drizzle ORM + [Neon](https://neon.tech) Postgres (HTTP sürücüsü — edge uyumlu)
- Auth.js v5
- Cloudflare Workers + [@opennextjs/cloudflare](https://opennext.js.org/cloudflare)
- Ayrı MCP Worker'ı (Cloudflare Agents SDK `McpAgent`)
## Kurulum
```bash
npm install
cp .env.example .env.local # DATABASE_URL ve AUTH_SECRET doldur
npm run db:push # şemayı Neon'a uygula
npm run db:seed # kategorileri ekle
npm run dev
```
→ http://localhost:3000
### Google ile giriş (opsiyonel)
[Google Cloud Console](https://console.cloud.google.com/apis/credentials)'dan
OAuth client oluştur (redirect URI: `http://localhost:3000/api/auth/callback/google`)
ve `.env.local` içine `GOOGLE_CLIENT_ID` / `GOOGLE_CLIENT_SECRET` ekle.
Doldurulduğunda giriş/kayıt sayfalarında Google butonu otomatik görünür.
## Cloudflare'e deploy
```bash
npm run deploy # web uygulaması (OpenNext build + wrangler deploy)
```
Web worker secret'ları: `DATABASE_URL`, `AUTH_SECRET`, `AUTH_TRUST_HOST`,
`ADMIN_EMAILS` → `npx wrangler secret put <AD>` ile ekle.
### MCP worker
```bash
npx wrangler secret put DATABASE_URL -c mcp-server/wrangler.jsonc
npx wrangler secret put MCP_TOKEN -c mcp-server/wrangler.jsonc
npx wrangler deploy -c mcp-server/wrangler.jsonc
```
Claude Code'a eklemek için:
```bash
claude mcp add restopromt -s user -t http https://<worker-adresin>/mcp \
-H "Authorization: Bearer <MCP_TOKEN>"
```
Sunduğu araçlar: `search_prompts` (doğal dil, skorlu arama), `get_prompts`
(toplu tam içerik), `list_prompts`, `get_prompt`, `add_prompt`, `update_prompt`,
`delete_prompt`. Tipik akış: "şu prompt'lar lazım" → search → get → projeye yaz.
## Komutlar
| Komut | Açıklama |
|---|---|
| `npm run dev` | Geliştirme sunucusu |
| `npm run build` | Production build |
| `npm run deploy` | Cloudflare'e build + deploy |
| `npm run preview` | Cloudflare build'ini yerelde önizle |
| `npm run db:push` | Drizzle şemasını veritabanına uygula |
| `npm run db:seed` | Başlangıç kategorilerini ekle |
| `npm run db:studio` | Drizzle Studio (DB arayüzü) |
| `npx wrangler deploy -c mcp-server/wrangler.jsonc` | MCP worker deploy |
## Katkı
PR'lar ve issue'lar memnuniyetle karşılanır. Büyük bir değişiklik öncesi
issue açıp tartışmak iyi olur.
## Lisans
[MIT](LICENSE)
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues