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 MCP Toolbox for Databases'i 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ümesi ("Google Cloud Sürüm Notları") belirleyin.
  2. BigQuery veri kümesine bağlanan MCP Toolbox for Databases'i 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 aracı geliştirmek üzere Aracı Geliştirme Kitini (ADK) kullanın.

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 ayarlayın.

Neler öğreneceksiniz?

  • BigQuery'nin herkese açık veri kümelerini keşfedin ve belirli bir veri kümesi seçin.
  • MCP müşterilerinin kullanımına sunmak istediğimiz BigQuery herkese açık veri kümesi için MCP Toolbox for Databases'i ayarlayın.
  • Kullanıcı sorgularını yanıtlamak için Agent Development Kit'i (ADK) kullanarak bir aracı tasarlayın ve geliştirin.
  • Yerel ortamda veritabanları için Agent ve MCP Toolbox'ı 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. Faturalandırmanın projede etkin olup olmadığını kontrol etmeyi öğ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ından 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ğrulanmış olduğunu ve projenin proje kimliğinize ayarlandığını kontrol edin:
gcloud auth list
  1. gcloud komutunun projeniz hakkında bilgi sahibi olduğunu doğrulamak 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>

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

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

İlk olarak, 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:

2973122a11bbb237.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ç Seti

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.

Araç kutusu, 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 kullanıma hazır metrikler ve izleme.
  • Toolbox, veritabanlarını IDE'nizde bulunanlar da 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ı depolamak ve güncellemek için merkezi bir konum sağlayarak araçlarınızın yönetimini basitleştirir. 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.

6c2db11849f99a4.png

Basit kelimelerle özetlemek gerekirse:

  1. MCP Toolbox, ikili dosya veya container görüntüsü olarak kullanılabilir ya da kaynaktan oluşturulabilir.
  2. tools.yaml dosyası aracılığıyla yapılandırdığınız bir dizi aracı kullanıma sunar. Araçlar, veri kaynaklarınıza bağlanma olarak düşünülebilir. Desteklediği çeşitli veri kaynaklarını (AlloyDB, BigQuery vb.) görebilirsiniz.
  3. Bu araç kutusu artık MCP'yi desteklediğinden, otomatik olarak bir MCP sunucu uç noktasına sahip olursunuz. Bu uç nokta, Temsilciler (IDE'ler) tarafından kullanılabilir veya Temsilci Geliştirme Kiti (ADK) gibi çeşitli çerçeveleri kullanarak Temsilci Uygulamalarınızı geliştirirken kullanılabilir.

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

846fa11a5db0a1a1.png

Özetle, MCP Toolbox for Databases'de BigQuery veri kümemize nasıl bağlanılacağını bilen bir yapılandırma oluşturacağız. Ardından, MCP Toolbox uç noktasıyla entegre olacak ve veri setimiz hakkında soru sormak için doğal sorgular göndermemize olanak tanıyacak bir Temsilci Geliştirme Kiti (ADK) kullanarak bir Temsilci 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 yapay zeka uygulaması olarak düşünebilirsiniz.

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

Google Cloud Herkese Açık Veri Kümesi 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.

2104010c05c87d0d.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, son 7 gün içinde yayınlanan Sürüm Notları veri kümesindeki 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. Bunun nasıl yapılacağını görelim.

6. Veritabanları için MCP Toolbox'ı yükleme

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

mkdir mcp-toolbox

Aşağıdaki 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ğıdaki 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ına göz atın ve doğru ikili dosyayı indirin.

export VERSION=0.13.0
curl -O https://storage.googleapis.com/genai-toolbox/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. MCP Toolbox for Databases'i yapılandırma

Şimdi, MCP Toolbox for Database'in 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 şöyledir: "nano tools.yaml".

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

sources:
 my-bq-source:
   kind: bigquery
   project: YOUR_PROJECT_ID

tools:
 search_release_notes_bq:
   kind: bigquery-sql
   source: my-bq-source
   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
   description: |
    Use this tool to get information on Google Cloud Release Notes.

toolsets:
 my_bq_toolset:
   - 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. Ö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 aracını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 bulunur. 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 tanımladığımız yalnızca bir mevcut 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.

MCP Toolbox for Databases'deki BigQuery veri kaynağı yapılandırmasında diğer yapılandırma ayrıntılarına ( Kaynak, Araçlar) 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 çalıştıralım.

Aşağıdaki komutu çalıştırın:

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

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

2025-09-08T03:56:45.772489914Z INFO "Initialized 1 sources." 
2025-09-08T03:56:45.772682659Z INFO "Initialized 0 authServices." 
2025-09-08T03:56:45.772735103Z INFO "Initialized 1 tools." 
2025-09-08T03:56:45.772774639Z INFO "Initialized 2 toolsets." 
2025-09-08T03:56:45.777711644Z INFO "Server ready to serve!"  

MCP Toolbox Server varsayılan olarak 5000 bağlantı noktasında çalışır. 5000 bağlantı noktasının zaten kullanıldığını 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 --tools-file "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:

f990712162e8e924.png

Bağlantı noktasını değiştir'i tıklayın ve bağlantı noktasını aşağıda gösterildiği gibi 5000 olarak ayarlayıp Değiştir ve Önizle'yi tıklayın.

d1b9de0c46ecef8a.png

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

2fdcdac326034d41.png

Tarayıcı URL'sine, URL'nin sonuna aşağıdakileri ekleyin:

/api/toolset

Bu işlem, şu anda yapılandırılmış araçları gösterir. Örnek bir çıkış aşağıda gösterilmektedir:

{
  "serverVersion": "0.13.0+binary.linux.amd64.1a6dfe8d37d0f42fb3fd3f75c50988534dbc1b85",
  "tools": {
    "search_release_notes_bq": {
      "description": "Use this tool to get information on Google Cloud Release Notes.\n",
      "parameters": [],
      "authRequired": []
    }
  }
}

Veritabanları için MCP Araç Kutusu kullanıcı arayüzü üzerinden araçları 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 bunlar basit bir web kullanıcı arayüzünde yapılır.

Bunu 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 MCP Toolbox for Databases Server'ın ö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.

2025-09-08T03:59:34.856476253Z INFO "Initialized 1 sources." 
2025-09-08T03:59:34.856546526Z INFO "Initialized 0 authServices." 
2025-09-08T03:59:34.856577586Z INFO "Initialized 1 tools." 
2025-09-08T03:59:34.856641568Z INFO "Initialized 2 toolsets." 
2025-09-08T03:59:34.86133344Z INFO "Server ready to serve!" 
2025-09-08T03:59:34.861366205Z INFO "Toolbox UI is up and running at: http://localhost: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:

f95c15dd0e97f3c7.png

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

20bc9f088b874e47.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österilmektedir:

fc1ff8fbb15b230a.png

Veritabanları için MCP Araç Seti, araçları doğrulamanız ve test etmeniz için Python'a özgü bir yöntem de açıklar. Bu yöntem burada belgelenmiştir. Bu konuyu atlayıp doğrudan bu araçları kullanacak olan bir sonraki bölümdeki Agent Development Kit'e (ADK) geçeceğiz.

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 de venv kullanarak aşağıdaki şekilde sanal bir Python ortamı oluşturalım:

python -m venv .venv

Sanal ortamı aşağıdaki şekilde 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:
  --help  Show this message and exit.

Commands:
  api_server  Starts a FastAPI server for agents.
  create      Creates a new app in the current folder with prepopulated agent template.
  deploy      Deploys agent to hosted environments.
  eval        Evaluates an agent given the eval sets.
  run         Runs an interactive CLI for a certain agent.
  web         Starts a FastAPI server with Web UI for agents.

İlk Temsilci Uygulamamızı Oluşturma

Şimdi, aşağıdaki gibi bir uygulama adı **(gcp-releasenotes-agent-app)**ile adk create komutunu kullanarak Google Cloud Sürüm Notları Aracı Uygulaması için bir iskele oluşturmak üzere adk aracını 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çmeye yönelik Gemini modeli.
  • Arka uç için Vertex AI'ı seçin.
  • Varsayılan Google proje kimliğiniz ve bölgeniz gösterilir. Varsayılanı seçin.
Choose a model for the root agent:
1. gemini-2.0-flash-001
2. Other models (fill later)

Choose model (1, 2): 1
1. Google AI
2. Vertex AI
Choose a backend (1, 2): 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_GOOGLE_PROJECT_ID]: 
Enter Google Cloud region [us-central1]: 

Agent created in ../my-agents/gcp-releasenotes-agent-app:
- .env
- __init__.py
- agent.py

Varsayılan şablonun ve Agent 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_VERTEXAI=1
GOOGLE_CLOUD_PROJECT=YOUR_GOOGLE_PROJECT_ID
GOOGLE_CLOUD_LOCATION=YOUR_GOOGLE_PROJECT_REGION

Değerler, Google Cloud projesi kimliği ve konumuna ilişkin ilgili değerlerle birlikte Vertex AI üzerinden Gemini'ı kullanacağımızı gösterir.

Ardından, klasörü modül olarak işaretleyen ve aracıyı agent.py dosyasından içe aktaran tek bir ifadeye sahip olan __init__.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 import Agent

root_agent = Agent(
    model='gemini-2.0-flash-001',
    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 aracıdır. ADK dokümanları sayfasında belirtildiği gibi, Temsilci, belirli hedeflere ulaşmak için bağımsız hareket edecek şekilde tasarlanmış, kendi kendine yeterli bir yürütme birimidir. Temsilciler görevleri yerine getirebilir, kullanıcılarla etkileşimde bulunabilir, harici araçları kullanabilir ve diğer temsilcilerle 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ı kullanacağına dinamik olarak karar vermek için çekirdek 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'i (ADK) kullanarak temel bir aracı oluşturmak için iskelemizi tamamlar. Şimdi aracımızı MCP Toolbox'a bağlayacağız. Böylece aracımız, kullanıcı sorgularını yanıtlamak için bu aracı kullanabilecek (bu durumda Google Cloud sürüm notları).

10. Temsilcimizi Araçlara Bağlama

Bu temsilciyi şimdi Araçlar'a bağlayacağız. ADK bağlamında Araç, bir yapay zeka aracısına sağlanan belirli bir özelliği temsil eder. Bu özellik, aracının temel metin oluşturma ve muhakeme yeteneklerinin ötesinde işlemler gerçekleştirmesine ve dünyayla etkileşim kurmasına olanak tanır.

Bu örnekte, aracımızı şimdi MCP Toolbox for Databases'de 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ığını unutmayın. 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-2.0-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, MCP Toolbox for Databases ile yapılandırılmış BigQuery veri kümemizden gerçek verileri getirecek olan aracı 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 --tools_file "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. Aşağıda örnek bir çıktı verilmiştir:

./toolbox --tools-file "tools.yaml"
2025-06-17T07:48:52.989710733Z INFO "Initialized 1 sources." 
2025-06-17T07:48:52.989805642Z INFO "Initialized 0 authServices." 
2025-06-17T07:48:52.989847035Z INFO "Initialized 1 tools." 
2025-06-17T07:48:52.989889742Z INFO "Initialized 2 toolsets." 
2025-06-17T07:48:52.990357879Z INFO "Server ready to serve!" 

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/

Log setup complete: /tmp/agents_log/agent.20250423_170001.log
To access latest log: tail -F /tmp/agents_log/agent.latest.log
Running agent gcp_releasenotes_agent, type exit to exit.

[user]: get me the google cloud release notes


[gcp_releasenotes_agent]: Here are the Google Cloud Release Notes.

Google SecOps SOAR: Release 6.3.49 is being rolled out to the first phase of regions. This release contains internal and customer bug fixes. Published: 2025-06-14

Compute Engine: Dynamic NICs let you add or remove network interfaces to or from an instance without having to restart or recreate the instance. You can also use Dynamic NICs when you need more network interfaces. The maximum number of vNICs for most machine types in Google Cloud is 10; however, you can configure up to 16 total interfaces by using Dynamic NICs. Published: 2025-06-13

Compute Engine: General purpose C4D machine types, powered by the fifth generation AMD EPYC processors (Turin) and Google Titanium, are generally available. Published: 2025-06-13

Google Agentspace: Google Agentspace Enterprise: App-level feature management. As an Agentspace administrator, you can choose to turn the following features on or off for your end users in the web app: Agents gallery, Prompt gallery, No-code agent, NotebookLM Enterprise. Published: 2025-06-13

Cloud Load Balancing: Cloud Load Balancing supports load balancing to multi-NIC instances that use Dynamic NICs. This capability is in Preview. Published: 2025-06-13

Virtual Private Cloud: Dynamic Network Interfaces (NICs) are available in Preview. Dynamic NICs let you update an instance to add or remove network interfaces without having to restart or recreate the instance. Published: 2025-06-13

Security Command Center: The following Event Threat Detection detectors for Vertex AI have been released to Preview:
- `Persistence: New Geography for AI Service`
- `Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Admin Activity`
- `Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Data Access`
- `Privilege Escalation: Anomalous Service Account Impersonator for AI Admin Activity`
- `Privilege Escalation: Anomalous Service Account Impersonator for AI Data Access`
- `Privilege Escalation: Anomalous Impersonation of Service Account for AI Admin Activity`
- `Persistence: New AI API Method`
......
......

Aracının, Veritabanları için MCP Araç Kutusu'nda (search_release_notes_bq) yapılandırdığımız aracı kullandığını ve verileri BigQuery veri kümesinden alıp 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 istemcilerinden erişim için bir BigQuery veri kümesi oluşturdunuz.

Referans belgeleri