سرور MCP
Studio از Model Context Protocol پشتیبانی میکند، پس یک دستیار میتواند «چرا ORDERS.DLQ انباشته شده» را روی کلاسترهای واقعی شما پاسخ دهد، بهجای حدسزدن.
سطح در معرض، حدود دوازده ابزار مبتنی بر قصد است — cluster_health، diagnose_queue، queue_action — نه آینهای از REST API. یک آینه، context مدل را صرف لولهکشی میکند و سرهمکردن تشخیص را به خودش وامیگذارد؛ این ابزارها بهجایش به شکل خودِ پرسشها ساخته شدهاند (ADR-0045، انگلیسی).
گرفتن یک کلید
وارد شوید ← منوی آواتار ← Account ← API keys ← New key ← دامنه و مجوزهایی که باید حمل کند را انتخاب کنید ← مقدار را کپی کنید. فقط یک بار نمایش داده میشود.
اتصال
POST /mcp، روی همان origin رابط کاربری، با کلید بهعنوان bearer token.
{
"mcpServers": {
"artemis-studio": {
"type": "http",
"url": "https://studio.example.com/mcp",
"headers": { "Authorization": "Bearer as_..." }
}
}
}بدون کلاینت هم میشود آزمودش:
curl -s https://studio.example.com/mcp \
-H "Authorization: Bearer as_..." \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'چه چیزهایی هست
| نوع | نام | برای |
|---|---|---|
| Tool | cluster_health | نقش HA هر نود، split-brain، تأخیر replication، هشدارهای فعال |
| Tool | list_resources | صفها، آدرسها، مصرفکنندهها، نشستها، اتصالها، تولیدکنندهها |
| Tool | diagnose_queue | یک صف از ابتدا تا انتها: عمق، روند، مصرفکنندهها، DLQ، رویدادها |
| Tool | metric_series | یک سری زمانی سطلبندیشده برای یک سنجه |
| Tool | config_diff | تفاوتهای پیکربندی طبقهبندیشده میان دو نود |
| Tool | browse_messages / message_body | اول هدرها، سپس یک بدنه بر اساس id |
| Tool | trace_request_reply | جریانها، آمار تأخیر و timeout، انتظارات پیکربندیشده |
| Tool | activity_log | رویدادهای بروکر، یا مسیر ممیزی خود Studio |
| Tool | queue_action | انتقال / retry / حذف / انقضا / purge |
| Tool | send_message | صفکردن یک پیام |
| Tool | alert_rule / studio_setting | قواعد هشدار؛ تنظیمات عملیاتی |
| Resource | studio://clusters، studio://permissions | این کلید چه میبیند و چه میتواند بکند |
| Resource | cluster://{id}/topology، cluster://{id}/capabilities | نودها؛ اتصال از چه پشتیبانی میکند، بههمراه broker.xml لازم برای باقی |
| Prompt | triage_cluster، investigate_queue، before_you_purge، tune_scrape_load | runbookها |
قرارداد ایمنی
دستیاری که یک API مدیریتی در دست دارد، دقیقاً همانجایی است که مدل ایمنی باید کسلکننده و صریح باشد. این یکی هست:
- یک کلید هرگز از مالکش فراتر نمیرود. دسترسیها در هر فراخوانی با دسترسیهای زندهٔ مالک اشتراک گرفته میشوند، پس محدودکردن یک فرد بیدرنگ کلیدهایش را هم محدود میکند (ADR-0046، انگلیسی).
- تغییرها بهطور پیشفرض dry-run اند. یک اجرای مخرب واقعی افزون بر آن نیاز دارد
confirmبرابر نام خودِ صف باشد — که پرسشی جدا ازoverrideمربوط به سقف انبوه است وconfirmهرگز آن را برآورده نمیکند. - همهچیز ممیزی میشود، به نام مالک و با نام کلید ضمیمهشده (
ada [token: laptop-agent])، شامل dry runها. - کلاستری که کلید بر آن دسترسی ندارد با این پاسخ برمیگردد: «چنین کلاستری وجود ندارد، یا این کلید بر آن دسترسی ندارد» — بدون نامبردن از مجوزی و بدون تأیید هیچ id ای.
کشف
studio_help یک ابزار است، نه یک منبع اختیاری؛ و یک کاتالوگ واحد schemaها، متن راهنما، منبع و دستورالعملهای سرور را میسازد — پس نمیتوانند با هم اختلاف پیدا کنند (ADR-0054، انگلیسی).