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.