
מדריך פרקטי לשיפור העבודה היומיומית: חיבור Slack, Jira, Monday.com ו‑GitHub באמצעות סוכני AI מבוססי MCP לקבלת התראות חכמות, סנכרון סטטוסים, לולאות פידבק לסקירות קוד ומשימות Follow‑up אוטומטיות.
לרוב הצוותים אין “בעיית פרודוקטיביות” — יש להם בעיית קונטקסט‑סוויצ׳ינג. הודעות ב‑Slack, טיקטים ב‑Jira, בורדים ב‑Monday ו‑PRים ב‑GitHub… והיום עובר בלחבר ידנית בין הכלים.
בפוסט הזה אני מציג גישה פרקטית לשיפור העבודה היומיומית באמצעות אוטומציות + סוכני AI, על גבי MCP (Model Context Protocol).
- התראות שיש בהן ערך: הסיגנל הנכון, לערוץ הנכון
- סנכרון סטטוסים דו‑כיווני: Jira/Monday ↔ GitHub PRs
- לולאות פידבק: סיכום סקירת קוד + צעדי פעולה
- Triage: קטלוג, ניתוב ותיעדוף עבודה נכנסת
- Follow‑ups: תזכורות, PRים תקועים והעברות מקצה לקצה
כשנפתח PR:
- לזהות מפתח טיקט מתוך שם הענף/כותרת PR
- לעדכן Jira/Monday עם לינק ל‑PR, סטטוס, Reviewer ו‑ETA
- לפרסם הודעה קצרה ב‑Slack לערוץ המתאים
כש‑PR נסגר/ממוזג:
- להעביר Jira ל‑Done/Ready for QA
- להעביר Monday ל‑Done ולצרף release notes
- לעדכן בעלי עניין ב‑Slack
כשנכנסות הערות סקירה:
- לסכם את ההערות ל‑3–7 נקודות פעולה
- לסווג: correctness, security, performance, DX, style
- ליצור משימות follow‑up ב‑Jira/Monday כשצריך
- לשלוח סיכום ל‑Slack כדי לאפשר איטרציה מהירה
כאן כלים כמו CodeRabbit עוזרים: הסוכן יכול לרכז פידבק לרשימת Next Actions אחת ולהוריד עומס מהסוקרים.
אוטומציה יומית/שבועית:
- לזהות PRים בלי פעילות N ימים
- לזהות טיקטים “In Progress” בלי קומיטים
- לזהות פריטים ב‑Monday במצב Blocked יותר מ‑X ימים
- לשלוח תזכורת נעימה ב‑Slack עם קונטקסט והצעת פעולה
הסוד הוא טון ותדירות: נאג׳ים שקטים טובים מהצפת התראות.
- סקופ: הרשאה לפעול רק בפרויקטים/Repos/Boards מסוימים
- הרשאות: least privilege, הפרדה בין read ל‑write
- Human‑in‑the‑loop: אישור לפעולות שמשנות סטטוס (אופציונלי)
- Rate limiting להגנה על APIs
- Audit: לוג לכל פעולה והסיבה
- דטרמיניזם: כללים + פרומפטים מובנים במקום החלטות “חופשיות”
תתחילו מ‑workflow אחד:
1) PR נפתח → עדכון Jira/Monday + הודעה ל‑Slack
2) למדוד: זמן סקירה, זמן handoff והחמצות בעדכון סטטוס
3) להוסיף עוד workflow (סיכומי סקירה, נאג׳ים ל‑stale)
ה‑win הגדול הוא עקביות: פחות זמן על סטטוסים, יותר זמן על הנדסה.
רוב הצוותים לא באמת "לא פרודוקטיביים" – הם טובעים בהחלפת הקשרים ובעדכוני סטטוס ידניים. במקום לכתוב קוד, מפתחים מעתיקים לינקים, משנים סטטוסים ומעדכנים חצי מהחברה ב‑Slack.
בפוסט הזה אני מפרק מערכת אוטומציה מבוססת MCP שחיברה GitHub, Jira, Slack ו‑Monday, קיצצה ~80–90% מזמן עדכוני הסטטוס, והפכה handoffs למשהו שקורה אוטומטית.
תהליך יומיומי טיפוסי סביב PR נראה בערך כך:
1// mcp-server/github/index.ts
2import { MCPServer } from '@modelcontextprotocol/sdk';
3import { Octokit } from '@octokit/rest';
4
5const octokit = new Octokit({
6 auth: process.env.GITHUB_TOKEN,
7});
8
9const server = new MCPServer({
10 name: 'github-mcp',
11 version: '1.0.0',
12});
13
14// כלי: קבלת פרטי PR
15server.tool({
16 name: 'get_pr_details',
17 description: 'Get pull request details from GitHub',
18 parameters: {
19 type: 'object',
20 properties: {
21 owner: { type: 'string', description: 'Repository owner' },
22 repo: { type: 'string', description: 'Repository name' },
23 pr_number: { type: 'number', description: 'PR number' },
24 },
25 required: ['owner', 'repo', 'pr_number'],
26 },
27 handler: async ({ owner, repo, pr_number }) => {
28 const { data } = await octokit.pulls.get({
29 owner,
30 repo,
31 pull_number: pr_number,
32 });
33
34 return {
35 title: data.title,
36 state: data.state,
37 author: data.user?.login,
38 commits: data.commits,
39 additions: data.additions,
40 deletions: data.deletions,
41 };
42 },
43});
44
45server.listen(3000);1// תהליך אוטומטי: PR merged → עדכון Jira → הודעת Slack
2import { MCPClient } from '@modelcontextprotocol/sdk';
3
4const mcpClient = new MCPClient();
5
6// חיבור לכל השירותים
7await Promise.all([
8 mcpClient.connect('github', process.env.GITHUB_MCP_URL!),
9 mcpClient.connect('jira', process.env.JIRA_MCP_URL!),
10 mcpClient.connect('slack', process.env.SLACK_MCP_URL!),
11]);
12
13// תהליך: טיפול באירוע merge של PR
14export async function handlePRMerge({ owner, repo, pr_number, pr_title }: any) {
15 try {
16 // 1. קבלת פרטי PR מ-GitHub
17 const prDetails = await mcpClient.callTool('get_pr_details', {
18 owner,
19 repo,
20 pr_number,
21 });
22
23 console.log('✅ פרטי PR:', prDetails);
24
25 // 2. חילוץ Jira ticket ID מכותרת ה-PR
26 const jiraMatch = pr_title.match(/\[(\w+-)\d+\]/);
27
28 if (jiraMatch) {
29 const ticketId = jiraMatch[0].replace(/[\[\]]/g, '');
30
31 // 3. עדכון Jira ticket
32 await mcpClient.callTool('update_jira_ticket', {
33 ticket_id: ticketId,
34 status: 'Done',
35 comment: `PR #${pr_number} merged: ${prDetails.title}`,
36 });
37
38 console.log('✅ Jira ticket עודכן:', ticketId);
39 }
40
41 // 4. שליחת הודעת Slack
42 await mcpClient.callTool('send_slack_message', {
43 channel: '#engineering',
44 text: `🎉 PR merged: *${pr_title}*`,
45 });
46
47 console.log('✅ הודעת Slack נשלחה');
48
49 return { success: true };
50 } catch (error) {
51 console.error('❌ תהליך נכשל:', error);
52 throw error;
53 }
54}רוצה ייעוץ? לחץ כאן לקביעת שיחה.
קבע שיחה
מדריך מעודכן ל-WebMCP: מה חדש ב-Early Preview של Chrome, איך מתחילים נכון, איך זה עוזר למפתחים ולמשתמשים, ומה ההבדל מול אינטגרציית MCP ב-backend.

כישורי סוכנים הופכים סוכן AI לאמין: תהליכים חוזרים, הגנות ברירת־מחדל ופחות "שיחות" עם הפרומפט. דוגמה מ‑Claude Code Skills וכללי React של Vercel לצמצום רגרסיות.

דפוסים שאני משתמש בהם כדי לשמור על פרויקט Next.js App Router נקי: TypeScript מחמיר, תוכן שמגיע מ‑Sanity, שאילתות GROQ יציבות, ומה עושים כשה‑CMS משתנה מהר יותר מהקוד.
בכל מקום שבו אתה נמצא, בוא נעבוד יחד על הפרויקט הבא שלך.
מעדיף לדבר ישירות? קבע שיחה ונדבר על הפרויקט שלך בלייב.
קבע שיחה