Veritabanları için MCP Araç Kutusu: BigQuery veri kümelerini MCP istemcilerinin kullanımına sunma

1. Giriş

Bu codelab'de, BigQuery veri kümelerinizi kullanıma sunmak için Veritabanları için MCP Araç Kutusu'nu kullanacaksınız.

Bu codelab'de aşağıdaki gibi adım adım bir yaklaşım kullanacaksınız:

  1. Herkese açık BigQuery veri kümeleri programından belirli bir BigQuery veri kümesini ("Google Cloud Sürüm Notları") belirleyin.
  2. BigQuery veri kümesine bağlanan Veritabanları için MCP Araç Kutusu'nu kurun.
  3. Kullanıcının Google Cloud sürüm notlarıyla ilgili sorgularını yanıtlamak için MCP Araç Kutusu'nu kullanacak bir temsilciyi Agent Development Kit (ADK) ile geliştirme

Yapacaklarınız

  • Google Cloud sürüm notlarını, herkese açık bir BigQuery veri kümesini diğer MCP istemcilerine (IDE'ler, araçlar vb.) MCP arayüzü olarak sunmak için Veritabanları için MCP Araç Kutusu'nu kurun.

Neler öğreneceksiniz?

  • BigQuery'nin herkese açık veri kümelerini keşfedin ve belirli bir veri kümesi seçin.
  • MCP müşterilerine sunmak istediğimiz BigQuery herkese açık veri kümesi için Veritabanları için MCP Araç Kutusu'nu kurun.
  • Kullanıcı sorgularını yanıtlamak için Agent Development Kit (ADK) kullanarak bir temsilci tasarlayıp geliştirme
  • Ajanı ve Veritabanları için MCP Araç Kutusu'nu yerel ortamda test edin.

Gerekenler

  • Chrome web tarayıcısı.
  • Yerel bir Python geliştirme ortamı.

2. Başlamadan önce

Proje oluşturma

  1. Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.
  2. Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını nasıl kontrol edeceğinizi öğrenin .
  3. bq'nun önceden yüklendiği, Google Cloud'da çalışan bir komut satırı ortamı olan Cloud Shell'i kullanacaksınız. Google Cloud Console'un üst kısmındaki Cloud Shell'i etkinleştir'i tıklayın.

Cloud Shell'i etkinleştir düğmesinin resmi

  1. Cloud Shell'e bağlandıktan sonra aşağıdaki komutu kullanarak kimliğinizin doğrulandığını ve projenin proje kimliğinize ayarlandığını kontrol edin:
gcloud auth list
  1. gcloud komutunun projeniz hakkında bilgi sahibi olduğunu onaylamak için Cloud Shell'de aşağıdaki komutu çalıştırın.
gcloud config list project
  1. Projeniz ayarlanmamışsa ayarlamak için aşağıdaki komutu kullanın:
gcloud config set project <YOUR_PROJECT_ID>
  1. Aşağıda gösterilen komutu kullanarak gerekli API'leri etkinleştirin. Bu işlem birkaç dakika sürebilir. Lütfen bekleyin.
gcloud services enable cloudresourcemanager.googleapis.com \
                       servicenetworking.googleapis.com \
                       run.googleapis.com \
                       cloudbuild.googleapis.com \
                       cloudfunctions.googleapis.com \
                       aiplatform.googleapis.com \
                       sqladmin.googleapis.com \
                       compute.googleapis.com 

Komut başarıyla yürütüldüğünde aşağıda gösterilene benzer bir mesaj görürsünüz:

Operation "operations/..." finished successfully.

gcloud komutunun alternatifi, her ürünü arayarak veya bu bağlantıyı kullanarak konsol üzerinden işlem yapmaktır.

Herhangi bir API atlanırsa uygulama sırasında istediğiniz zaman etkinleştirebilirsiniz.

gcloud komutları ve kullanımı için belgelere bakın.

3. Google Sürüm Notları Veri Kümesi ve MCP müşterileri

Öncelikle, resmi Google Cloud Sürüm Notları web sayfasında düzenli olarak güncellenen Google Cloud sürüm notlarına göz atalım. Bu sayfanın ekran görüntüsü aşağıda gösterilmektedir:

b0776edf14594ef4.png

Feed URL'sine abone olabilirsiniz ancak bu sürüm notları hakkında Agent Chat'te soru sormak daha kolay olmaz mıydı? Örneğin, "Google Cloud Sürüm Notları hakkında beni bilgilendir" gibi basit bir sorgu.

4. Veritabanları için MCP Araç Kutusu

Veritabanları için MCP Araç Kutusu, veritabanları için açık kaynaklı bir MCP sunucusudur. Kurumsal düzeyde ve üretim kalitesinde olacak şekilde tasarlanmıştır. Bağlantı havuzu oluşturma ve kimlik doğrulama gibi karmaşık işlemleri yöneterek araçları daha kolay, daha hızlı ve daha güvenli bir şekilde geliştirmenizi sağlar.

Toolbox, temsilcilerinizin veritabanınızdaki verilere erişmesine olanak tanıyan üretken yapay zeka araçları oluşturmanıza yardımcı olur. Araç kutusu şunları sağlar:

  • Basitleştirilmiş geliştirme: Araçları 10 satırdan daha az kodla aracınıza entegre edin, araçları birden fazla aracı veya çerçeve arasında yeniden kullanın ve araçların yeni sürümlerini daha kolay dağıtın.
  • Daha iyi performans: Bağlantı havuzu oluşturma, kimlik doğrulama gibi en iyi uygulamalar.
  • Gelişmiş güvenlik: Verilerinize daha güvenli erişim için entegre kimlik doğrulama
  • Uçtan uca gözlemlenebilirlik: OpenTelemetry için yerleşik destekle birlikte kullanıma hazır metrikler ve izleme.
  • Araç kutusu, veritabanlarını IDE'nizdekiler de dahil olmak üzere MCP özellikli tüm yapay zeka asistanlarına kolayca bağlamanızı sağlar.

Araç kutusu, uygulamanızın düzenleme çerçevesi ile veritabanınız arasında yer alır ve araçları değiştirmek, dağıtmak veya çağırmak için kullanılan bir kontrol düzlemi sağlar. Araçları depolayıp güncellemek için merkezi bir konum sağlayarak araçlarınızı yönetmeyi kolaylaştırır. Böylece, araçları temsilciler ve uygulamalar arasında paylaşabilir ve uygulamanızı yeniden dağıtmanıza gerek kalmadan bu araçları güncelleyebilirsiniz.

c23b0d5042e239fb.png

Basit kelimelerle özetlemek gerekirse:

  1. MCP Toolbox, ikili program, container görüntüsü olarak kullanılabilir ya da kaynak koddan oluşturulabilir.
  2. tools.yaml dosyası aracılığıyla yapılandırdığınız bir dizi aracı kullanıma sunar. Bu araçlar, veri kaynaklarınıza bağlanma olarak düşünülebilir. AlloyDB, BigQuery vb. gibi desteklediği çeşitli veri kaynaklarını görebilirsiniz.
  3. Bu araç kutusu artık MCP'yi desteklediğinden, otomatik olarak bir MCP sunucusu uç noktasına sahip olursunuz. Bu uç nokta, daha sonra aracılar (IDE'ler) tarafından kullanılabilir veya Agent Development Kit (ADK) gibi çeşitli çerçeveleri kullanarak aracı uygulamalarınızı geliştirirken kullanabilirsiniz.

Bu blog yayınında aşağıdaki alanlara odaklanacağız:

f1df59a67e5c668e.png

Özetle, Veritabanları için MCP Araç Kutusu'nda BigQuery veri kümemize nasıl bağlanılacağını bilen bir yapılandırma oluşturacağız. Ardından, MCP Araç Kutusu uç noktasıyla entegre olacak ve veri setimiz hakkında soru sormak için doğal sorgular göndermemize olanak tanıyacak bir temsilciyi Temsilci Geliştirme Kiti (ADK) kullanarak geliştireceğiz. Bunu, BigQuery veri kümenizle nasıl iletişim kuracağını bilen ve bazı sorgular çalıştıran, geliştirdiğiniz bir ajan uygulaması olarak düşünebilirsiniz.

5. Google Cloud için BigQuery Veri Kümesi Sürüm Notları

Google Cloud Public Dataset Program, uygulamalarınız için çeşitli veri kümeleri sunan bir programdır. Bu tür veri kümelerinden biri Google Cloud Sürüm Notları veritabanıdır. Bu veri kümesi, resmi Google Cloud Sürüm Notları web sayfası ile aynı bilgileri sağlar ve herkese açık olarak sorgulanabilir bir veri kümesi olarak kullanılabilir.

adb5593504dbb71d.png

Test olarak, aşağıdaki basit sorguyu çalıştırarak veri kümesini doğruluyorum:

SELECT
       product_name,description,published_at
     FROM
       `bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
     WHERE
       DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
     GROUP BY product_name,description,published_at
     ORDER BY published_at DESC

Bu sorgu, Yayın Notları veri kümesinde son 7 gün içinde yayınlanan kayıtların listesini gösterir.

Bunu, istediğiniz başka bir veri kümesi ve ilgili sorgularınız ve parametrelerinizle değiştirin. Şimdi yapmamız gereken tek şey bunu, Veritabanları için MCP Araç Kutusu'nda veri kaynağı ve araç olarak ayarlamak. Bunu nasıl yapacağımıza bakalım.

6. MCP Toolbox for Databases'i yükleme

Yerel makinenizde bir terminal açın ve mcp-toolbox adlı bir klasör oluşturun.

mkdir mcp-toolbox

Aşağıda gösterilen komutu kullanarak mcp-toolbox klasörüne gidin:

cd mcp-toolbox

Aşağıdaki komut dosyası aracılığıyla MCP Toolbox for Databases'in ikili sürümünü yükleyin. Aşağıda verilen komut Linux içindir. Mac veya Windows kullanıyorsanız doğru ikili dosyayı indirdiğinizden emin olun. İşletim sisteminiz ve mimariniz için yayınlar sayfasını inceleyin ve doğru ikili dosyayı indirin.

export VERSION=1.13.1
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox
chmod +x toolbox

Artık araç kutusunun ikili sürümünü kullanabiliriz. Bir sonraki adım, araç kutusunu veri kaynaklarımız ve diğer yapılandırmalarla yapılandırmaktır.

7. Veritabanları için MCP Araç Kutusu'nu yapılandırma

Şimdi, Veritabanı için MCP Araç Kutusu'nun ihtiyaç duyduğu tools.yaml dosyasında BigQuery veri kümemizi ve araçlarımızı tanımlamamız gerekiyor. tools.yaml dosyası, Toolbox'ı yapılandırmanın birincil yoludur.

Aynı klasörde (ör.mcp-toolbox) tools.yaml adlı bir dosya oluşturun. Bu dosyanın içeriği aşağıda gösterilmiştir.

Cloud Shell'de bulunan nano düzenleyiciyi kullanabilirsiniz. Nano komutu şu şekildedir: "nano tools.yaml".

YOUR_PROJECT_ID değerini Google Cloud proje kimliğinizle değiştirmeyi unutmayın.

kind: source
name: my-bq-source
type: bigquery
project: YOUR_PROJECT_ID
---
kind: tool
name: search_release_notes_bq
type: bigquery-sql
source: my-bq-source
description: Use this tool to get information on Google Cloud Release Notes.
statement: |
    SELECT
     product_name,description,published_at
    FROM
      `bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
    WHERE
     DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
    GROUP BY product_name,description,published_at
    ORDER BY published_at DESC;
---
kind: toolset
name: my_bq_toolset
tools:
  - search_release_notes_bq

Dosyayı kısaca açıklayalım:

  1. Kaynaklar, bir aracın etkileşimde bulunabileceği farklı veri kaynaklarınızı temsil eder. Kaynak, bir aracın etkileşimde bulunabileceği bir veri kaynağını temsil eder. Kaynakları, tools.yaml dosyanızın kaynaklar bölümünde harita olarak tanımlayabilirsiniz. Genellikle bir kaynak yapılandırması, veritabanına bağlanmak ve veritabanıyla etkileşim kurmak için gereken tüm bilgileri içerir. Bizim örneğimizde bir BigQuery kaynağı my-bq-source tanımladık ve Google Cloud proje kimliğinizi sağlamanız gerekiyor. Daha fazla bilgi için Kaynaklar referansına bakın.
  2. Araçlar, bir ajanın gerçekleştirebileceği işlemleri (ör. bir kaynağa okuma ve yazma) tanımlar. Araç, aracınızın gerçekleştirebileceği bir işlemi (ör. SQL ifadesi çalıştırma) temsil eder. Araçlar'ı, tools.yaml dosyanızın araçlar bölümünde harita olarak tanımlayabilirsiniz. Genellikle bir aracın işlem yapması için bir kaynak gerekir. Bu örnekte tek bir araç search_release_notes_bq tanımlıyoruz. Bu, ilk adımda tanımladığımız BigQuery kaynağını my-bq-source ifade eder. Ayrıca, Yapay Zeka Aracısı istemcileri tarafından kullanılacak ifade ve talimat da yer alır. Daha fazla bilgi için Araçlar referansına bakın.
  3. Son olarak, birlikte yüklemek istediğiniz araç gruplarını tanımlamanıza olanak tanıyan Araç Seti'ni ele alalım. Bu, aracıya veya uygulamaya göre farklı gruplar tanımlamak için yararlı olabilir. Bizim durumumuzda, şu anda yalnızca tanımladığımız mevcut bir aracı search_release_notes_bq tanımladığımız bir araç seti tanımımız var. Farklı araçların kombinasyonundan oluşan birden fazla araç seti kullanabilirsiniz.

Bu nedenle, şu anda sorguya göre son 7 günün sürüm notlarını alan yalnızca bir araç tanımladık. Ancak parametrelerle çeşitli kombinasyonlar da oluşturabilirsiniz.

Veritabanları için MCP Araç Kutusu'ndaki BigQuery veri kaynağı yapılandırması bölümünde daha fazla yapılandırma ayrıntısına göz atın.

8. Veritabanları için MCP Araç Kutusu'nu test etme

Araç kutusunu mcp-toolbox klasöründeki tools.yaml dosyasıyla indirip yapılandırdık. Önce yerel olarak uygulayalım.

Aşağıdaki komutu yürütün:

./toolbox --config "tools.yaml"

Başarılı bir yürütme işleminden sonra, aşağıdakine benzer bir örnek çıkışla birlikte sunucu başlatma işlemini görmeniz gerekir:

2026-09-26T12:58:14.590825+05:30 INFO "Starting MCP Toolbox for Databases version 1.13.1+binary.darwin.arm64.e14cda6" 
2026-09-26T12:58:14.59319+05:30 INFO "Initialized 1 sources: my-bq-source" 
2026-09-26T12:58:14.593198+05:30 INFO "Initialized 0 authServices: " 
2026-09-26T12:58:14.593201+05:30 INFO "Initialized 0 embeddingModels: " 
2026-09-26T12:58:14.59323+05:30 INFO "Initialized 1 tools: search_release_notes_bq" 
2026-09-26T12:58:14.593235+05:30 INFO "Initialized 0 prompts: " 
2026-09-26T12:58:14.593236+05:30 INFO "Initialized 0 resources: " 
2026-09-26T12:58:14.593238+05:30 INFO "Initialized 0 resource templates: " 
2026-09-26T12:58:14.593244+05:30 INFO "Initialized 2 groups: my_bq_toolset, default" 
2026-09-26T12:58:14.593259+05:30 WARN "wildcard (*) allows any website to access the primitives. This creates a security risk regardless of whether you are in a production or local development environment. Recommended to use --allowed-origins with specific local addresses." 
2026-09-26T12:58:14.593266+05:30 WARN "wildcard (*) hosts allow any domain to access this resource, making it vulnerable to DNS rebinding attacks regardless of whether you are in a production or local development environment. For improved security, use the --allowed-hosts flag to specify trusted domains." 
2026-09-26T12:58:14.593365+05:30 INFO "Server ready to serve!"  

MCP Toolbox sunucusu varsayılan olarak 5000 bağlantı noktasında çalışır. 5000 bağlantı noktasının zaten kullanımda olduğunu görürseniz aşağıdaki komutta gösterildiği gibi başka bir bağlantı noktası (ör. 7000) kullanabilirsiniz. Lütfen sonraki komutlarda 5000 bağlantı noktası yerine 7000 bağlantı noktasını kullanın.

./toolbox --config "tools.yaml" --port 7000

Bunu test etmek için Cloud Shell'i kullanalım.

Aşağıda gösterildiği gibi Cloud Shell'de Web Önizlemesi'ni tıklayın:

b8a52769f092e5d0.png

Change port'u (Bağlantı noktasını değiştir) tıklayın ve bağlantı noktasını aşağıda gösterildiği gibi 5000 olarak ayarlayıp Change and Preview'u (Değiştir ve Önizle) tıklayın.

3ccac41b1f8996c5.png

Bu işlem sonucunda aşağıdaki çıkış elde edilir:

e2a7d3ddaac0c3be.png

Araçları, Veritabanları için MCP Araç Kutusu kullanıcı arayüzü üzerinden test etme

Araç kutusu, parametreleri değiştirerek, başlıkları yöneterek ve çağrıları yürüterek araçlarla doğrudan etkileşim kurmak için görsel bir arayüz (Araç Kutusu kullanıcı arayüzü) sağlar. Tüm bu işlemler basit bir web kullanıcı arayüzünde gerçekleştirilir.

Bu özelliği test etmek isterseniz Toolbox sunucusunu başlatmak için kullandığımız önceki komutu --ui seçeneğiyle çalıştırabilirsiniz.

Bunu yapmak için, çalışıyor olabilecek Veritabanları için MCP Araç Kutusu Sunucusu'nun önceki örneğini kapatın ve aşağıdaki komutu verin:

./toolbox --tools-file "tools.yaml" --ui

İdeal olarak, sunucunun veri kaynaklarımıza bağlanabildiğini ve araç setini ve araçları yüklediğini gösteren bir çıktı görmeniz gerekir. Aşağıda örnek bir çıktı verilmiştir. Bu çıktıda, Araç Kutusu kullanıcı arayüzünün çalışır durumda olduğu belirtilir.

Flag --tools-file has been deprecated, please use --config instead
2026-09-26T12:59:21.662102+05:30 INFO "Starting MCP Toolbox for Databases version 1.13.1+binary.darwin.arm64.e14cda6" 
2026-09-26T12:59:21.663076+05:30 INFO "Initialized 1 sources: my-bq-source" 
2026-09-26T12:59:21.663084+05:30 INFO "Initialized 0 authServices: " 
2026-09-26T12:59:21.663087+05:30 INFO "Initialized 0 embeddingModels: " 
2026-09-26T12:59:21.663101+05:30 INFO "Initialized 1 tools: search_release_notes_bq" 
2026-09-26T12:59:21.663104+05:30 INFO "Initialized 0 prompts: " 
2026-09-26T12:59:21.663107+05:30 INFO "Initialized 0 resources: " 
2026-09-26T12:59:21.663109+05:30 INFO "Initialized 0 resource templates: " 
2026-09-26T12:59:21.663116+05:30 INFO "Initialized 2 groups: default, my_bq_toolset" 
2026-09-26T12:59:21.663124+05:30 WARN "wildcard (*) allows any website to access the primitives. This creates a security risk regardless of whether you are in a production or local development environment. Recommended to use --allowed-origins with specific local addresses." 
2026-09-26T12:59:21.663132+05:30 WARN "wildcard (*) hosts allow any domain to access this resource, making it vulnerable to DNS rebinding attacks regardless of whether you are in a production or local development environment. For improved security, use the --allowed-hosts flag to specify trusted domains." 
2026-09-26T12:59:21.663242+05:30 INFO "Server ready to serve!" 
2026-09-26T12:59:21.663249+05:30 INFO "Toolbox UI is up and running at: http://127.0.0.1:5000/ui" 

Kullanıcı arayüzü URL'sini tıklayın ve URL'nin sonunda /ui olduğundan emin olun. Bu işlem, aşağıdaki gibi bir kullanıcı arayüzü gösterir:

cfad8321357e4322.png

Yapılandırılmış araçları görüntülemek için soldaki Araçlar seçeneğini tıklayın. Bizim durumumuzda, aşağıda gösterildiği gibi yalnızca bir araç (search_release_notes_bq) olmalıdır:

a315a6613e9e38ea.png

Araçları (search_release_notes_bq) tıkladığınızda aracı test edebileceğiniz bir sayfa açılır. Sağlanacak parametre olmadığından sonucu görmek için Aracı Çalıştır'ı tıklamanız yeterlidir. Örnek bir çalıştırma aşağıda gösterilmiştir:

6632c2e2045b7330.png

9. Agent Development Kit (ADK) ile aracımızı yazma

Agent Development Kit'i (ADK) yükleme

Cloud Shell'de yeni bir terminal sekmesi açın ve aşağıdaki gibi my-agents adlı bir klasör oluşturun. my-agents klasörüne de gidin.

mkdir my-agents
cd my-agents

Şimdi venv kullanarak aşağıdaki gibi bir sanal Python ortamı oluşturalım:

python -m venv .venv

Sanal ortamı aşağıdaki gibi etkinleştirin:

source .venv/bin/activate

ADK ve MCP Toolbox for Databases paketlerini langchain bağımlılığıyla birlikte aşağıdaki şekilde yükleyin:

pip install google-adk toolbox-core

Artık adk yardımcı programını aşağıdaki şekilde çağırabilirsiniz.

adk

Komutların listesi gösterilir.

$ adk
Usage: adk [OPTIONS] COMMAND [ARGS]...
  Agent Development Kit CLI tools.
Options:
  --version  Show the version and exit.
  --help     Show this message and exit.
Commands:
  api_server   Starts a FastAPI server for agents.
  conformance  Conformance testing tools for ADK.
  create       Creates a new app in the current folder with prepopulated...
  deploy       Deploys agent to hosted environments.
  eval         Evaluates an agent given the eval sets.
  eval_set     Manage Eval Sets.
  migrate      ADK migration commands.
  optimize     Optimizes the root agent instructions using the GEPA...
  run          Runs an agent.
  telemetry    Manage telemetry settings.
  test         Runs pytest on agent test JSON files under the specified...
  web          Starts a FastAPI server with Web UI for agents.

İlk temsilci uygulamamızı oluşturma

Şimdi, aşağıdaki gibi bir uygulama adı olan **(gcp_releasenotes_agent_app)**ile adk create komutu aracılığıyla Google Cloud Sürüm Notları Aracı Uygulaması için bir iskele oluşturmak üzere adk kullanacağız.

adk create gcp_releasenotes_agent_app

Adımları uygulayın ve aşağıdakileri seçin:

  • Kök aracı için model seçmek üzere gemini-3.8-flash modelini seçin.
  • Arka uç için Vertex AI seçeneğini belirleyin.
  • Varsayılan Google projesi kimliğiniz gösterilir. Bunu seçin.
  • Mevcut Google Cloud projesi bölgesi gösterilir. global yazdığınızdan emin olun.
Choose a model for the root agent:
1. gemini-3.5-flash
2. gemini-3.8-flash
3. Other models (fill later)
Choose model (1, 2, 3): 2

1. Google AI
2. Vertex AI
3. Login with Google
Choose a backend (1, 2, 3): 2

You need an existing Google Cloud account and project, check out this link for details:
https://google.github.io/adk-docs/get-started/quickstart/#gemini---google-cloud-vertex-ai

Enter Google Cloud project ID [YOUR_PROJECT_ID]: 
Enter Google Cloud region [us-central1]: global
Agent created in /Users/romin/my-agents/gcp_releasenotes_agent_app:
- .env
- .gitignore
- __init__.py
- agent.py

Varsayılan şablonun ve aracı için gerekli dosyaların oluşturulduğu klasörü inceleyin.

İlk olarak .env dosyası. İçeriği aşağıda gösterilmiştir:

GOOGLE_GENAI_USE_ENTERPRISE=1
GOOGLE_CLOUD_PROJECT=YOUR_GOOGLE_PROJECT_ID
GOOGLE_CLOUD_LOCATION=YOUR_GOOGLE_PROJECT_REGION

Değerler, Google Cloud proje kimliği ve konum için ilgili değerlerle birlikte Gemini Enterprise üzerinden Gemini'ı kullanacağımızı gösterir.

Ardından, klasörü modül olarak işaretleyen ve aracıyı __init__.py dosyasından içe aktaran tek bir ifadeye sahip olan agent.py dosyası gelir.

from . import agent

Son olarak, agent.py dosyasına göz atalım. İçerikler aşağıda gösterilmektedir:

from google.adk.agents.llm_agent import Agent
root_agent = Agent(
    model='gemini-3.8-flash',
    name='root_agent',
    description='A helpful assistant for user questions.',
    instruction='Answer user questions to the best of your knowledge',
)

Bu, ADK ile yazabileceğiniz en basit ajandır. ADK belgeleri sayfasında belirtildiği gibi, ajanlar belirli hedeflere ulaşmak için bağımsız hareket edecek şekilde tasarlanmış, kendi kendine yeten yürütme birimleridir. Ajanlar görevleri yerine getirebilir, kullanıcılarla etkileşim kurabilir, harici araçları kullanabilir ve diğer ajanlarla koordineli çalışabilir.

Özellikle, genellikle Agent olarak bilinen bir LLMAgent, doğal dili anlamak, akıl yürütmek, plan yapmak, yanıt oluşturmak ve nasıl devam edeceğine veya hangi araçların kullanılacağına dinamik olarak karar vermek için temel motoru olarak Büyük Dil Modelleri'ni (LLM'ler) kullanır. Bu nedenle, esnek ve dil odaklı görevler için idealdir. LLM Temsilcileri hakkında daha fazla bilgiyi burada bulabilirsiniz.

Bu işlem, Agent Development Kit (ADK) kullanarak temel bir ajan oluşturmak için iskelemizi tamamlar. Şimdi aracımızı MCP Toolbox'a bağlayacağız. Böylece bu aracı kullanarak kullanıcının sorgularını (bu örnekte Google Cloud sürüm notları) yanıtlayabilir.

10. Ajanımızı Araçlara Bağlama

Bu Aracıyı şimdi Araçlar'a bağlayacağız. ADK bağlamında Araç, bir yapay zeka ajanı için sağlanan belirli bir özelliği temsil eder. Bu özellik, ajanın temel metin oluşturma ve akıl yürütme yeteneklerinin ötesinde işlemler gerçekleştirmesini ve dünyayla etkileşim kurmasını sağlar.

Bu örnekte, aracımızı Veritabanları için MCP Araç Kutusu'nda yapılandırdığımız araçlarla donatacağız.

agent.py dosyasını aşağıdaki kodla değiştirin. Kodda varsayılan bağlantı noktası olan 5000'in kullanıldığına dikkat edin. Alternatif bir bağlantı noktası numarası kullanıyorsanız lütfen bunu kullanın.

from google.adk.agents import Agent
from toolbox_core import ToolboxSyncClient
toolbox = ToolboxSyncClient("http://127.0.0.1:5000")
# Load all the tools
tools = toolbox.load_toolset('my_bq_toolset')
root_agent = Agent(
    name="gcp_releasenotes_agent",
    model="gemini-3.8-flash",
    description=(
        "Agent to answer questions about Google Cloud Release notes."
    ),
    instruction=(
        "You are a helpful agent who can answer user questions about the Google Cloud Release notes. Use the tools to answer the question"
    ),
    tools=tools,
)

Artık, Veritabanları için MCP Araç Kutusu ile yapılandırılmış BigQuery veri kümemizden gerçek verileri getirecek olan ajanı test edebiliriz.

Bunun için aşağıdaki sırayı izleyin:

Cloud Shell'in bir terminalinde Veritabanları için MCP Araç Kutusu'nu başlatın. Daha önce test ettiğimiz gibi, yerel olarak 5000 numaralı bağlantı noktasında çalışıyor olabilir. Aksi takdirde, sunucuyu başlatmak için aşağıdaki komutu (mcp-toolbox klasöründen) çalıştırın:

./toolbox --config "tools.yaml"

İdeal olarak, sunucunun veri kaynaklarımıza bağlanabildiğini ve araç setini ve araçları yüklediğini gösteren bir çıktı görmeniz gerekir.

MCP sunucusu başarıyla başlatıldıktan sonra başka bir terminalde, aşağıdaki adk run (my-agents klasöründen) komutuyla aracıyı başlatın. Dilerseniz adk web komutunu da kullanabilirsiniz.

$ adk run gcp_releasenotes_agent_app/
Running agent gcp_releasenotes_agent, type exit to exit.
[user]: Hello
[gcp_releasenotes_agent]: Hello! I am your Google Cloud Release Notes assistant. How can I help you today? Feel free to ask about recent updates, feature releases, deprecations, or announcements across Google Cloud products.
[user]: get me the google cloud release notes
[gcp_releasenotes_agent]: Here are the latest highlights from the Google Cloud Release Notes:
---

### **AI & Machine Learning**
* **Gemini Enterprise**: 
  * **Gemini 3.8 Flash** is now Generally Available (GA) and enabled by default in `global`, `us`, and `eu` regions.
* **Gemini Enterprise Agent Platform**: 
  * **Gemini 3.8 Live** is now GA, bringing improved voice quality, model reliability, and agent orchestration.
  * **Meta's Muse Spark 1.3** is in Preview (reasoning model with tool calling, MCP support, and 1M context window).
* **CX Agent Studio**: 
  * **Agent as a tool** is now GA.
  * Added **Composite models** for enterprise voice agents.
  * Introduced **Supervisor agents** to monitor active agent performance.
  * Added **Agent-to-agent (A2A) protocol tools** and integrations for WhatsApp, Instagram, and SecureCo.
* **Model Armor**: Prompt injection, jailbreak detection, and Responsible AI filters are now supported in Melbourne (`australia-southeast2`).
---

### **Compute & Infrastructure**
* **Compute Engine**: Standard snapshots deleted accidentally or maliciously are now retained in the **Recycle Bin for 3 days** before permanent erasure (Preview).
* **Confidential VM**: Support for **Intel TDX on `c4-standard-*`** machine types is now GA.
* **SAP on Google Cloud**: Certified the **X5 series** of memory-optimized bare metal machine types (Intel Granite Rapids CPU platform) for SAP HANA and SAP NetWeaver.
* **Cloud Workstations**: Cloud Workstations is now a covered product under the Google Cloud HIPAA BAA.
---

### **Containers & Networking**
* **Google Kubernetes Engine (GKE)**: **GKE ambient networking** is now in Preview (allowlist), providing a sidecarless, Layer 4 service mesh using Gateway API on GKE Dataplane V2.
* **Cloud Service Mesh**: Maintenance and security patch releases available for in-cluster versions `1.30.4-asm.14`, `1.29.7-asm.18`, and `1.28.10-asm.40`.
---

### **Data Analytics & Databases**
* **BigQuery**: In BigQuery Studio, the query editor results table now freezes row numbers on the left during horizontal scrolling (GA).
* **Memorystore for Valkey**: Valkey version 9.1 is now GA.
* **Looker**: Deployment of version 26.16; includes a long-polling concurrency guard, tile-level filter controls (Preview), and an OAuth authorization warning dialog.
* **Data Studio / Looker Studio**: 
  * Added private IP connectivity for Cloud SQL PostgreSQL databases.
..
..
..

Aracının, Veritabanları için MCP Araç Kutusu'nda (search_release_notes_bq) yapılandırdığımız aracı kullandığını, verileri BigQuery veri kümesinden aldığını ve yanıtı buna göre biçimlendirdiğini unutmayın.

11. Tebrikler

Veritabanları için MCP Araç Kutusu'nu başarıyla yapılandırdınız ve MCP istemcilerinde erişim için bir BigQuery veri kümesi oluşturdunuz.

Referans belgeler