پرش به مطلب اصلی

سرور MCP

ارورا یک نقطهٔ Model Context Protocol در اختیار می‌گذارد تا ایجنت‌های هوش مصنوعی بتوانند خطاهایتان را تفکیک کنند: ردپا بخوانند، لاگ جست‌وجو کنند و باگ ببندند — همه محدود به آنچه صاحب توکن اجازهٔ دیدنش را دارد.

POST https://<your-errora-host>/mcp
Authorization: Bearer errora_pat_…

پروتکل JSON-RPC 2.0 با متدهای استاندارد initialize، tools/list و tools/call.

۱. ساخت توکن دسترسی شخصی​

پروفایل ← توکن‌های دسترسی شخصی ← توکن جدید. یک‌بار کپی‌اش کنید؛ فقط پیشوند آن برای نمایش ذخیره می‌شود. نگاه کنید به توکن‌های دسترسی شخصی.

۲. وصل‌کردن کلاینت​

برای Claude Code یا Claude Desktop (فایل .mcp.json یا تنظیمات MCP خود برنامه):

{
"mcpServers": {
"errora": {
"type": "http",
"url": "https://errora.example.com/mcp",
"headers": { "Authorization": "Bearer errora_pat_…" }
}
}
}

Cursor و بقیهٔ کلاینت‌های MCP هم همین زوج آدرس و هدر را می‌گیرند.

ابزارها​

ابزارچه می‌کند
whoamiکاربر احراز شده و سازمان‌هایش
list_projectsپروژه‌های در دسترس کاربر، در صورت نیاز با فیلتر organization_slug
list_issuesخطاهای یک پروژه — query به سبک Sentry، فیلترهای status، environment، user، مرتب‌سازی sort (times_seen یعنی تعداد رخداد) و limit
get_issueیک ایشو: برای خطا آخرین رویداد (استثنا و فریم‌های ردپا) و برای ایشوی کارایی، جزئیات زمان‌بندی
list_performance_issuesمسیرها و جاب‌های کند همراه با p50/p75/p95/p99، توان عبوری و نرخ خطا
get_performance_issueزمان یک تراکنش کجا می‌رود: تفکیک به ازای op (کوئری، کش، HTTP، اجرای جاب)، کندترین اسپن‌ها و نمونه‌های اخیر
update_issue_statusحل‌کردن / نادیده‌گرفتن / بازکردن دوباره (نیازمند دسترسی نوشتن روی خطا)
search_logsجست‌وجوی لاگ ساخت‌یافته: query، level، user، stats_period، limit
get_wallet_balanceموجودی، سقف اعتبار و هزینهٔ مصرف دورهٔ جاری به تفکیک سرویس

هر ابزار به عضویت‌های صاحب توکن محدود است — ایجنت هرگز پروژه‌ای را نمی‌بیند که کاربرش نمی‌بیند.

مقدار user می‌تواند دامنه‌دار باشد (id:42، email:ada@example.com، username:ada، ip:10.0.0.9) یا مقدار ساده‌ای که با هر کدام از این فیلدها مطابقت کند — همان نحوی که فیلتر کاربر در داشبورد در URL می‌گذارد.

نمونهٔ یک نشست​

// tools/call
{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"list_issues",
"arguments":{"project":"checkout","query":"timeout","status":"unresolved","limit":10}}}

یک پرامپت مفید بعد از وصل‌شدن:

به مهم‌ترین خطاهای باز پروژهٔ checkout نگاه کن، ردپای بدترینشان را بخوان، کد متناظرش را در این مخزن پیدا کن و یک اصلاح پیشنهاد بده.

رصد ترافیک MCP خودتان​

اسپن‌هایی که سرورهای MCP تولید می‌کنند (mcp.*) داشبورد MCP Server را در رصد هوش مصنوعی تغذیه می‌کنند — ترافیک، کلاینت‌ها، متدها و پرکاربردترین ابزارها.

امنیت​

  • هر توکن شخصی دسترسی‌های صاحب خودش را دارد. به ایجنت‌ها توکنی از حسابی بدهید که دقیقاً همان دسترسی موردنظرتان را دارد.
  • توکن‌ها هش‌شده ذخیره می‌شوند و هر لحظه از همان صفحه قابل ابطال‌اند.
  • این نقطه عمداً فقط با توکن کار می‌کند — بدون کوکی، بدون نشست و بدون مسیر CSRF.

عیب‌یابی​

نشانهعلت / راه‌حل
پاسخ 401اشتباه تایپی در توکن، توکن باطل‌شده، یا نبود پیشوند Bearer
کلاینت هیچ ابزاری نمی‌بیندinitialize را کامل نکرده، یا انتظار SSE دارد — ارورا JSON-RPC روی HTTP ساده حرف می‌زند
403 روی update_issue_statusصاحب توکن روی آن پروژه issue:write ندارد
list_projects خالی استکاربر عضو سازمان هست ولی روی هیچ پروژه‌ای project:read ندارد