// docs / mcp
سرور MCP
FixVibe را به Claude Desktop، Cursor، یا هر clientی که Model Context Protocol را صحبت میکند وصل کنید. agent هوش مصنوعی شما دسترسی typed به اسکنها، findings، و همان پرامپتهای قالبی اصلاحی میگیرد که دکمه Copy fix prompt در dashboard را تغذیه میکنند.
یک API token بسازید
به /account/api-tokens بروید و مثلا یک token با نام claude-desktop بسازید. مقدار plaintext را کپی کنید؛ فقط یک بار نشان داده میشود.
Tokenها credentialهای bearer هستند: هرکس string را داشته باشد میتواند scanهای شما را بخواند و scan جدید شروع کند. مثل password نگهش دارید.
MCP client خود را به /api/mcp اشاره دهید
Claude Desktop / Cursor / Continue / Zed:
{
"mcpServers": {
"fixvibe": {
"transport": "streamable-http",
"url": "https://fixvibe.app/api/mcp",
"headers": {
"Authorization": "Bearer fxv_YOUR_TOKEN_HERE"
}
}
}
}Client را restart کنید. سرور fixvibe باید در فهرست سرورهای MCP آن ظاهر شود.
امتحانش کنید
از agent خود چیزهایی شبیه این بپرسید:
- «۱۰ اسکن آخر FixVibe من را فهرست کن.»
- «findingهای critical در تازهترین scan را نشان بده.»
- «یک passive scan روی
https://staging.example.comشروع کن.» - «برای هر finding با severity بالا روی scan X یک fix بنویس.»
- «آیا روی دامنههای من alert باز live-threat وجود دارد؟»
- با یک finding id،
/fixvibe-fixرا تایپ کنید تا prompt قالبی remediation مستقیم وارد chat شود.
Toolها
- list_scansread
- تا ۱۰۰ اسکن تازهتر را همراه status + تعداد findingها برمیگرداند. Args: limit?: 1..100.
- get_scanread
- بهصورت پیشفرض scan envelope + خلاصه severity برای هر category. برای report کامل include_findings=true را set کنید (برای scanهای پرسر و صدا بزرگ است؛ list_findings + filterها بهتر است). Args: scan_id (uuid), include_findings?: boolean.
- list_findingsread
- Findings صفحهبندیشده در همه scanهای شما. Args: severity?: list, check_id?, since? (ISO 8601), limit?: 1..200.
- start_scanwrite
- Enqueues a scan and returns an id with status queued; poll get_scan to await completion. Passive mode is always available through MCP. Active mode requires a paid plan plus verified-domain authorization from the dashboard. Args: target (URL or hostname), mode? (passive|active).
- list_alertsread
- هشدارهای تهدید زنده (تفاوتهای CT log، تغییرات DNS، فهرستهای threat intel). فقط در طرح Unlimited موجود؛ طرحهای Hobby و Pro یک فهرست خالی برمیگردانند. Args: domain_id?، active_only?، limit?: 1..200.
- get_alertread
- Single alert with the relevant domain, severity, type, and event details. Args: alert_id (uuid).
- dismiss_alertwrite · idempotent
- یک alert را dismissed علامت میزند. Idempotent است؛ dismiss دوباره no-op است. Args: alert_id (uuid).
Resourceها
Resourceها میگذارند client شما دادههای FixVibe را مستقیم به conversation attach کند، بهجای اینکه agent در هر turn دوباره fetch کند. در Claude Desktop، روی منوی @ کلیک کنید → fixvibe.
- fixvibe://scan/{scan_id}/reportjson
- گزارش کامل اسکن FixVibe شامل همه checkها و همه findingها.
- fixvibe://finding/{finding_id}json
- یک finding واحد (severity، title، description، evidence، remediation، CWE).
Slash commandها
- /fixvibe-fixprompt
- Renders a server-side remediation prompt for a finding, using scan context when available and falling back to generic guidance otherwise. Args: finding_id (uuid). No third-party LLM API call is made by FixVibe.
→ Quotaها، RLS، و severity gating برای فراخوانهای MCP و REST کاملا یکسان اعمال میشوند.
