İzin talebi
“Önümüzdeki pazartesiden çarşambaya yıllık izin almak istiyorum.”
list_leave_typescalculate_leave_daysrequest_leave_otpcreate_leave_request
Claude, Cursor, Windsurf ya da başka bir MCP istemcisini Teamso hesabınıza bağlayın: izin isteyin, talepleri onaylayın, hedeflerinizi yönetin, bordro pusulanızı açın, kılavuzlarda arayın ve yetkinizin açtığı diğer tüm modüllerle çalışın.
Model Context Protocol (MCP), yapay zekâ asistanlarının dış sistemlerdeki araçları çağırmasını sağlayan açık bir standarttır. Teamso'nun hosted MCP sunucusu https://mcp.teamso.com/v1 adresinde, Streamable HTTP ve özel başlık destekleyen istemcilere hizmet verir.
Claude Desktop uzak bağlantılarda OAuth istediğinden yerel npm paketini (@teamso/teamso-mcp) kullanır. Her istek kişisel erişim token'ınızla ve sizin yetkilerinizle çalışır; sunucu token'ı saklamaz.
İstemcinizi seçin. Hepsi aynı token'ı kullanır: Teamso'da sol menünün en altındaki MCP erişimi sayfasını açıp token oluşturun ve örneklerdeki tms_pat_... yerine yazın.
Cmd+Shift+P → Open MCP settings komutunu çalıştırın.~/.cursor/mcp.json dosyasına ekleyin:{
"mcpServers": {
"teamso": {
"url": "https://mcp.teamso.com/v1",
"headers": {
"Authorization": "Bearer tms_pat_..."
}
}
}
}Cursor'u yeniden başlatın; Teamso araçları MCP listesinde görünür.
Terminalde tek komut:
claude mcp add --transport http teamso https://mcp.teamso.com/v1 --header "Authorization: Bearer tms_pat_..."Kontrol için claude mcp get teamso çalıştırın ya da Claude Code içinde /mcp yazın.
claude mcp get teamsoClaude Desktop'ta uzak özel bağlayıcılar (Custom Connectors) OAuth ister; Teamso token kullandığı için yerel paketi kullanın. claude_desktop_config.json dosyasına ekleyin ve Claude Desktop'u tamamen kapatıp açın:
{
"mcpServers": {
"teamso": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@teamso/[email protected]"
],
"env": {
"TEAMSO_ACCESS_TOKEN": "tms_pat_..."
}
}
}
}Sürümü sabitleyin (@1.2.1): sabitlenmemiş npx önbellekteki eski sürümü çalıştırmaya devam eder. Adresi Connectors listesine eklemeyin.
Yerel paket doğrudan Teamso API'sine bağlanır ve İK araçlarının tamamını sunar; distribütör hesabının içerik araçları yalnız hosted sunucudadır.
type, command, args ve env alanlarını içermeli.timeout alanı eklemeyin; istemci onu yok sayabilir.Windsurf → Settings → MCP (~/.codeium/windsurf/mcp_config.json). Windsurf adresi serverUrl alanında bekler:
{
"mcpServers": {
"teamso": {
"serverUrl": "https://mcp.teamso.com/v1",
"headers": {
"Authorization": "Bearer tms_pat_..."
}
}
}
}Streamable HTTP destekleyen her istemci https://mcp.teamso.com/v1 adresine Authorization: Bearer tms_pat_... başlığıyla bağlanır. Yalnız stdio destekleyen istemciler hosted sunucuya mcp-remote ile ulaşır:
{
"mcpServers": {
"teamso": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.teamso.com/v1",
"--header",
"Authorization:Bearer ${TEAMSO_TOKEN}"
],
"env": {
"TEAMSO_TOKEN": "tms_pat_..."
}
}
}
}Yalnız OAuth ile bağlanabilen istemciler desteklenmez.
Teamso MCP kişisel erişim token'ı (tms_pat_...) kullanır. Token'ı Teamso'da sol menünün en altındaki MCP erişimi sayfasında oluşturun; yalnız oluşturulduğu anda bir kez gösterilir.
Authorization: Bearer tms_pat_...Authorization: Bearer tms_pat_... başlığını taşır; hosted sunucu token'ı saklamaz, isteği Teamso API'sine iletir.Hosted sunucu ve npm paketi aynı 34 aracı sunar. Her araç tipli girdi ve çıktı şeması, structuredContent ve kısa bir metin yanıtı döndürür. Hangi aracı kullanabileceğiniz rolünüze ve yetkilerinize bağlıdır.
Teamso kullanım kılavuzlarında arar. API'yi çağırmaz, herkese açık kılavuz paketini okur.
| Araç | Ne yapar |
|---|---|
search_help_articles | Teamso kılavuzlarında anahtar kelimeyle arar; modüle ve role göre süzer. |
get_help_article | Bir kılavuzu adımlarıyla birlikte tam metin döndürür. |
list_help_modules | Kılavuzu olan modülleri, her modülün makale başlıkları ve kimlikleriyle listeler. |
Token sahibini ve yetkilerini döndürür.
| Araç | Ne yapar |
|---|---|
get_me | Adınız, e-postanız, şirketiniz, rolleriniz, yetki kodlarınız, yöneticiniz, departman ve pozisyonunuz. |
İzin talebi oluşturmak ve iptal etmek telefonunuza gelen SMS koduyla onaylanır: kod 3 dakika geçerlidir ve dijital kredi harcar.
| Araç | Ne yapar |
|---|---|
list_leave_types | Talep edebileceğiniz izin türleri ve her birinde kalan hakkınız. |
get_my_leave_balance | İzin bakiyenizin özeti: tür bazında kalan gün. |
calculate_leave_days | Tarih aralığının kaç iş günü tuttuğunu ve işe dönüş tarihini hesaplar; çalışma takviminiz ve resmi tatiller dikkate alınır. |
request_leave_otp | Telefonunuza onay kodu gönderir (3 dakika geçerli, SMS kredisi harcar). |
create_leave_request | SMS kodunu doğrular, günleri yeniden hesaplar ve talebi onay akışına gönderir. |
list_my_leaves | Kendi izin talepleriniz; tarihe ve duruma göre süzülebilir. |
cancel_leave_request | SMS koduyla onaylanan bir izin talebini siler; izin silme yetkisi gerekir. |
Onay sırası sizde olan izin talepleri.
| Araç | Ne yapar |
|---|---|
list_pending_approvals | Onayınızı bekleyen izin talepleri. |
approve_or_reject_leave | Talebi onaylar ya da reddeder; önce onay sırasının sizde olduğunu denetler. Reddetmek gerekçe ister. |
Yalnız görme yetkiniz olan çalışanlar.
| Araç | Ne yapar |
|---|---|
search_employees | Aktif çalışanları ad ya da e-postayla arar (Türkçe karakter duyarsız). Şirket rehberini görme yetkiniz yoksa sorumlu olduğunuz çalışanlarda arar. |
get_employee_profile | Çalışanın iş profili: şube, departman, pozisyon, yönetici, çalışma yeri ve iletişim (telefonu görme yetkiniz yoksa maskelenir). |
Hedefler döneme adıyla (list_performance_periods'taki title) bağlanır; hedef araçlarından önce dönemleri listeleyin.
| Araç | Ne yapar |
|---|---|
list_performance_periods | Performans dönemleri, hedef giriş tarihleri ve değerlendirme skalası. |
list_my_goals | Dönemdeki hedefleriniz ve her birinde yapabileceğiniz işlemler. |
list_team_goals | Yönettiğiniz ya da hedef atadığınız çalışanların hedefleri (taslaklar hariç) ve her birinde verebileceğiniz onaylar. |
create_user_goal | Kendinize ya da size doğrudan bağlı bir çalışana taslak hedef ekler (performans yöneticisi herkese ekleyebilir). |
send_goals_to_approval | Taslak (PENDING) hedeflerinizi yöneticinizin onayına gönderir. |
approve_goal | Onay bekleyen bir hedefi onaylar. |
revise_and_approve_goal | Hedefi düzelterek (ad, açıklama, ağırlık, hedef değer) onaylar. |
update_goal_actual_value | Değerlendirmedeki hedefe gerçekleşen değerinizi girer. |
update_manager_actual_value | Çalışanın doğrudan yöneticisi ya da yetkili yönetici olarak hedefin gerçekleşen değerini girer. |
approve_goal_evaluation | Çalışanın dönem değerlendirmesini sizin onay adımınızda onaylar; son adımda Teamso sonuç puanını hesaplar. |
Size görünen duyurular.
| Araç | Ne yapar |
|---|---|
list_announcements | Size görünen şirket ve servis duyuruları, en yenisi önce. |
Yalnız kendi bordro pusulalarınız.
| Araç | Ne yapar |
|---|---|
list_my_payslips | E-bordro pusulalarınız ve durumları; aya ya da yıla göre süzülebilir. |
get_payslip_pdf | Bordro pusulasının PDF'ini gömülü kaynak olarak döndürür. |
Teamso'nun geri kalanı (masraf, talep, fazla mesai, puantaj, bordro, işe alım, demirbaş, ayarlar...) genel API araçlarıyla. Yalnız sizin yetkinizin açtığı uçlar listelenir ve çağrılır; okuma araçları veri değiştiremez, yazma araçları önce önizleme gösterir.
| Araç | Ne yapar |
|---|---|
find_api_endpoints | Yetkinizin açtığı Teamso API uçlarında anahtar kelimeyle (Türkçe ya da İngilizce), modüle, HTTP yöntemine ya da etkiye (okuma, yazma, silme) göre arar. Her sonuçta uç kimliği, özet, etki ve SMS kodu ya da dosya bilgisi vardır. |
list_api_modules | Kullanabildiğiniz modülleri ve her modülde size açık uç sayısını listeler. |
describe_api_endpoint | Bir ucun parametrelerini, gövde şemasını, yanıt türünü, SMS kodu gerekip gerekmediğini ve hazır bir örnek çağrıyı gösterir. |
call_api_read | Yalnız okuma uçlarını çalıştırır ve veriyi döndürür. İstek salt okunur işaretlenir; Teamso veri değiştirecek her isteği reddeder. Büyük listeler kısaltılır, dosyalar (PDF, Excel, CSV, görsel) 8 MB'a kadar gömülü dosya olarak gelir. |
call_api_write | Kayıt ekler, değiştirir ya da siler. confirm olmadan hiçbir şey göndermez, isteğin önizlemesini ve şema kontrolünü döndürür; ancak siz onayladıktan sonra confirm=true ile çalışır. SMS kodu isteyen işlemlerde otp_code alır, dosyaları base64 olarak yükler (toplam 10 MB). |
request_sms_code | SMS kodu isteyen bir işlemi onayladıktan sonra telefonunuza 6 haneli doğrulama kodu gönderir (3 dakika geçerli, SMS kredisi harcar). |
Distribütör hesabı hosted sunucuda ayrıca Landing CMS içerik araçlarını (landing sayfaları, kullanıcı hikayeleri, e-kitaplar, webinarlar, referanslar) görür; bu araçlar yalnız distribütör hesabına açıktır. Hosted sunucu kılavuzları ayrıca MCP kaynağı (teamso://how-to/...) olarak da sunar.
Sunucu araçların yanında MCP prompt'ları da yayımlar (prompts/list, prompts/get); istemciniz bunları eğik çizgi komutu ya da prompt seçici olarak gösterir. Prompt yalnız asistanı araçlar üzerinden yönlendirir: her yazma işlemi yine onayınızı, izin talebi de SMS kodunu ister.
| Prompt | Argümanlar | Ne yapar |
|---|---|---|
request_leave | start (isteğe bağlı)İznin ilk günü: yyyy-MM-dd ya da “yarın” gibi bir ifade (Türkiye saatine göre).end (isteğe bağlı)İznin son günü (yyyy-MM-dd); boşsa başlangıçla aynı gün.leave_type (isteğe bağlı)İzin türünün adı, ör. “Yıllık İzin”; boşsa yıllık izin.note (isteğe bağlı)Onaylayana not. | Oturum açan kullanıcı için izin talebi oluşturur: izin türünü seçer, iş günlerini ve kalan bakiyeyi gösterir, onayınızı alır ve talebi SMS koduyla gönderir. Eksik tarihleri sorar. |
review_pending_approvals | Argüman almaz. | Onayınızı bekleyen izin taleplerini tablo olarak listeler ve her biri için onay mı ret mi istediğinizi sorar; kararı hiçbir zaman sizin yerinize vermez. Ret için gerekçe ister. Araç zinciri: list_pending_approvalsapprove_or_reject_leave |
Distribütör hesabı hosted sunucuda ayrıca Landing CMS içerik prompt'larını (seo_landing_page, translate_marketing_content) görür; hosted sunucu bunları Teamso API'sinden alır.
Bu sayfadaki hazır araçlar en sık işler içindir. Geri kalan her şey için (masraf, talep, fazla mesai, PDKS, puantaj, vardiya, işe alım, işe alışma, demirbaş, belge onayı, anket, raporlar, şirket ayarları...) asistan genel API araçlarını kullanır. Araçlar Teamso API'sinin size özel uç kataloğunu okur: yalnız sizin yetkinizin açtığı uçlar listelenir ve çağrılabilir. Örneğin izin ekleme yetkiniz yoksa asistan da MCP üzerinden izin ekleyemez.
find_api_endpoints ya da list_api_modules ile uygun ucu bulur.describe_api_endpoint ile parametreleri, gövde şemasını ve SMS kodu gerekip gerekmediğini öğrenir.call_api_read: sonucu doğrudan döndürür.call_api_write: önce önizleme gösterir, ancak siz onaylayınca confirm: true ile çalıştırır.Arama, uç kimliklerini (YÖNTEM /yol) ve her ucun etkisini döndürür:
{
"name": "find_api_endpoints",
"arguments": {
"query": "masraf",
"side_effect": "read"
}
}{
"structuredContent": {
"query": "masraf",
"sideEffect": "read",
"page": 1,
"size": 20,
"total": 2,
"totalPages": 1,
"endpoints": [
{
"id": "GET /expense-form/{id}",
"module": "EXPENSE",
"summary": "Masraf formu ayrıntısı",
"sideEffect": "read",
"smsCodeRequired": "never",
"fileResponse": false
},
{
"id": "GET /expense-form/listPagination",
"module": "EXPENSE",
"summary": "Masraf formları (sayfalı)",
"sideEffect": "read",
"smsCodeRequired": "never",
"fileResponse": false
}
]
}
}Okuma, kimliği ve yol değerleriyle yapılır. İstek X-Teamso-Mcp-Intent: read başlığıyla gider; Teamso veri değiştirecek bir isteği bu başlıkla reddeder (403).
{
"name": "call_api_read",
"arguments": {
"id": "GET /expense-form/{id}",
"path_params": {
"id": "8f1c…"
}
}
}Yazma araçları önce önizleme döndürür: gönderilecek isteği, şema kontrolünün sonucunu, silme ve SMS uyarılarını ve tek satırlık bir özeti. Bu aşamada Teamso'ya hiçbir şey gönderilmez; şemaya uymayan bir istek confirm: true ile de gönderilmez.
{
"name": "call_api_write",
"arguments": {
"id": "POST /demand",
"body": {
"demandTypeId": "3b7e…",
"message": "Yeni monitör talebi"
}
}
}{
"structuredContent": {
"mode": "preview",
"endpoint": {
"id": "POST /demand",
"module": "DEMAND",
"sideEffect": "write",
"smsCodeRequired": "never"
},
"request": {
"method": "POST",
"path": "/demand"
},
"summary": "Changes data: POST /demand — Create a request",
"validation": {
"checked": true,
"valid": true,
"errors": []
},
"nextAction": {
"tool": "call_api_write",
"arguments": {
"id": "POST /demand",
"body": {
"demandTypeId": "3b7e…",
"message": "Yeni monitör talebi"
},
"confirm": true
},
"reason": "Only after the user explicitly confirms this preview."
}
},
"content": [
{
"type": "text",
"text": "## Preview — nothing has been sent\n\n**Changes data: POST /demand — Create a request**\n…"
}
]
}Siz onayladıktan sonra asistan aynı çağrıyı confirm: true ile tekrarlar. SMS kodu isteyen işlemlerde önce request_sms_code ile kod gönderir, kodu size sorar ve otp_code olarak ekler:
{
"name": "call_api_write",
"arguments": {
"id": "POST /expense-form/{expenseFormId}/finalize",
"path_params": {
"expenseFormId": "8f1c…"
},
"confirm": true,
"otp_code": "123456"
}
}Örnek yanıt; alanlar araca göre değişir.
truncated: true ile işaretlenir; hiçbir şey sessizce kesilmez.Asistanınız daha az araç görsün istiyorsanız sunucu adresine ?toolsets= ekleyin (ya da X-Teamso-Toolsets başlığını gönderin). Yerel pakette aynı seçim TEAMSO_TOOLSETS ortam değişkeniyle yapılır. Varsayılan tüm araçlardır; bilinmeyen bir grup adı hata verir.
claude mcp add --transport http teamso https://mcp.teamso.com/v1?toolsets=core,leave,api --header "Authorization: Bearer tms_pat_..."Gruplar: core, help, leave, approvals, employees, performance, communication, payroll, api
Araçlar MCP tools/call ile çağrılır. Girdi JSON Schema 2020-12 ile doğrulanır; başarılı yanıt structuredContent (zincirleme için tipli veri) ve content (yalnız metin gösteren istemciler için kısa özet) içerir.
{
"name": "calculate_leave_days",
"arguments": {
"leave_type_id": "6f1c…",
"start": "2026-11-02",
"end": "2026-11-04"
}
}Başka bir araçla devam etmek gerekiyorsa yanıt nextAction taşır: çağrılacak araç, argümanları ve nedeni. İzin akışı buna örnektir: calculate_leave_days → request_leave_otp → create_leave_request.
{
"structuredContent": {
"request": {
"leaveTypeId": "6f1c…",
"leaveTypeName": "Yıllık İzin",
"start": "2026-11-02 09:00",
"end": "2026-11-04 18:00",
"workingDays": 3,
"returnToWorkDate": "2026-11-05 09:00"
},
"remainingDays": 14,
"remainingAfterRequest": 11,
"canRequest": true,
"problems": [],
"nextAction": {
"tool": "request_leave_otp",
"arguments": {},
"reason": "Creating the request needs an SMS code. After the user confirms these days, send the code, then call create_leave_request with the same leave_type_id, start, end and the otp_code."
}
},
"content": [
{
"type": "text",
"text": "## Yıllık İzin: 3 days\n\n- **Dates:** …\n- **Back at work:** 2026-11-05 09:00\n…"
}
]
}Örnek yanıt; alanlar araca göre değişir.
Hatalar isError: true ve ne yapılacağını söyleyen bir metinle döner; metnin sonunda Teamso API'nin HTTP durumu ve message_code değeri (ör. CREDIT_INSUFFICIENT, ITEM_NOT_FOUND) yer alır.
{
"isError": true,
"content": [
{
"type": "text",
"text": "Your company does not have enough digital (SMS) credit for this step. Ask your Teamso administrator to top up credits.\n\n_Teamso API: HTTP 200 · `CREDIT_INSUFFICIENT`_"
}
]
}Tarihler: izinde yyyy-MM-dd HH:mm Türkiye saati (yalnız tarih verilirse başlangıç vardiya başı, bitiş vardiya sonu; varsayılan 09:00 ve 18:00), hedeflerde ve süzgeçlerde yyyy-MM-dd, bordro döneminde yyyy-MM ya da yyyy.
get_payslip_pdf pusulayı application/pdf türünde gömülü bir kaynak (base64) olarak döndürür.
Asistanınıza doğal dille sorun; araçları kendisi sırayla çağırır.
“Önümüzdeki pazartesiden çarşambaya yıllık izin almak istiyorum.”
list_leave_typescalculate_leave_daysrequest_leave_otpcreate_leave_request
“Onayımı bekleyen izinleri göster, Ayşe'nin talebini onayla.”
list_pending_approvalsapprove_or_reject_leave
“2026 Q4 dönemine yüzde 40 ağırlıklı bir satış hedefi ekle ve onaya gönder.”
list_performance_periodscreate_user_goalsend_goals_to_approval
“Eylül bordromu aç.”
list_my_payslipsget_payslip_pdf
“Fazla mesai talebi nasıl girilir?”
search_help_articlesget_help_article
“Bu ayki harcamalarımı ve bekleyen taleplerimi özetle.”
find_api_endpointsdescribe_api_endpointcall_api_read
“Yeni bir monitör için talep oluştur.”
find_api_endpointsdescribe_api_endpointcall_api_write
https://mcp.teamso.com/v1 adresine gönderir.Her aracın parametreleri. Zorunlu olmayanlar boş bırakılabilir.
search_help_articlesTeamso kılavuzlarında anahtar kelimeyle arar; modüle ve role göre süzer.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
query | string | Evet | Aranacak metin. |
lang | "tr" | "en" | Hayır | Kılavuz dili; varsayılan tr. |
module | string | Hayır | Modül kimliği (list_help_modules), ör. leave. |
role | "ADMIN" | "MANAGER" | "EMPLOYEE" | Hayır | Yalnız bu rol için yazılmış makaleler: ADMIN, MANAGER ya da EMPLOYEE. |
limit | integer | Hayır | En fazla sonuç sayısı (1-20, varsayılan 5). |
get_help_articleBir kılavuzu adımlarıyla birlikte tam metin döndürür.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | Makale kimliği, ör. performance.evaluation. |
lang | "tr" | "en" | Hayır | Kılavuz dili; varsayılan tr. |
list_help_modulesKılavuzu olan modülleri, her modülün makale başlıkları ve kimlikleriyle listeler.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
lang | "tr" | "en" | Hayır | Kılavuz dili; varsayılan tr. |
get_meAdınız, e-postanız, şirketiniz, rolleriniz, yetki kodlarınız, yöneticiniz, departman ve pozisyonunuz.
Parametre almaz.
list_leave_typesTalep edebileceğiniz izin türleri ve her birinde kalan hakkınız.
Parametre almaz.
get_my_leave_balanceİzin bakiyenizin özeti: tür bazında kalan gün.
Parametre almaz.
calculate_leave_daysTarih aralığının kaç iş günü tuttuğunu ve işe dönüş tarihini hesaplar; çalışma takviminiz ve resmi tatiller dikkate alınır.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
leave_type_id | string | Evet | İzin türü kimliği (list_leave_types). |
start | string | Evet | Başlangıç, Türkiye saati: yyyy-MM-dd (vardiya başı, varsayılan 09:00) ya da yyyy-MM-dd HH:mm. |
end | string | Evet | Bitiş, Türkiye saati: yyyy-MM-dd (vardiya sonu, varsayılan 18:00) ya da yyyy-MM-dd HH:mm. |
request_leave_otpTelefonunuza onay kodu gönderir (3 dakika geçerli, SMS kredisi harcar).
Parametre almaz.
create_leave_requestSMS kodunu doğrular, günleri yeniden hesaplar ve talebi onay akışına gönderir.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
leave_type_id | string | Evet | İzin türü kimliği (list_leave_types). |
start | string | Evet | Başlangıç, Türkiye saati: yyyy-MM-dd (vardiya başı, varsayılan 09:00) ya da yyyy-MM-dd HH:mm. |
end | string | Evet | Bitiş, Türkiye saati: yyyy-MM-dd (vardiya sonu, varsayılan 18:00) ya da yyyy-MM-dd HH:mm. |
description | string | Hayır | Açıklama; bazı izin türlerinde zorunludur. |
otp_code | string | Evet | request_leave_otp ile gelen 6 haneli SMS kodu. |
list_my_leavesKendi izin talepleriniz; tarihe ve duruma göre süzülebilir.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
from | string | Hayır | Bu tarihten itibaren (yyyy-MM-dd). |
to | string | Hayır | Bu tarihe kadar (yyyy-MM-dd). |
status | "pending_approval" | "approved" | "rejected" | "awaiting_usage_approval" | "completed" | "awaiting_document" | Hayır | İzin durumuna göre süzer: onayda, onaylandı, reddedildi, kullanım onayında, tamamlandı, belge bekliyor. |
limit | integer | Hayır | En fazla kayıt sayısı (1-100, varsayılan 20). |
cancel_leave_requestSMS koduyla onaylanan bir izin talebini siler; izin silme yetkisi gerekir.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
leave_id | string | Evet | İzin kimliği (list_my_leaves). |
otp_code | string | Evet | request_leave_otp ile gelen 6 haneli SMS kodu. |
list_pending_approvalsOnayınızı bekleyen izin talepleri.
Parametre almaz.
approve_or_reject_leaveTalebi onaylar ya da reddeder; önce onay sırasının sizde olduğunu denetler. Reddetmek gerekçe ister.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
leave_id | string | Evet | İzin kimliği (list_pending_approvals). |
approve | boolean | Evet | true onaylar, false reddeder. |
reason | string | Hayır | Ret gerekçesi; reddederken zorunlu. |
search_employeesAktif çalışanları ad ya da e-postayla arar (Türkçe karakter duyarsız). Şirket rehberini görme yetkiniz yoksa sorumlu olduğunuz çalışanlarda arar.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
query | string | Evet | Ad, soyad ya da e-posta (Türkçe karakter şart değil). |
limit | integer | Hayır | En fazla sonuç sayısı (1-50, varsayılan 10). |
get_employee_profileÇalışanın iş profili: şube, departman, pozisyon, yönetici, çalışma yeri ve iletişim (telefonu görme yetkiniz yoksa maskelenir).
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
user_id | string | Evet | Çalışan kimliği (search_employees). |
list_performance_periodsPerformans dönemleri, hedef giriş tarihleri ve değerlendirme skalası.
Parametre almaz.
list_my_goalsDönemdeki hedefleriniz ve her birinde yapabileceğiniz işlemler.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
period | string | Evet | Dönem adı; list_performance_periods'taki title ile birebir. |
list_team_goalsYönettiğiniz ya da hedef atadığınız çalışanların hedefleri (taslaklar hariç) ve her birinde verebileceğiniz onaylar.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
period | string | Evet | Dönem adı; list_performance_periods'taki title ile birebir. |
status | "PENDING" | "WAITING_APPROVAL" | "APPROVED" | "REVISED_AND_APPROVED" | "IN_PROGRESS" | "EVALUATING" | "EVALUATED" | "EVALUATION_WAITING_APPROVAL" | "EVALUATION_IN_APPROVAL" | "COMPLETED" | "NOT_INCLUDED" | Hayır | Hedef durumuna göre süzer, ör. WAITING_APPROVAL, EVALUATING. |
create_user_goalKendinize ya da size doğrudan bağlı bir çalışana taslak hedef ekler (performans yöneticisi herkese ekleyebilir).
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
period | string | Evet | Dönem adı; list_performance_periods'taki title ile birebir. |
name | string | Evet | Hedef adı. |
weight | number | Hayır | Ağırlık (yüzde); OTHER dışındaki ölçütlerde zorunlu. |
scale_criterion | "POINTS" | "QUANTITY" | "DAYS" | "CURRENCY" | "PERCENTAGE" | "OTHER" | Evet | Ölçüt: puan, adet, gün, para, yüzde ya da diğer (OTHER: serbest metin hedef). |
target_value | number | Hayır | Hedeflenen sayısal değer; OTHER dışındaki ölçütlerde zorunlu. |
currency | string | Hayır | CURRENCY ölçütünde para birimi, ör. TRY. |
other_text | string | Hayır | OTHER ölçütünde hedefin metni. |
description | string | Hayır | Açıklama. |
user_id | string | Hayır | Hedefin sahibi; boşsa kendiniz. Başka biri size doğrudan bağlı olmalı (performans yöneticisi herkese hedef girebilir); kimlik search_employees'tan. |
send_goals_to_approvalTaslak (PENDING) hedeflerinizi yöneticinizin onayına gönderir.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
goal_ids | string[] | Evet | Onaya gönderilecek taslak (PENDING) hedeflerinizin kimlikleri (list_my_goals). |
approve_goalOnay bekleyen bir hedefi onaylar.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
goal_id | string | Evet | Hedef kimliği (list_team_goals). |
revise_and_approve_goalHedefi düzelterek (ad, açıklama, ağırlık, hedef değer) onaylar.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
goal_id | string | Evet | Hedef kimliği (list_team_goals). |
name | string | Hayır | Yeni ad. |
description | string | Hayır | Yeni açıklama. |
weight | number | Hayır | Yeni ağırlık. |
target_value | number | Hayır | Yeni hedef değer. |
update_goal_actual_valueDeğerlendirmedeki hedefe gerçekleşen değerinizi girer.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
goal_id | string | Evet | Hedef kimliği (list_my_goals). |
actual_value | number | Hayır | Gerçekleşen sayısal değer. |
actual_text | string | Hayır | OTHER ölçütünde gerçekleşen metin. |
update_manager_actual_valueÇalışanın doğrudan yöneticisi ya da yetkili yönetici olarak hedefin gerçekleşen değerini girer.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
goal_id | string | Evet | Hedef kimliği (list_team_goals). |
value | number | Hayır | Yöneticinin girdiği gerçekleşen değer. |
text | string | Hayır | OTHER ölçütünde metin. |
approve_goal_evaluationÇalışanın dönem değerlendirmesini sizin onay adımınızda onaylar; son adımda Teamso sonuç puanını hesaplar.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
period | string | Evet | Dönem adı; list_performance_periods'taki title ile birebir. |
user_id | string | Evet | Değerlendirilen çalışanın kimliği (list_team_goals'taki hedef sahibinin userId'si). |
list_announcementsSize görünen şirket ve servis duyuruları, en yenisi önce.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
limit | integer | Hayır | En fazla duyuru sayısı (1-50, varsayılan 10). |
list_my_payslipsE-bordro pusulalarınız ve durumları; aya ya da yıla göre süzülebilir.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
term | string | Hayır | Dönem: bir ay (yyyy-MM) ya da bütün yıl (yyyy). |
limit | integer | Hayır | En fazla kayıt sayısı (1-50, varsayılan 12). |
get_payslip_pdfBordro pusulasının PDF'ini gömülü kaynak olarak döndürür.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
payslip_id | string | Evet | Bordro kimliği (list_my_payslips). |
find_api_endpointsYetkinizin açtığı Teamso API uçlarında anahtar kelimeyle (Türkçe ya da İngilizce), modüle, HTTP yöntemine ya da etkiye (okuma, yazma, silme) göre arar. Her sonuçta uç kimliği, özet, etki ve SMS kodu ya da dosya bilgisi vardır.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
query | string | Hayır | Aranacak 1-3 anahtar kelime, ör. masraf ya da expense form; her kelime eşleşmeli. |
module | string | Hayır | list_api_modules'taki modül kodu, ör. LEAVE, EXPENSE, PAY_SLIP. |
method | "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | Hayır | Yalnız bu HTTP yöntemi. |
side_effect | "read" | "write" | "delete" | "read_with_writes" | Hayır | Yalnız bu etkideki uçlar; güvenli aramalar için read. |
page | integer | Hayır | Sayfa numarası, 1'den başlar. |
size | integer | Hayır | Sayfa başına sonuç (1-50, varsayılan 20). |
lang | "tr" | "en" | Hayır | Modül adları ve özetlerin dili; varsayılan tr. |
list_api_modulesKullanabildiğiniz modülleri ve her modülde size açık uç sayısını listeler.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
lang | "tr" | "en" | Hayır | Modül adları ve özetlerin dili; varsayılan tr. |
describe_api_endpointBir ucun parametrelerini, gövde şemasını, yanıt türünü, SMS kodu gerekip gerekmediğini ve hazır bir örnek çağrıyı gösterir.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | find_api_endpoints'in döndürdüğü uç kimliği (YÖNTEM /yol), yol yer tutucularıyla birlikte. |
lang | "tr" | "en" | Hayır | Modül adları ve özetlerin dili; varsayılan tr. |
call_api_readYalnız okuma uçlarını çalıştırır ve veriyi döndürür. İstek salt okunur işaretlenir; Teamso veri değiştirecek her isteği reddeder. Büyük listeler kısaltılır, dosyalar (PDF, Excel, CSV, görsel) 8 MB'a kadar gömülü dosya olarak gelir.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Hayır | Okunacak ucun kimliği (YÖNTEM /yol); ya da method ve path verin. |
method | "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | Hayır | path ile birlikte, id yerine. |
path | string | Hayır | Katalogdaki yol kalıbı (yer tutucularıyla), method ile birlikte, id yerine. |
path_params | object | Hayır | Yoldaki yer tutucuların değerleri, ör. id. |
query | object | Hayır | Sorgu parametreleri; dizi verilirse parametre tekrarlanır. |
body | object | Hayır | Yalnız POST ile yapılan okumalarda filtre gövdesi. |
lang | "tr" | "en" | Hayır | Modül adları ve özetlerin dili; varsayılan tr. |
call_api_writeKayıt ekler, değiştirir ya da siler. confirm olmadan hiçbir şey göndermez, isteğin önizlemesini ve şema kontrolünü döndürür; ancak siz onayladıktan sonra confirm=true ile çalışır. SMS kodu isteyen işlemlerde otp_code alır, dosyaları base64 olarak yükler (toplam 10 MB).
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | string | Evet | Çalıştırılacak ucun kimliği (YÖNTEM /yol). |
path_params | object | Hayır | Yoldaki yer tutucuların değerleri. |
query | object | Hayır | Sorgu parametreleri. |
body | object | Hayır | Ucun gövde şemasına uyan JSON; çok parçalı (multipart) uçlarda dosya dışı form alanları. |
files | { field, filename, content_type, base64 }[] | Hayır | Çok parçalı uçlar için dosyalar: alan adı, dosya adı, MIME türü ve base64 içerik (en çok 10 dosya, toplam 10 MB). |
confirm | boolean | Hayır | false (varsayılan): yalnız önizleme, hiçbir şey gönderilmez. true: çalıştırır; yalnız kullanıcı önizlemeyi açıkça onayladıktan sonra. |
otp_code | string | Hayır | SMS kodu isteyen uçlarda request_sms_code ile gelen kod (3 dakika geçerli). |
lang | "tr" | "en" | Hayır | Modül adları ve özetlerin dili; varsayılan tr. |
request_sms_codeSMS kodu isteyen bir işlemi onayladıktan sonra telefonunuza 6 haneli doğrulama kodu gönderir (3 dakika geçerli, SMS kredisi harcar).
Parametre almaz.
401 UnauthorizedBearer tms_pat_... biçiminde olmalı.403 ACCESS_DENIED403 IP_NOT_ALLOWEDCREDIT_INSUFFICIENTOTP_NOT_DONErequest_leave_otp ile yeni kod isteyin.429 Too Many RequestsRetry-After süresi kadar bekleyip yeniden deneyin.find_api_endpoints bir işlemi bulamıyorsa ya da describe_api_endpoint "not found" diyorsa token sahibinin o işlem için yetkisi yoktur ya da uç MCP'ye kapalıdır (giriş, token, şifre). Yetki şirket yöneticinizden istenir; yeni yetki hemen yansır.Teamso'da görebildiğiniz verilere. Token sizin yetkilerinizle çalışır; yönetici değilseniz başkasının iznini onaylayamaz, yalnız kendi bordronuzu görürsünüz.
Hosted sunucu token'ı saklamaz ve günlüğe yazmaz; isteği iletir ve unutur. Teamso yalnız token'ın özetini (hash) tutar.
Yalnız SMS onayı isteyen işlemler harcar ve web uygulamasındakiyle aynı tutarı düşer: izin talebi oluşturma, talebin açıldığı her kişi için 1 dijital kredi; izin talebini iptal etme 2 dijital kredi kullanır (biri silmede, biri iptal belgesinin zaman damgasında). Okuma araçları ve kılavuz araçları kredi harcamaz.
Evet. Açık kaynak npm paketini yerelde ya da kendi sunucunuzda çalıştırabilirsiniz; ayrıntılar Self-hosted MCP kılavuzunda. Self-hosted MCP
MCP erişimi sayfasında token satırındaki İptal et işlemiyle; o token'la gelen istekler hemen reddedilir.