কাস্টম AI এজেন্টের সাথে ডেভেলপার নলেজ MCP সার্ভার ইন্টিগ্রেট করা

এই টিউটোরিয়ালে দেখানো হয়েছে যে কীভাবে LangChain, LlamaIndex ও AutoGen-এর মাধ্যমে তৈরি কাস্টম AI এজেন্ট ফ্রেমওয়ার্কের সাথে রিমোট ডেভেলপার নলেজ MCP সার্ভার কানেক্ট করতে হয়।

রিমোট মডেল কনটেক্সট প্রোটোকল (MCP) সার্ভারের সাথে আপনার কাস্টম AI এজেন্ট কানেক্ট করার মাধ্যমে, আপনার এজেন্ট Google Cloud, Firebase, Android, Google Maps Platform, Chrome ও আরও অনেক কিছু কভার করা, আপ-টু-ডেট Google ডেভেলপার ডকুমেন্টেশন ডাইনামিক সার্চ ও রিট্রিভ করতে পারে।

পূর্বশর্ত

শুরু করার আগে নিম্নলিখিত পূর্বশর্তগুলি পূরণ করুন:

  1. Developer Knowledge API কী জেনারেট করুন: Developer Knowledge API চালু করুন এবং API কী সেট-আপ গাইড অনুসরণ করে আপনার Google Cloud প্রোজেক্টে API কী তৈরি করুন।
  2. Gemini API কী জেনারেট করুন: Gemini মডেলকে প্রমাণিত করতে, Google AI Studio-তে একটি API কী তৈরি করুন অথবা আপনার Google Cloud API কী আবার ব্যবহার করুন, যদি এতে Generative Language API চালু থাকে।
  3. আপনার এনভায়রনমেন্ট ভেরিয়েবল সেট করুন: আপনার টার্মিনালে API কীগুলিকে এনভায়রনমেন্ট ভেরিয়েবল হিসেবে সেট করুন:

    export DEVELOPERKNOWLEDGE_API_KEY="YOUR_API_KEY"
    export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
    
  4. Python ইনস্টল করুন: আপনার ডেভেলপমেন্ট এনভায়রনমেন্টে Python 3.10 বা তার পরের যেকোনও ভার্সন ব্যবহার করা হচ্ছে কিনা তা যাচাই করুন।

LangChain ব্যবহার করে কানেক্ট করা

LangChain অ্যাপ্লিকেশনগুলি langchain-mcp-adapters প্যাকেজ বা স্ট্যান্ডার্ড MCP ক্লায়েন্ট ট্রান্সপোর্ট ব্যবহার করে রিমোট HTTP MCP সার্ভারের সাথে কানেক্ট করতে পারে।

ডিপেন্ডেন্সি ইনস্টল করা

LangChain, Gemini ও MCP-এর জন্য প্রয়োজনীয় Python প্যাকেজ ইনস্টল করুন:

pip install langgraph langchain-google-genai langchain-mcp-adapters mcp

LangChain এজেন্ট কনফিগার করা

নিচের উদাহরণটি Gemini-এর মাধ্যমে পরিচালিত LangChain ReAct এজেন্ট -এর সাথে Developer Knowledge MCP সার্ভারকে কানেক্ট করে। স্ক্রিপ্টটি MultiServerMCPClient ইনস্ট্যানশিয়েট করে streamable_http ট্রান্সপোর্ট ব্যবহার করে, X-Goog-Api-Key HTTP হেডার অ্যাটাচ করে এবং create_react_agent-এ রিমোট টুল লোড করে:

import asyncio
import os

from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent

async def run_langchain_agent():
    api_key = os.environ.get("DEVELOPERKNOWLEDGE_API_KEY")
    if not api_key:
        raise ValueError(
            "DEVELOPERKNOWLEDGE_API_KEY environment variable is required."
        )

    gemini_api_key = os.environ.get("GEMINI_API_KEY")
    if not gemini_api_key:
        raise ValueError("GEMINI_API_KEY environment variable is required.")

    # Configure remote MCP connection for Developer Knowledge
    client = MultiServerMCPClient(
        {
            "google-developer-knowledge": {
                "url": "https://developerknowledge.googleapis.com/mcp",
                "transport": "streamable_http",
                "headers": {
                    "X-Goog-Api-Key": api_key,
                },
            }
        }
    )
    tools = await client.get_tools()

    # Initialize Gemini model and ReAct agent
    llm = ChatGoogleGenerativeAI(
        model="gemini-2.5-flash",
        temperature=0,
        google_api_key=gemini_api_key,
    )
    agent = create_react_agent(llm, tools)

    # Run agent query
    response = await agent.ainvoke(
        {
            "messages": [
                (
                    "user",
                    "How do I list Google Cloud Storage buckets in Python?",
                )
            ]
        }
    )
    print("\nAgent Response:\n", response["messages"][-1].content)

if __name__ == "__main__":
    asyncio.run(run_langchain_agent())

LlamaIndex ব্যবহার করে কানেক্ট করা

LlamaIndex টুল স্পেসিফিকেশনের মাধ্যমে MCP সার্ভার ইন্টিগ্রেশন সমর্থন করে, যা রিট্রিভাল এজেন্টদের রিজনিংয়ের সময় ডেভেলপার নলেজ ডকুমেন্ট কোয়েরি করতে দেয়।

ডিপেন্ডেন্সি ইনস্টল করা

LlamaIndex কোর প্যাকেজ, Gemini LLM ও MCP টুল ইন্টিগ্রেশন ইনস্টল করুন:

pip install llama-index llama-index-tools-mcp llama-index-llms-google-genai

LlamaIndex এজেন্ট কনফিগার করা

নিচের উদাহরণটি BasicMCPClient ব্যবহার করে রিমোট MCP সার্ভারের সাথে কানেক্ট করে, McpToolSpec দিয়ে এটিকে র‍্যাপ করে এবং Gemini দ্বারা পরিচালিত LlamaIndex-এর সাথে পাওয়া টুলগুলিকে বাইন্ড করে: FunctionAgent

import asyncio
import os

from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.google_genai import GoogleGenAI
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec

async def run_llamaindex_agent():
    api_key = os.environ.get("DEVELOPERKNOWLEDGE_API_KEY")
    if not api_key:
        raise ValueError(
            "DEVELOPERKNOWLEDGE_API_KEY environment variable is required."
        )

    gemini_api_key = os.environ.get("GEMINI_API_KEY")
    if not gemini_api_key:
        raise ValueError("GEMINI_API_KEY environment variable is required.")

    # Connect to the remote Developer Knowledge MCP endpoint
    mcp_client = BasicMCPClient(
        "https://developerknowledge.googleapis.com/mcp",
        headers={"X-Goog-Api-Key": api_key},
    )
    mcp_tool_spec = McpToolSpec(client=mcp_client)
    tools = await mcp_tool_spec.to_tool_list_async()

    # Create LlamaIndex FunctionAgent with Gemini
    llm = GoogleGenAI(model="gemini-2.5-flash", api_key=gemini_api_key)
    agent = FunctionAgent(tools=tools, llm=llm)

    # Query the agent
    response = await agent.run(
        "What are the default limits and quotas for the Developer Knowledge"
        " API?"
    )
    print("\nAgent Response:\n", str(response))

if __name__ == "__main__":
    asyncio.run(run_llamaindex_agent())

AutoGen ব্যবহার করে কানেক্ট করা

Microsoft AutoGen এজেন্টরা autogen-ext MCP এক্সটেনশন ব্যবহার করে রিমোট MCP সার্ভারের সাথে ইন্টারফেস করতে পারে, যা অফিসিয়াল Google ডেভেলপার ডকুমেন্টেশনে অ্যাক্সেস সহ মাল্টি-এজেন্ট কোলাবোরেশন চালু করে।

ডিপেন্ডেন্সি ইনস্টল করা

AutoGen কোর ও MCP এক্সটেনশন প্যাকেজ ইনস্টল করুন:

pip install autogen-agentchat "autogen-ext[mcp,openai]"

AutoGen এজেন্ট কনফিগার করা

নিচে দেওয়া উদাহরণটি StreamableHttpServerParams ব্যবহার করে রিমোট MCP সার্ভারের সাথে কানেক্ট করে এবং Gemini দ্বারা পরিচালিত AutoGen AssistantAgent-এর সাথে ডেভেলপার নলেজ টুল রেজিস্টার করে:

import asyncio
import os

from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.tools.mcp import StreamableHttpServerParams, mcp_server_tools

async def run_autogen_agent():
    api_key = os.environ.get("DEVELOPERKNOWLEDGE_API_KEY")
    if not api_key:
        raise ValueError(
            "DEVELOPERKNOWLEDGE_API_KEY environment variable is required."
        )

    gemini_api_key = os.environ.get("GEMINI_API_KEY")
    if not gemini_api_key:
        raise ValueError("GEMINI_API_KEY environment variable is required.")

    # Retrieve remote MCP tools for Developer Knowledge by using Streamable HTTP
    server_params = StreamableHttpServerParams(
        url="https://developerknowledge.googleapis.com/mcp",
        headers={"X-Goog-Api-Key": api_key},
    )
    dk_tools = await mcp_server_tools(server_params)

    # Initialize model client with Gemini and assistant agent
    model_client = OpenAIChatCompletionClient(
        model="gemini-2.5-flash",
        api_key=gemini_api_key,
        base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
    )
    developer_assistant = AssistantAgent(
        name="google_docs_assistant",
        model_client=model_client,
        tools=dk_tools,
        system_message=(
            "You are a developer assistant specializing in Google APIs and"
            " SDKs. Use Developer Knowledge tools to retrieve verified"
            " documentation."
        ),
    )

    # Run query with team runner
    team = RoundRobinGroupChat([developer_assistant], max_turns=5)
    stream = team.run_stream(
        task=(
            "Explain how to configure Firebase Cloud Messaging topic"
            " subscriptions."
        )
    )

    async for message in stream:
        print(message)

if __name__ == "__main__":
    asyncio.run(run_autogen_agent())

এজেন্ট ইন্টিগ্রেশনের পেশাদার পদ্ধতি

Developer Knowledge MCP সার্ভারের মাধ্যমে কাস্টম AI এজেন্ট তৈরি করার সময়, এইসব নির্দেশিকা মেনে চলুন:

  • সার্চ কোয়েরি আরও নির্দিষ্ট করুন: সাধারণ শব্দ ব্যবহার না করে, নির্দিষ্ট প্রোডাক্টের নাম ও প্রাসঙ্গিক কীওয়ার্ড প্রাকৃতিক ভাষায় কোয়েরিতে যোগ করুন, কারণ search_documents ও answer_query টুল কোয়েরির শব্দার্থের সাথে ম্যাচ করে।
  • কনটেক্সট উইন্ডো টোকেন ম্যানেজ করা: ডকুমেন্টেশন কর্পাস থেকে নেওয়া সরাসরি উত্তরের জন্য answer_query ব্যবহার করুন এবং search_documents থেকে পাওয়া স্নিপেটের বিবরণ অপর্যাপ্ত না হলে get_documents সহ সম্পূর্ণ পৃষ্ঠার কন্টেন্ট অনুরোধ করা এড়িয়ে চলুন।
  • সুরক্ষিত API কী: আপনার Developer Knowledge API এবং Gemini API কী এনভায়রনমেন্ট ভেরিয়েবল বা স্ট্যান্ডার্ড সিক্রেট ম্যানেজমেন্ট সিস্টেমে সেভ করুন এবং কখনওই কোডে ক্রেডেনশিয়াল হার্ডকোড করবেন না।

এর পরে কী করতে হবে

Developer Knowledge MCP সার্ভার সম্পর্কে আরও জানতে নিম্নলিখিত রিসোর্স এক্সপ্লোর করুন: