رفتن به محتوا

سرور MCP

@lobbe/mcp یک سرور MCP محلی است. دستیار شما آن را روی رایانهٔ خودتان اجرا می‌کند و از راه stdio با آن حرف می‌زند؛ سرور هم با توکن شخصی API شما با API لُب کار می‌کند. توکن روی رایانهٔ شما می‌ماند: نه در فایل تنظیمات دستیار هست و نه در نتیجهٔ هیچ ابزاری. این سرور به Node.js نسخهٔ ۲۰ یا تازه‌تر نیاز دارد.

  • برای دستیار توکنی جداگانه بسازید، در برنامه و در «اتصال‌ها»، فقط با دسترسی‌هایی که کارش لازم دارد و، اگر دقیقه خرج می‌کند، با سقف روزانه. توکن‌ها و دسترسی‌ها را ببینید.
  • «حالت توسعه‌دهنده» را روشن نگه دارید. تا وقتی خاموش است، هر درخواستی پاسخ 403 DEVELOPER_MODE_OFF می‌گیرد؛ حالت توسعه‌دهنده را ببینید.

توکن را یک بار با login در CLI لُب ذخیره کنید، و بعد سرور را به دستیارتان اضافه کنید:

Terminal window
# Save your token once: run this, and paste it when asked
npx -y @lobbe/cli login
# Claude Code
claude mcp add --scope user lobbe -- npx -y @lobbe/mcp
# Codex
codex mcp add lobbe -- npx -y @lobbe/mcp
Cursor: add to ~/.cursor/mcp.json
{ "mcpServers": { "lobbe": { "command": "npx", "args": ["-y", "@lobbe/mcp"] } } }
Claude Desktop: add to claude_desktop_config.json
{ "mcpServers": { "lobbe": { "command": "npx", "args": ["-y", "@lobbe/mcp"] } } }

npx -y @lobbe/cli login توکن را بی‌آن‌که نشانش دهد می‌پرسد، آن را با لُب بررسی می‌کند، و فقط بعد از آن در ~/.config/lobbe/config.json ذخیره‌اش می‌کند، فایلی که فقط خود شما می‌توانید بخوانید. سرور توکن را از همین فایل می‌خواند، پس تنظیمات دستیار اصلاً توکنی ندارد.

Terminal window
# Save your token once: run this, and paste it when asked
npx -y @lobbe/cli login
# Claude Code
claude mcp add --scope user lobbe -- npx -y @lobbe/mcp

--scope user سرور را در همهٔ پروژه‌ها در دسترس می‌گذارد. در Claude Code فرمان /mcp را اجرا کنید تا ببینید وصل شده است.

Terminal window
# Save your token once: run this, and paste it when asked
npx -y @lobbe/cli login
# Codex
codex mcp add lobbe -- npx -y @lobbe/mcp
Terminal window
# Save your token once: run this, and paste it when asked
npx -y @lobbe/cli login
Cursor: add to ~/.cursor/mcp.json
{ "mcpServers": { "lobbe": { "command": "npx", "args": ["-y", "@lobbe/mcp"] } } }

اگر ~/.cursor/mcp.json از پیش سرورهای دیگری دارد، lobbe را درون mcpServers همان فایل اضافه کنید.

Terminal window
# Save your token once: run this, and paste it when asked
npx -y @lobbe/cli login
Claude Desktop: add to claude_desktop_config.json
{ "mcpServers": { "lobbe": { "command": "npx", "args": ["-y", "@lobbe/mcp"] } } }

فایل را از خود Claude Desktop باز کنید: «Settings» › «Developer» › «Edit Config». lobbe را درون mcpServers اضافه کنید، فایل را ذخیره کنید و Claude Desktop را دوباره باز کنید.

سرور هنگام شروع از لُب می‌پرسد توکن متعلق به کیست و چه کارهایی می‌تواند بکند (GET /whoami)، و فقط ابزارهایی را در اختیار دستیار می‌گذارد که دسترسی‌های توکن اجازه می‌دهند. دسترسی‌های هر توکن هنگام ساختنش ثابت می‌شوند: اگر ابزاری را نمی‌بینید، توکنی با دسترسی لازمِ آن بسازید، npx -y @lobbe/cli login را دوباره اجرا کنید و سرور را از نو راه بیندازید (در بیشتر دستیارها یعنی خود دستیار را دوباره باز کنید).

ابزار مسیر دسترسی‌ها دقیقه مصرف می‌کند
list_meetings GET /recordings/ready recordings:read خیر
search_meetings GET /recordings/search recordings:query خیر
get_meeting GET /recordings/{id}/bundle recordings:read خیر
submit_meeting POST /recordings recordings:write بله
get_meeting_status GET /recordings/{id}/status recordings:read، recordings:write خیر
skip_speaker_naming POST /recordings/{id}/naming recordings:write خیر
retry_meeting POST /recordings/{id}/retry recordings:write خیر
quote_ask_meeting GET /recordings/{id}/ask/quote recordings:query خیر
ask_meeting POST /recordings/{id}/ask recordings:query بله
list_series GET /series/readable series:read خیر
get_series GET /series/{id} series:read خیر
create_series POST /series series:write خیر
update_series PATCH /series/{id} series:write خیر
get_series_keyterms GET /series/{id}/keyterms series:read خیر
set_series_keyterms PUT /series/{id}/keyterms series:write خیر
quote_ask_series GET /series/{id}/ask/quote series:query خیر
ask_series POST /series/{id}/ask series:query بله
get_account GET /account account:read خیر
get_keyterms GET /account/keyterms account:read خیر
set_keyterms PUT /account/keyterms account:write خیر
list_memory GET /account/memory account:read خیر
update_memory_item PATCH /account/memory/{id} account:write خیر
delete_memory_item DELETE /account/memory/{id} account:write خیر
list_events GET /events recordings:read، recordings:write خیر

هر ابزار مسیرِ همان سطر را صدا می‌زند، پس مرجعِ آن مسیر مرجعِ ابزار هم هست. نام پارامترها snake_case است (meeting_id، series_id، max_minutes). دو مسیر ابزار ندارند: GET /whoami که سرور یک بار هنگام شروع صدایش می‌زند، و PATCH /account/settings، چون تغییر آن تنظیمات فقط در برنامه است.

submit_meeting مسیر فایل را روی رایانهٔ شما در path می‌گیرد: مسیری کامل، یا مسیری که با ~/ شروع شود. مسیر نسبی پذیرفته نمی‌شود، و فایلی هم که وجود ندارد، از نوعی نیست که لُب می‌پذیرد یا از سقف ارسال توکن بزرگ‌تر است، پیش از فرستادن هر چیزی رد می‌شود. series_id آن باید سری‌ای باشد که شخص خودش ساخته است، و در یک سری نوع سری به کار می‌رود، نه kind.

ابزارهایی که دقیقه خرج می‌کنند

Section titled “ابزارهایی که دقیقه خرج می‌کنند”
  • submit_meeting به اندازهٔ هزینهٔ جلسه دقیقه خرج می‌کند و پاسخش می‌گوید چند دقیقه؛ هزینهٔ یک جلسه را ببینید.
  • ask_meeting و ask_series برای هر پاسخ دقیقه خرج می‌کنند، حتی وقتی لُب از پاسخ خودداری کند. هر دو max_minutes لازم دارند: بیشترین هزینه‌ای که پاسخ می‌تواند داشته باشد. پاسخ گران‌تر رد می‌شود و هزینه‌ای ندارد. quote_ask_meeting و quote_ask_series قیمت پرسش را رایگان می‌دهند، تا دستیار پیش از پرسیدن به شما بگوید؛ پرسش از یک جلسه را ببینید.
  • retry_meeting مرحلهٔ شکست‌خورده را بدون هزینهٔ تازه دوباره اجرا می‌کند.
  • set_keyterms و set_series_keyterms خودشان دقیقه‌ای خرج نمی‌کنند، اما جلسه‌ای که از واژگان استفاده کند هزینهٔ اضافه‌ای به دقیقه دارد.

توضیح هر ابزار همهٔ این‌ها را به دستیار می‌گوید، و skill لُب هم همین قاعده‌ها را یاد می‌دهد. سقف روزانه روی توکن برای همهٔ این‌ها سقف می‌گذارد.

وقتی جلسه در NAMING منتظر می‌ماند، get_meeting_status لینک نام‌گذاری را برمی‌گرداند و به دستیار می‌گوید آن را به شما بدهد و نام‌ها را حدس نزند. این لینک نام‌گذاری گوینده‌های جلسه را در برنامه برای صاحب جلسه باز می‌کند. دستیار فقط وقتی skip_speaker_naming را صدا می‌زند که خودتان بگویید بدون نام ادامه دهد؛ نام‌گذاری گوینده‌ها را ببینید.

سرور توکن و نشانی سرور لُب را همان‌طور پیدا می‌کند که CLI لُب:

متغیر کاری که می‌کند
LOBBE_TOKEN توکنی به‌جای توکن ذخیره‌شده، برای کانتینرها و CI. در این حالت چیزی از فایل خوانده نمی‌شود.
LOBBE_PROFILE کدام توکن ذخیره‌شده به کار برود: پروفایلی که به npx -y @lobbe/cli login --profile <name> داده‌اید. وگرنه default.
LOBBE_BASE_URL سرور دیگری از لُب، به‌صورت یک origin مثل https://lobbe.example.com.

این متغیرها را در env همان تنظیمات بگذارید؛ مثلاً برای توکنی که با نام work ذخیره شده است:

تنظیمات MCP با یک پروفایل
{ "mcpServers": { "lobbe": { "command": "npx", "args": ["-y", "@lobbe/mcp"], "env": { "LOBBE_PROFILE": "work" } } } }

توکنی که از LOBBE_TOKEN می‌آید به LOBBE_BASE_URL، یا به https://app.lobbe.ai، فرستاده می‌شود و هرگز به سروری که یک پروفایل ذخیره‌شده نام می‌برد. توکن ذخیره‌شده به همان سروری می‌رود که هنگام login با آن بررسی شده است، مگر این‌که LOBBE_BASE_URL تنظیم شده باشد.

سرور پیام‌های خودش را در stderr می‌نویسد، که دستیار شما در لاگ MCP خود نگه می‌دارد. اگر نتواند شروع کند، یک سطر می‌نویسد و با کد 1 بسته می‌شود:

  • Lobbe MCP: no token. Run "npx -y @lobbe/cli login", or set LOBBE_TOKEN. توکنی پیدا نشد: نه در LOBBE_TOKEN و نه در فایل تنظیمات، زیر پروفایلی که دنبالش بود. اگر با --profile وارد شده‌اید، همان LOBBE_PROFILE را در env تنظیمات بگذارید.
  • … doesn't look like a Lobbe token (it should start with lobbe_). آنچه ذخیره یا تنظیم شده توکن نیست: آن را دوباره از «اتصال‌ها» کپی کنید و npx -y @lobbe/cli login را دوباره اجرا کنید.
  • Lobbe MCP: whoami failed: … توکن پیدا شد، اما لُب آن را نپذیرفت یا در دسترس نبود. سرور فقط یک بار می‌پرسد و پس از ۱۰ ثانیه دست می‌کشد، تا دستیار منتظر نماند. این سطر کد لُب را دارد: TOKEN_INVALID یعنی توکن باطل یا منقضی شده است (توکن تازه‌ای بسازید و دوباره وارد شوید)؛ RATE_LIMITED می‌گوید کی دوباره امتحان کنید.
  • DEVELOPER_MODE_OFF. «حالت توسعه‌دهنده» در تنظیمات لُب («حساب» › «توسعه‌دهندگان») خاموش است، که همهٔ توکن‌های حساب را متوقف می‌کند. آن را روشن کنید و سرور را از نو راه بیندازید؛ همان توکن دوباره کار می‌کند. ابزاری که این‌طور رد شود به دستیار می‌گوید دست نگه دارد و به شما خبر بدهد، نه این‌که دوباره امتحان کند.
  • ابزاری دیده نمی‌شود. توکن دسترسی آن را ندارد؛ ابزارها را ببینید.

خطایی که هنگام کار یک ابزار پیش بیاید، به‌صورت خطای همان ابزار برمی‌گردد، با کد لُب، پیامش و کاری که باید کرد؛ هرگز با جزئیات داخلی برنامه و هرگز با توکن. کدها در خطاها آمده‌اند.