חיבור דרך MCP
מוסיפים את OneLi ל־Claude, ChatGPT, Cursor, VS Code או כל לקוח MCP.
מה זה הקונקטור
הקונקטור הוא שרת MCP: כתובת אחת שמוסיפים לסוכן ה־AI שלכם (Claude, Grok, ChatGPT, Cursor או סוכן שכתבתם). אחרי החיבור הוא יכול לפתוח שיחות טלפון בשמכם, לעקוב אחריהן ולענות כשהסוכנת הקולית מתייעצת, וגם לנהל את כל המערכת שלכם: לבנות ולערוך סוכנים, להפעיל אותם לשיחות יוצאות, לקרוא את השיחות שלהם, לנהל את מאגר הידע ואת הוואטסאפ. החיבור הוא לחשבון OneLi שלכם בלבד.
https://mcp.oneli.io/mcpהתעבורה היא Streamable HTTP. ההתחברות היא ב־OAuth (ברירת המחדל: מסך אישור ב־oneli.io) או עם מפתח API בכותרת Authorization, בלקוחות שמאפשרים כותרות.
Claude (אתר ואפליקציה)
- בדף חיבור הסוכן מעתיקים את כתובת הקונקטור.
- ב־Claude (באתר או באפליקציה) נכנסים בסרגל הצד ל־Customize, בלשונית Connectors לוחצים + Add → Add custom connector, כותבים שם (למשל OneLi), מדביקים את הכתובת ב־MCP server URL ולוחצים Continue. (בגרסאות קודמות זה היה ב־Settings → Connectors.)
- נפתח מסך האישור של OneLi. אם צריך, מתחברים עם אותו חשבון, ולוחצים אישור וחיבור.
- חוזרים לצ׳אט וכותבים: ״השתמש ב־OneLi כדי לאמת את החיבור״. הסוכן יענה עם החשבון והדקות שנשארו.
- כדי לפתוח שיחה פשוט מבקשים, למשל: ״תתקשר למוסך 03-1234567 ותקבע טיפול מחר אחרי 17:00, עד 400 ש״ח״.
Claude Code
claude mcp add --transport http oneli https://mcp.oneli.io/mcp
# then, inside Claude Code, run /mcp and choose oneli to sign inהפקודה /mcp פותחת את מסך האישור של OneLi בדפדפן. לחיבור עם מפתח API במקום OAuth, ראו בהמשך.
ChatGPT
ב־ChatGPT מוסיפים שרת MCP מרוחק דרך מצב המפתחים (Developer mode) בהגדרות הקונקטורים: יוצרים קונקטור חדש, מדביקים את הכתובת https://mcp.oneli.io/mcp ובוחרים אימות OAuth. ChatGPT לא תומך בכותרת קבועה, לכן החיבור הוא רק ב־OAuth. שמות התפריטים והזמינות משתנים לפי התוכנית והגרסה של ChatGPT.
Cursor
// ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project)
{
"mcpServers": {
"oneli": { "url": "https://mcp.oneli.io/mcp" }
}
}בפתיחה הראשונה Cursor מבקש להתחבר ופותח את מסך האישור.
VS Code
// .vscode/mcp.json
{
"servers": {
"oneli": { "type": "http", "url": "https://mcp.oneli.io/mcp" }
}
}מפעילים את השרת מרשימת שרתי ה־MCP ב־VS Code ומאשרים את ההתחברות.
חיבור עם מפתח API
שרת ה־MCP מקבל גם מפתח API בכותרת Authorization: Bearer oli_…. זה שימושי בקוד, בסביבות בלי דפדפן ובמסגרות סוכנים (אינטגרציות). בלי כותרת, הלקוח עובר ל־OAuth.
| לקוח | הגדרה |
|---|---|
| Claude Code | claude mcp add --transport http oneli https://mcp.oneli.io/mcp --header "Authorization: Bearer $ONELI_API_KEY" |
| Cursor | {"mcpServers":{"oneli":{"url":"https://mcp.oneli.io/mcp","headers":{"Authorization":"Bearer ${env:ONELI_API_KEY}"}}}} |
| VS Code | {"inputs":[{"type":"promptString","id":"oneli-key","description":"OneLi API key","password":true}],"servers":{"oneli":{"type":"http","url":"https://mcp.oneli.io/mcp","headers":{"Authorization":"Bearer ${input:oneli-key}"}}}} |
| Codex CLI | [mcp_servers.oneli] url = "https://mcp.oneli.io/mcp" bearer_token_env_var = "ONELI_API_KEY" |
| Gemini CLI | {"mcpServers":{"oneli":{"httpUrl":"https://mcp.oneli.io/mcp","headers":{"Authorization":"Bearer oli_…"}}}} |
httpUrl, כי url מתפרש שם כ־SSE.כל לקוח MCP אחר
כל לקוח שתומך ב־Streamable HTTP וב־OAuth 2.1 עם PKCE (S256) ורישום לקוח דינמי יכול להתחבר. הלקוח מגלה את שרת ההרשאות מתשובת 401 עם WWW-Authenticate, נרשם, ופותח את מסך האישור ב־oneli.io. אם הלקוח מאפשר כותרות, אפשר במקום זה להשתמש במפתח API.
מסך האישור
מסך האישור ב־oneli.io מציג את שם הלקוח ואת הכתובת שאליה יחזור. כתובות חזרה של claude.ai, claude.com, chatgpt.com, chat.openai.com, cursor.com, vscode.dev וכתובות מקומיות מזוהות. כל כתובת אחרת מוצגת כ״לא מאומתת״, ולכן כדאי לאשר רק לקוח שאתם מכירים.
הכלים
| כלי | קלט | מה הוא עושה | פלט עיקרי |
|---|---|---|---|
verify_connection | - | בודק שהצ׳אט מחובר לחשבון. מחזיר את המייל, המסלול, הדקות שנשארו החודש ומועד החידוש. | email, plan, minutes_left, renews_at |
create_call_task | to_number, goal, instructions?, max_price_ils?, max_cost_ils (3), opening_line?, idempotency_key? | פותח שיחה. max_price_ils: מעליו הסוכנת מתייעצת. opening_line: המשפט הראשון (עד 300 תווים). בלקוחות שתומכים ב־MCP Apps מופיע בצ׳אט כרטיס שיחה חי. | task_id, status, goal, to_number, created |
get_call_events | task_id, after_event_id (0), limit (≤100, 50) | אירועים חדשים אחרי הסמן: תמלול, התייעצות, סיום ועלות, וגם התייעצות שממתינה להחלטה. | status, task_status, outcome, revision, events, next_cursor, pending_consultation |
watch_call | task_id, after_event_id (0), wait_s (20, ≤25) | הדרך המומלצת לפקח על שיחה: מחזיר כל שורה ברגע שנאמרה, כולל אזהרה כשהסוכנת אומרת פרט שהצד השני לא אמר, ומה לעשות עכשיו. קוראים לו שוב ושוב עד סוף השיחה. | events, next_cursor, pending_consultation, next_action |
get_call_status | task_id | הסטטוס, התוצאה וגרסת ההנחיות הנוכחית. | status, outcome, status_detail, revision, pending_consultation |
get_call_transcript | task_id | כל השיחה לפי הסדר: מי דיבר ומה נאמר, עם הסטטוס, התוצאה והסיכום. מתאים אחרי שהשיחה מסתיימת. | status, outcome, summary, transcript, content_deleted |
respond_to_consultation | consultation_id, decision, reason | עונה להתייעצות: approve, decline או ask_user. רק התשובה הראשונה לפני המועד האחרון נחשבת. | status, decision | existing_decision |
send_call_instruction | task_id, instruction (≤1000), expected_revision?, urgent? | הנחיה חדשה לסוכנת באמצע שיחה, למשל לעבור לאנגלית. משפיעה מהתור הבא שלה. | command_id, revision, status |
cancel_call_task | task_id | מבטל שיחה שעוד בתור, או מנתק שיחה פעילה. | status: cancelled | cancel_requested |
list_calls | - | עד 20 השיחות האחרונות בחשבון, עם תוצאה, משך ועלות. | tasks |
כל כלי מחזיר טקסט קריא ותוכן מובנה. טקסט שמגיע מהשיחה (מהצד השני או מהסיכום) מופיע בין «» ומסומן כמידע ולא כהוראות, כדי שהסוכן לא יבצע בקשות שנאמרו בשיחה.
הפרופיל שלכם (שם, ״בשם מי״, רקע) מצורף לכל שיחה בצד השרת, גם כשהסוכן פותח אותה. הסוכן עצמו לא יכול לקרוא אותו, לשנות את המסלול או את מגבלות ההוצאה.
בונים סוכן קולי משלכם מהצ׳אט
מעבר לשיחות בשבילכם, הצ׳אט (Claude, ChatGPT, Grok וכל לקוח MCP) יכול לבנות ולנהל את הסוכנים הקוליים שלכם, אותם סוכנים שבונים בסטודיו הסוכנים: ליצור סוכן מתבנית, להציג את כל ההגדרות שלו, לשנות כל אחת מהן, לבדוק אותו בשיחת טקסט ולהפעיל או להשהות אותו. כל שינוי מופיע מיד בסטודיו, ולהפך.
ליצור סוכן
מתארים את העסק ומה הסוכן צריך לעשות. הצ׳אט ישאל מה שחסר, ייצור את הסוכן כטיוטה ויציג את כל ההגדרות:
צור לי סוכן קולי לפיצה של דני בתל אביב שעונה לשיחות נכנסות:
- המטרה: לקבל הזמנה מלאה (מה, כמה, כתובת ושעה)
- פתיחה: "שלום, הגעתם לפיצה של דני! מה תרצו להזמין?"
- תפריט: מרגריטה 49 ש״ח, פטריות 55 ש״ח, משלוח 15 ש״ח
- קול גברי, תשובות קצרות, ומפקח שמוודא שהמחירים מהתפריטלראות את כל ההגדרות
מבקשים: ״תראה לי את כל ההגדרות של הסוכן של הפיצרייה״. הכלי get_voice_agent מחזיר את הכול, מסודר כמו בעמודי הסטודיו: הסוכן (כיוון, מטרה, הקשר, שפה, טון), פתיחה, שלבי השיחה עם המצבים בכל שלב, המפקח, הנחיות וכללים, ידע, כלים ו־webhooks, משתנים, קול ומוח, והגדרות שיחה (מגבלות זמן, תורות, שמיעה, זיכרון והקלטה), וגם מה עוד חסר כדי להפעיל.
לשנות הגדרות
מבקשים במילים, למשל ״תוסיף שלב שמברר כתובת ושעה״, ״תחליף לקול נשי ותקצר את השיחות ל־5 דקות״ או ״תעביר את הסוכן לאנגלית״. הצ׳אט קורא את הסוכן, ושולח ל־update_voice_agent רק את מה שמשתנה. רשימות (שלבים, ידע, כללים) מחליפות את כל הרשימה, ולכן הוא שולח גם את מה שנשאר, עם המזהים. כך זה נראה:
update_voice_agent {
"agent_id": "va_…",
"steps": [
{ "id": "st_…", "name": "Opening" },
{ "name": "The order", "ask": "What would you like to order?", "knowledge": ["Menu"],
"situations": [{ "when": "They ask for something not on the menu", "do": "Say politely we don't have it and suggest something from the menu." }] },
{ "name": "Wrap-up", "say": "Thanks, your order is on its way!" }
],
"supervisor": { "enabled": true, "instructions": "Make sure every price she says is from the menu.", "knowledge": ["Menu"] },
"limits": { "max_s": 300, "wrap_at_s": 240 }
}לבדוק ולהפעיל
״תבדוק את הסוכן: תתקשר כלקוח שרוצה שתי מרגריטות לרוטשילד 10״. הצ׳אט משחק את המתקשר עם test_voice_agent ומראה לכם את התשובות. כשאתם מרוצים, ״תפעיל את הסוכן״ (deploy_voice_agent). הצ׳אט מפעיל רק אחרי שאישרתם.
לנהל הכול: שיחות, ידע ווואטסאפ
הצ׳אט יכול גם כל מה שהעוזר באתר יכול: להפעיל את הסוכן לשיחה יוצאת, לקרוא את השיחות שלו ולשפר אותו, לנהל את מאגר הידע, לראות את הוואטסאפ של כל הסוכנים, לקרוא צ׳אטים, לשלוח הודעות, ולנהל תבניות, חוקים ומענה אוטומטי. לפני שיחה, שליחה או מחיקה הוא שואל אתכם.
| כלי | קלט | מה הוא עושה | פלט עיקרי |
|---|---|---|---|
list_voice_agents | - | הסוכנים הקוליים שבניתם בסטודיו: מזהה, שם, סטטוס (טיוטה, פעיל, מושהה), כיוון ומספר. | agents |
get_voice_agent | agent_id, lang? | כל ההגדרות של סוכן אחד, כטקסט קריא שאפשר להציג כמו שהוא, ועוד הקונפיגורציה המלאה, ומה עוד חסר כדי להפעיל. | agent (config, missing) |
list_voice_agent_options | lang? | ממה אפשר לבנות: תבניות, קולות, כלים, מודלים, מפקח, תמלול, שפות ושדות זיכרון. | templates, voices, tools, llms, models, languages |
create_voice_agent | template, name?, + any update_voice_agent field | יוצר סוכן חדש מתבנית (sales, appointments, support, blank) כטיוטה, ואפשר לקבוע לו הגדרות באותה קריאה. | agent |
update_voice_agent | agent_id, goal?, context?, opening_line?, steps?, supervisor?, knowledge?, voice_id?, language?, direction?, limits?, … | משנה כל הגדרה: מטרה, הקשר, משפט פתיחה, שלבי השיחה ומצבים, מפקח, הנחיות, כללים, ידע, כלים ו־webhooks, משתנים, קול, מוח, שפה, כיוון, מגבלות, זיכרון והקלטה. רשימות שנשלחות מחליפות את כל הרשימה. | agent (config, missing) |
test_voice_agent | agent_id, messages, session_id? | שיחת בדיקה בטקסט: הצ׳אט משחק את המתקשר ומקבל את התשובה הבאה של הסוכן ואת הכלים שהפעיל. | reply, tools, ended |
deploy_voice_agent | agent_id | מפעיל את הסוכן (עונה למספר שלו, אם יש). רק אחרי שאישרתם. אם חסר משהו, מחזיר מה לתקן. | status, number |
pause_voice_agent | agent_id | משהה סוכן פעיל. ההגדרות נשמרות. | status |
delete_voice_agent | agent_id, confirmed | מוחק סוכן לתמיד (המספר משתחרר, התשלום החודשי מבוטל). רק אחרי שאישרתם במפורש. | deleted |
call_with_voice_agent | agent_id, to, variables?, idempotency_key? | הסוכן מתקשר למישהו עכשיו, עם ערכים ל־{{משתנים}} שלו. רק כשהסוכן פעיל ואחרי שאישרתם את המספר. | call_id, status |
voice_agent_call_status | agent_id, call_id? | איפה שיחה יוצאת עומדת (מחייג, מצלצל, בשיחה, הסתיימה), או השיחות היוצאות האחרונות. | call | calls |
list_agent_calls | agent_id, limit? | השיחות האחרונות של הסוכן (נכנסות, יוצאות ובדיקות) עם סיכום קצר. | calls |
get_agent_call | agent_id, task_id | שיחה אחת כמו שהייתה: התמלול, הערות המפקח והשאלות שהסוכן שאל אותו. לבדיקה ושיפור. | lines, summary |
search_clients | q?, agent_id?, stage?, hot? | חיפוש בלקוחות של כל הסוכנים: שם, טלפון, מייל, צורך והצעד הבא, עם השלב וציון ה-AI. | clients |
get_client | agent_id, key | לקוח אחד במלואו: פרופיל ה-AI (מה הוא רוצה, המטרה, הצעד הבא), כל השיחות והוואטסאפ על ציר אחד, והערות. | client |
update_client | agent_id, key, stage?, note? | עדכון שלב הלקוח, הפרטים שלו או הוספת הערה. | client |
analyze_client | agent_id, key | ניתוח AI מחדש של כל השיחות וההודעות של הלקוח. | insights |
list_agent_knowledge · add_agent_knowledge · search_agent_knowledge · remove_agent_knowledge | agent_id, … | מאגר הידע של הסוכן: רשימה, הוספה (טקסט, קישור או התנגדות), חיפוש כמו בשיחה, והסרה. | items | results |
list_whatsapp · whatsapp_status | agent_id? | הוואטסאפ של כל הסוכנים, או של סוכן אחד: מחובר או לא, המספר והמענה האוטומטי. | agents | account |
list_whatsapp_chats · get_whatsapp_chat | agent_id, chat_id? | הצ׳אטים בוואטסאפ של הסוכן, וההודעות של צ׳אט אחד. | chats | messages |
send_whatsapp | agent_id, to | chat_id, text | template_id, params?, confirmed | שולח וואטסאפ מהמספר של הסוכן. רק אחרי שאישרתם את הנמען וההודעה. | message_id |
whatsapp_templates · whatsapp_automations · set_whatsapp_auto_reply | agent_id, op, … | תבניות הוואטסאפ, החוקים (מילת מפתח, קליק ממודעה…) והמענה האוטומטי, לכל המספר או לצ׳אט אחד. | templates | automations | account |
list_phone_menus · get_phone_menu · save_phone_menu · link_number · list_number_calls | menu_id?, name, menu, number_id, agent_id | menu_id | תפריט טלפון על מספר ("לחצו 1 למכירות, 2 לנציג"): רשימה, קריאה, יצירה ועדכון, חיבור מספר לסוכן או לתפריט, ויומן השיחות של המספר. מספר הנציג חייב להיות ישראלי. | menus | menu | number | calls |
list_connected_apps | - | האפליקציות שחיברתם (Gmail, Google Calendar, HubSpot…) שהמפקח של הסוכן יכול להשתמש בהן. | connected |
מקרי שימוש
אחרי שהחיבור קיים מבקשים במילים. כמה דוגמאות שעובדות ב־Claude, ב־Grok, ב־ChatGPT ובכל לקוח MCP:
Grok או Claude מנתחים לידים, והסוכן שלכם מתקשר
העוזר קורא את הלידים (גיליון, CRM, מייל או קובץ), נותן ציון לפי התאמה ודחיפות, מציג לכם את הרשימה, ואחרי אישור מפעיל את הסוכן הקולי שלכם לכל ליד עם call_with_voice_agent, כשהשם ומה שהליד ביקש עוברים כמשתנים. בסוף הוא עוקב אחרי השיחות ומסכם למי לחזור.
קרא את הלידים בגיליון "לידים – אוקטובר". תן לכל ליד ציון 1–10 לפי התאמה ודחיפות והצג לי את 10 המובילים עם שורה למה.
אחרי שאאשר: לכל ליד, OneLi call_with_voice_agent עם הסוכן "מכירות" (list_voice_agents), עם המשתנים name ו־interest.
עקוב אחרי כל שיחה (voice_agent_call_status), ובסוף כתוב בגיליון את התוצאה ומה הצעד הבא.שיפור הסוכן מהשיחות האמיתיות
העוזר קורא את השיחות האחרונות של הסוכן, מצביע על מה שהשתבש עם ציטוט וזמן, מציע שינויים ומחיל רק את מה שאישרתם.
קרא את 5 השיחות האחרונות של סוכן המכירות. מה השתבש? כל נקודה עם ציטוט קצר והזמן שלה. תציע שינויים ותחיל רק את מה שאאשר.וואטסאפ אחרי שיחה
אחרי שיחה העוזר מנסח הודעת המשך מהמספר של הסוכן (או תבנית מאושרת מחוץ לחלון 24 השעות), ושולח רק אחרי שאישרתם כל הודעה.
לכל שיחה של סוכן המכירות שהסתיימה היום ובה הלקוח ביקש פרטים: נסח וואטסאפ קצר עם הפרטים, תראה לי, ושלח רק אחרי שאאשר.מאגר ידע מעודכן
מוסיפים לסוכן מחירון, שאלות נפוצות או עמוד מהאתר, ובודקים מה הוא ימצא כשישאלו אותו.
תוסיף לסוכן התמיכה את העמוד https://example.co.il/prices, ואז תחפש במאגר "כמה עולה משלוח" ותראה לי מה הוא ימצא.מוצר משלכם על OneLi
CRM, מערכת לידים או פלטפורמה ללקוחות שלכם: עם מפתח API (ב־REST או בשרת ה־MCP) יוצרים סוכן לכל לקוח, ממלאים את הידע שלו, מפעילים שיחות יוצאות ומקבלים את התמלולים.
ניהול וניתוק
- בדף חיבור הסוכן, תחת סוכנים מחוברים, רואים כל סוכן, מתי חובר ומתי השתמש לאחרונה.
- ניתוק מבטל את הגישה מיד. שיחה שכבר פעילה ממשיכה עד הסוף, אבל הסוכן לא יכול לפתוח שיחות חדשות.
- כל שיחה שהסוכן פותח מופיעה גם באתר, עם התמלול, והיא נספרת בדקות המסלול.
- עד 20 חיבורים פעילים לחשבון, סוכנים ומפתחות API יחד.