İçeriğe geç
New Kodine v2 is now available

MCP sunucuları

Yerel ve uzak MCP araçlarını kodine'a bağlayın.

Model Context Protocol (kısaca MCP) sayesinde kodine’a dışarıdan araçlar kazandırabilirsiniz. kodine hem yerel hem de uzak MCP sunucularıyla çalışır.

Bir MCP aracı eklendikten sonra, yerleşik araçlarla birlikte LLM tarafından kendiliğinden kullanılabilir hale gelir.


Uyarılar

Kullandığınız her MCP sunucusu bağlamınıza eklenir. Çok sayıda aracınız varsa bağlam boyutu hızla şişebilir; bu yüzden hangi MCP sunucularını açtığınızı özenle seçmenizi öneririz.

GitHub MCP sunucusu gibi bazı sunucular çok fazla token ekleyebilir ve bağlam sınırını kolayca aşmanıza yol açabilir.


Etkinleştirme

MCP sunucularını kodine yapılandırmanızda mcp bölümü altında tanımlayın. Her MCP’ye benzersiz bir ad verin; LLM’ye istem yazarken bu ada atıfta bulunabilirsiniz.

kodine.jsonc
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"name-of-mcp-server": {
// ...
"enabled": true,
},
"name-of-other-mcp-server": {
// ...
},
},
}

İsterseniz enabled alanını false yaparak bir sunucuyu kapatabilirsiniz. Sunucuyu yapılandırmanızdan silmeden geçici olarak duraklatmak istediğinizde bu yöntem kullanışlıdır.


Uzak varsayılanları geçersiz kılma

Kuruluşlar, .well-known/kodine uç noktaları üzerinden varsayılan MCP sunucuları sunabilir. Bu sunucular, kullanıcıların yalnızca ihtiyaç duyduklarını seçebilmesi için varsayılan olarak kapalı tutulabilir.

Kuruluşunuzun uzak yapılandırmasındaki belirli bir sunucuyu açmak için yerel yapılandırmanıza enabled: true ile ekleyin:

kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"jira": {
"type": "remote",
"url": "https://jira.example.com/mcp",
"enabled": true
}
}
}

Yerel yapılandırmanızdaki değerler uzak varsayılanların önüne geçer. Ayrıntılar için yapılandırma önceliği bölümüne bakın.


Yerel

Yerel MCP sunucularını mcp nesnesi içinde type alanını "local" yaparak ekleyin.

kodine.jsonc
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"my-local-mcp-server": {
"type": "local",
// Ya da ["bun", "x", "my-mcp-command"]
"command": ["npx", "-y", "my-mcp-command"],
"enabled": true,
"environment": {
"MY_ENV_VAR": "my_env_var_value",
},
},
},
}

command alanı, yerel MCP sunucusunun nasıl başlatılacağını belirler. Ayrıca sunucuya bir dizi ortam değişkeni de aktarabilirsiniz.

Örneğin @modelcontextprotocol/server-everything test sunucusunu şöyle ekleyebilirsiniz:

kodine.jsonc
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"mcp_everything": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
},
},
}

Kullanmak için istemlerinize use the mcp_everything tool yazmanız yeterli.

use the mcp_everything tool to add the number 3 and 4

Seçenekler

Yerel bir MCP sunucusunu yapılandırırken kullanabileceğiniz tüm seçenekler şunlardır:

SeçenekTürGerekliAçıklama
typeDizeYMCP sunucu bağlantı türü; "local" olmalıdır.
commandDiziYMCP sunucusunu başlatacak komut ve argümanları.
environmentNesneSunucu çalıştırılırken tanımlanacak ortam değişkenleri.
enabledBooleanMCP sunucusunu başlangıçta açar ya da kapalı tutar.
timeoutSayıMCP sunucusundan araçlar alınırken milisaniye cinsinden zaman aşımı. Varsayılan 5000 (5 sn).

Uzak

Uzak MCP sunucuları için type alanını "remote" yapın.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"my-remote-mcp": {
"type": "remote",
"url": "https://my-mcp-server.com",
"enabled": true,
"headers": {
"Authorization": "Bearer MY_API_KEY"
}
}
}
}

url uzak MCP sunucusunun adresidir; headers seçeneğiyle istekle birlikte gönderilecek başlıkları da tanımlayabilirsiniz.


Seçenekler

SeçenekTürGerekliAçıklama
typeDizeYMCP sunucu bağlantı türü; "remote" olmalıdır.
urlDizeYUzak MCP sunucusunun adresi.
enabledBooleanMCP sunucusunu başlangıçta açar ya da kapalı tutar.
headersNesneİsteklerle birlikte gönderilecek HTTP başlıkları.
oauthObjectOAuth kimlik doğrulama yapılandırması. Aşağıdaki OAuth bölümüne bakın.
timeoutSayıMCP sunucusundan araçlar alınırken milisaniye cinsinden zaman aşımı. Varsayılan 5000 (5 sn).

OAuth

kodine, uzak MCP sunucularında OAuth kimlik doğrulamasını otomatik olarak yönetir. Bir sunucu kimlik doğrulaması istediğinde kodine şu adımları atar:

  1. 401 yanıtını algılar ve OAuth akışını başlatır
  2. Sunucu destekliyorsa Dinamik İstemci Kaydı (RFC 7591) kullanır
  3. Token’ları sonraki istekler için güvenli biçimde saklar

Otomatik

OAuth destekleyen çoğu MCP sunucusu için ek bir yapılandırma gerekmez; uzak sunucuyu tanımlamanız yeterlidir:

kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"my-oauth-server": {
"type": "remote",
"url": "https://mcp.example.com/mcp"
}
}
}

Sunucu kimlik doğrulaması istiyorsa kodine, onu ilk kullanışınızda sizi doğrulamaya yönlendirir. Yönlendirmezse kodine mcp auth <server-name> komutuyla akışı elle başlatabilirsiniz.


Ön kayıtlı

MCP sunucu sağlayıcınızdan istemci kimlik bilgileri aldıysanız bunları yapılandırmaya ekleyebilirsiniz:

kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"my-oauth-server": {
"type": "remote",
"url": "https://mcp.example.com/mcp",
"oauth": {
"clientId": "{env:MY_MCP_CLIENT_ID}",
"clientSecret": "{env:MY_MCP_CLIENT_SECRET}",
"scope": "tools:read tools:execute"
}
}
}
}

Kimlik doğrulama

Kimlik doğrulama akışını elle tetikleyebilir ya da kayıtlı kimlik bilgilerini yönetebilirsiniz.

Belirli bir MCP sunucusunda kimlik doğrulamak için:

Terminal window
kodine mcp auth my-oauth-server

Tüm MCP sunucularını ve kimlik doğrulama durumlarını listelemek için:

Terminal window
kodine mcp list

Kayıtlı kimlik bilgilerini silmek için:

Terminal window
kodine mcp logout my-oauth-server

mcp auth komutu yetkilendirme için tarayıcınızı açar. Yetkilendirme tamamlandıktan sonra kodine, token’ları ~/.local/share/kodine/mcp-auth.json dosyasında güvenle saklar.


OAuth’u devre dışı bırakma

Bir sunucuda otomatik OAuth algılamasını kapatmak istiyorsanız (örneğin API anahtarıyla çalışan sunucularda) oauth alanını false yapın:

kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"my-api-key-server": {
"type": "remote",
"url": "https://mcp.example.com/mcp",
"oauth": false,
"headers": {
"Authorization": "Bearer {env:MY_API_KEY}"
}
}
}
}

OAuth Seçenekleri

SeçenekTürAçıklama
oauthObject | falseOAuth yapılandırma nesnesi ya da otomatik OAuth algılamasını kapatmak için false.
clientIdDizeOAuth istemci kimliği. Verilmezse dinamik istemci kaydı denenir.
clientSecretDizeYetkilendirme sunucusu istiyorsa OAuth istemci gizli anahtarı.
scopeDizeYetkilendirme sırasında talep edilecek OAuth kapsamları.

Hata Ayıklama

Uzak bir MCP sunucusunda kimlik doğrulama başarısız olursa sorunu şu komutlarla inceleyebilirsiniz:

Terminal window
# OAuth destekleyen tüm sunucuların kimlik doğrulama durumunu görün
kodine mcp auth list
# Belirli bir sunucu için bağlantıyı ve OAuth akışını inceleyin
kodine mcp debug my-oauth-server

mcp debug komutu mevcut kimlik doğrulama durumunu gösterir, HTTP bağlantısını sınar ve OAuth keşif akışını dener.


Yönetim

MCP araçlarınız, kodine içinde yerleşik araçlarla aynı şekilde kullanılabilir. Dolayısıyla bunları da diğer araçlar gibi kodine yapılandırması üzerinden yönetebilirsiniz.


Global

Yani bu araçları genel olarak açabilir ya da kapatabilirsiniz.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"my-mcp-foo": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-foo"]
},
"my-mcp-bar": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-bar"]
}
},
"tools": {
"my-mcp-foo": false
}
}

Bir glob deseni kullanarak eşleşen tüm MCP araçlarını tek seferde kapatabilirsiniz.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"my-mcp-foo": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-foo"]
},
"my-mcp-bar": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-bar"]
}
},
"tools": {
"my-mcp*": false
}
}

Burada my-mcp* glob deseniyle bu sunucunun tüm araçları kapatılıyor.


Agent başına

Çok sayıda MCP sunucunuz varsa bunları genel olarak kapalı tutup yalnızca belirli agent’larda açmak isteyebilirsiniz. Bunun için:

  1. Aracı genel düzeyde kapatın.
  2. agent yapılandırmanızda ilgili MCP sunucusunu araç olarak açın.
kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"my-mcp": {
"type": "local",
"command": ["bun", "x", "my-mcp-command"],
"enabled": true
}
},
"tools": {
"my-mcp*": false
},
"agent": {
"my-agent": {
"tools": {
"my-mcp*": true
}
}
}
}

Glob desenleri

Glob desenleri basit joker eşleştirme kurallarına göre çalışır:

  • * sıfır ya da daha fazla karakterle eşleşir (örneğin "my-mcp*"; my-mcp_search, my-mcp_list gibi adlarla eşleşir)
  • ? tam olarak bir karakterle eşleşir
  • Diğer tüm karakterler birebir eşleşir

Örnekler

Aşağıda yaygın kullanılan bazı MCP sunucularına örnekler bulabilirsiniz. Başka sunucuları belgelemek isterseniz PR gönderebilirsiniz.


Sentry

Sentry projeleriniz ve sorun kayıtlarınızla etkileşim kurmak için Sentry MCP sunucusunu ekleyin.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"oauth": {}
}
}
}

Yapılandırmayı ekledikten sonra Sentry’de kimlik doğrulayın:

Terminal window
kodine mcp auth sentry

Bu komut, OAuth akışını tamamlamanız ve kodine’u Sentry hesabınıza bağlamanız için bir tarayıcı penceresi açar.

Kimlik doğrulandıktan sonra istemlerinizde Sentry araçlarını kullanarak sorunları, projeleri ve hata verilerini sorgulayabilirsiniz.

Show me the latest unresolved issues in my project. use sentry

Context7

Dokümantasyon içinde arama yapmak için Context7 MCP sunucusunu ekleyin.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp"
}
}
}

Ücretsiz bir hesap oluşturursanız API anahtarınızı ekleyerek daha yüksek kullanım limitlerinden yararlanabilirsiniz.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
}
}
}
}

Bu örnekte CONTEXT7_API_KEY ortam değişkeninin tanımlı olduğu varsayılıyor.

Context7 MCP sunucusunu kullandırmak için isteklerinizin sonuna use context7 ekleyin.

Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7

Alternatif olarak AGENTS.md dosyanıza şuna benzer bir satır ekleyebilirsiniz.

AGENTS.md
When you need to search docs, use `context7` tools.

Grep by Vercel

GitHub üzerindeki kod örneklerinde arama yapmak için Grep by Vercel MCP sunucusunu ekleyin.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"mcp": {
"gh_grep": {
"type": "remote",
"url": "https://mcp.grep.app"
}
}
}

Sunucuya gh_grep adını verdiğimiz için, agent’ın onu kullanmasını istediğinizde istemlerinize use the gh_grep tool yazabilirsiniz.

What's the right way to set a custom domain in an SST Astro component? use the gh_grep tool

Alternatif olarak AGENTS.md dosyanıza şuna benzer bir satır ekleyebilirsiniz.

AGENTS.md
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.