RestoPromt

RestoPromt MCP Sunucusu — Kurulum & Kullanım

MCPYazılım
RestoPromt10 Temmuz 2026

RestoPromt'un MCP sunucusuna Claude Code'dan bağlanma, sunulan araçlar (add/list/update/delete_prompt) ve kendi MCP sunucunu Cloudflare Workers + McpAgent ile kurma rehberi.

# RestoPromt MCP Sunucusu — Kurulum & Kullanım

RestoPromt'un kendi MCP (Model Context Protocol) sunucusu var. Bu sayede Claude Code
gibi bir istemciden, elle script yazmadan, doğrudan araç çağrısıyla prompt/agent/skill
ekleyip yönetebilir; ihtiyacına en uygun içeriği bulup çekebilirsin. Sunucu Cloudflare
Workers'ta çalışır ve web uygulamasıyla **aynı Neon veritabanını** paylaşır.

- **Uç (endpoint):** `https://restopromt-mcp.slovveis.workers.dev/mcp`
- **Taşıma:** Streamable HTTP
- **Kimlik doğrulama:** Bearer token (gizli). Token'sız istek **401** döner.

---

## Claude Code'a bağlama

```bash
claude mcp add --transport http -s user restopromt \
  https://restopromt-mcp.slovveis.workers.dev/mcp \
  --header "Authorization: Bearer <MCP_TOKEN>"
```

`<MCP_TOKEN>` yerine kendi gizli token'ını koy. Ekledikten sonra Claude Code'u
**yeniden başlat** (MCP araçları oturum başında yüklenir). Artık doğal dille
"şu agent'ı ekle" / "şunlar lazım" dediğinde ilgili araç otomatik çağrılır.

## Sunulan araçlar

| Araç | Ne yapar | Parametreler |
|------|----------|--------------|
| `search_prompts` | Doğal dildeki ihtiyaca en uygun promptları bulur (başlık>açıklama>içerik skoru) | `need`, `type?`, `limit?` |
| `get_prompts` | Birden çok promptun TAM içeriğini tek çağrıda getirir | `ids[]` |
| `list_prompts` | Promptları listeler (substring arama) | `type?`, `q?`, `limit?` |
| `get_prompt` | Tek promptun tüm içeriği | `id` |
| `add_prompt` | Yeni prompt/agent/skill/mcp ekler | `title`, `content`, `description?`, `type?`, `categorySlug?` |
| `update_prompt` | Var olanı günceller | `id` + değişecek alanlar |
| `delete_prompt` | Prompt siler | `id` |

Yazar otomatik olarak sistem kullanıcısıdır; `type` alanı prompt/agent/skill/mcp rozetini belirler.

---

## Örnek kullanımlar

Claude Code'da doğal dille söyle; araçlar otomatik çağrılır.

**1) İhtiyaca göre bulup projeye yerleştirme**
> "Bu projeye bir SEO blog skill'i ve bir güvenlik agent'ı lazım."

1. `search_prompts({ need: "SEO blog güvenlik agent" })` → skorlu aday listesi
2. `get_prompts({ ids: [10, 6] })` → seçilenlerin tam içeriği
3. içerikler `.claude/skills/<ad>/SKILL.md` ve `.claude/agents/<ad>.md` altına yazılır

**2) Türle daraltma**
> "Sadece agent'lara bak: kod inceleme."

`search_prompts({ need: "kod inceleme", type: "agent" })`

**3) Listeleme**
> "MCP dokümanlarını göster." → `list_prompts({ type: "mcp" })`

**4) Yeni içerik ekleme**
> "Şu agent'ı RestoPromt'a ekle." → `add_prompt({ title, content, type: "agent" })`

**5) Güncelleme / silme**
> "11 numaralı promptu güncelle." → `update_prompt({ id: 11, content: "..." })`
> "11 numaralı promptu sil." → `delete_prompt({ id: 11 })`

> İpucu: Belirsiz bir ihtiyaçta önce `search_prompts`, sonra beğendiklerini
> `get_prompts` ile çek. Tam id biliyorsan doğrudan `get_prompts` yeterli.

---

## Kendi MCP sunucunu kurmak istersen (özet)

Cloudflare Workers + Agents SDK (`McpAgent`) deseni:

1. **Kur:** `npm install agents @modelcontextprotocol/sdk zod`
2. **wrangler.jsonc:** bir Durable Object binding + `new_sqlite_classes` migration ekle:
   ```jsonc
   {
     "durable_objects": { "bindings": [{ "name": "MY_MCP", "class_name": "MyMCP" }] },
     "migrations": [{ "tag": "v1", "new_sqlite_classes": ["MyMCP"] }]
   }
   ```
3. **Sunucu:** `McpAgent`'ı genişlet, `init()` içinde `server.registerTool(...)` ile
   araçları tanımla (zod şemasıyla). DB'ye Neon HTTP + Drizzle ile eriş.
4. **Serve + auth:** fetch handler'da önce `Authorization: Bearer <token>` kontrol et,
   sonra `MyMCP.serve("/mcp", { binding: "MY_MCP" })`'e devret. Token'sızsa 401 dön.
5. **Deploy:** `wrangler deploy`; token'ı `wrangler secret put MCP_TOKEN` ile ayarla.

## Güvenlik

- **Token bir secret'tır.** Repoya koyma, paylaşma; yalnızca Cloudflare secret olarak
  ve istemci config'inde tut. Sızarsa `wrangler secret put MCP_TOKEN` ile yenile.
- Sunucu yazma/silme yapabildiği için erişim yalnızca bu token'la olmalı.

Değişiklik öner

Bu promptu yalnızca sahibi düzenleyebilir; ama sen bir iyileştirme önerebilirsin. Sahibi kabul ederse içerik güncellenir.

Öneri göndermek için giriş yap