---
title: "AG2"
description: "Tweet araması, profiller, zaman çizelgeleri ve yetkilendirilmiş araştırma iş akışları için AG2 çoklu aracı sistemlerini TwexAPI'ye bağlayın."
---

[AG2](https://github.com/ag2ai/ag2), çok aracılı sistemler için açık kaynaklı bir Python çerçevesidir. TwexAPI henüz yerel bir AG2 arama araç seti sunmuyor. API kimlik bilgilerini altyapınızda tutarken agent'ların `explore` ve `twexapi_request` çağırabilmesi için AG2 agent'larını [TwexAPI MCP sunucusuna](/mcp/overview) `MCPToolkit` ile bağlayın.

API'nin döndürdüğü her tweet kimliğini, kullanıcı kimliğini ve imleci koruyun.

## AG2'yi neden TwexAPI ile kullanmalısınız?

AG2 size aracın kullanıma sunulması, yetki devri ve ara katman yazılımı üzerinde açık kontrol sağlar. Her REST yolunu sabit kodlamadan çok aracılı araştırma yapmak istediğinizde bunu TwexAPI MCP ile eşleştirin.

| Sınır | AG2 kontrolü | Fayda |
| ----------------- | ------------------------- | ---------------------------------------------------------------------- |
| Alet yapımı | `MCPToolkit(...)` | "Keşfet" ve "twexapi_request" ile sınırlandırın veya daha fazla filtreleyin |
| Modeli girişi | MCP aracı şemaları | Model rotaları yalnızca keşfedilen uç noktalardan seçer |
| Çalışma zamanı kapsamı | `Variable` | Yürütme sırasında kullanıcı başına veya kiracı başına başlıkları çözümleyin |
| Delegasyon | `Agent.as_tool()` | Araştırmacının araç çağrısı geçmişini koordinatörün bağlamının dışında tutun |
| Taşıma | `MCPServerConfig` | "x-api-key" ile "https://api.twexapi.io/mcp"yi işaretleyin |

Bu, araştırma, izleme ve raporlama temsilcilerine uygundur. Model kararları gerektirmeyen deterministik işler için [Python SDK'sını](/sdks/python) veya [Prefect koleksiyonunu](/guides/prefect) kullanın.

## Önkoşullar

* Python 3.10 veya üzeri
* Bir [TwexAPI API anahtarı](https://twexapi.io/dashboard)
* AG2 tarafından desteklenen bir LLM sağlayıcı anahtarı

Genel X okumalarının X Developer kimlik bilgilerine ihtiyacı yoktur. TwexAPI ile kimlik doğrulaması yapın.

## AG2'yi yükleyin

```bash
python -m pip install "ag2>=1.0.0" python-dotenv
```

Model sağlayıcınızı ekstra olarak yükleyin.

```bash
python -m pip install "ag2[anthropic]>=1.0.0"
```

Sırları kaynak kontrolü dışında saklayın.

```bash
export TWEXAPI_API_KEY="YOUR_API_KEY"
export ANTHROPIC_API_KEY="YOUR_ANTHROPIC_KEY"
```

## TwexAPI MCP'yi MCPToolkit'e bağlayın

Kimlik bilgilerinin altyapınızda kalması gerektiğinde istemci tarafı 'MCPToolkit'i kullanın. TwexAPI MCP, 'explore' ve 'twexapi_request'i ortaya çıkarır.

```python
import asyncio
import os

from ag2 import Agent
from ag2.config import AnthropicConfig
from ag2.tools import MCPToolkit, MCPServerConfig
from dotenv import load_dotenv

load_dotenv()
config = AnthropicConfig(model="claude-sonnet-4-20250514")

twexapi_mcp = MCPToolkit(
    MCPServerConfig(
        server_url="https://api.twexapi.io/mcp",
        server_label="twexapi",
        headers={"x-api-key": os.environ["TWEXAPI_API_KEY"]},
        allowed_tools=["explore", "twexapi_request"],
    )
)

agent = Agent(
    "x-researcher",
    prompt=(
        "Search X for evidence before answering. "
        "Always call explore before twexapi_request. "
        "Quote tweet text verbatim and keep every tweet ID you receive. "
        "Ask for confirmation before read_only: false actions."
    ),
    config=config,
    tools=[twexapi_mcp],
)


async def main() -> None:
    reply = await agent.ask(
        "What are developers saying about AI agents on X this week? "
        "Return tweet IDs, authors, and a 5-bullet summary."
    )
    print(reply.body)


asyncio.run(main())
```

`x-api-key` içeren `headers` gereklidir. `https://api.twexapi.io/mcp` adresine kimliği doğrulanmamış istekler `401` döndürür.

## Araçları aracı rolüne göre kısıtla

Yalnızca keşif aracılarına "keşfet" erişimi verin. Yürütme aracılarına her iki aracı da verin.

```python
catalog_agent_tools = [
    MCPToolkit(
        MCPServerConfig(
            server_url="https://api.twexapi.io/mcp",
            headers={"x-api-key": os.environ["TWEXAPI_API_KEY"]},
            allowed_tools=["explore"],
            server_label="twexapi-catalog",
        )
    )
]

execution_agent_tools = [
    MCPToolkit(
        MCPServerConfig(
            server_url="https://api.twexapi.io/mcp",
            headers={"x-api-key": os.environ["TWEXAPI_API_KEY"]},
            allowed_tools=["explore", "twexapi_request"],
            server_label="twexapi-execute",
        )
    )
]
```

## Çok temsilcili bir ekipte aramayı delege edin

`Agent.as_tool()`, bir aracıyı başka bir aracı için bir araç olarak kullanıma sunar. Koordinatör, dahili araç çağrı geçmişini değil, delegenin nihai cevabını alır.

```python
searcher = Agent(
    "searcher",
    prompt=(
        "Use TwexAPI MCP to search public X posts. "
        "Call explore first. Return tweet text with IDs. Do not summarise away IDs."
    ),
    config=config,
    tools=[twexapi_mcp],
)

analyst = Agent(
    "analyst",
    prompt="Turn tweet records into a factual brief. Keep every tweet ID.",
    config=config,
)

coordinator = Agent(
    "coordinator",
    prompt="Delegate the search, then pass the tweets to the analyst.",
    config=config,
    tools=[
        searcher.as_tool(description="Search public X posts and return raw tweet records."),
        analyst.as_tool(description="Analyse tweet records. Pass them in the context parameter."),
    ],
)

reply = await coordinator.ask("Brief me on this week's discussion of AI agents on X.")
print(reply.body)
```

## Devir kontrol listesi

MCP yanıtlarındaki dayanıklı alanları saklayın, böylece daha sonraki iş akışı adımları sohbet geçmişine bağlı kalmaz.

| Veri türü | Mağaza |
| --- | --- |
| Tweetler | `tweet_id`, `text`, `author_username`, `created_at`, `has_more`, `next_cursor`, original query |
| Profiller | `user_id`, `username`, `name`, `description`, `followers_count`, source lookup |
| Trendler | ülke, konu, içerik etiketi, tweet satırları, istenen filtreler |
| yazar | `tweet_id`, route name, status, confirmation record |

Kontrol listesinin tamamı için [Agent MCP Handoff](/mcp/agent-handoff) konusuna bakın.

## Sayfalandırma

'Keşfet' sayfalandırılmış bir rota döndürdüğünde, belgelenen imleç alanlarını değişmeden 'twexapi_request' üzerinden geri geçirin. İmleçlere opak dizeler gibi davranın. "tweet_id" veya "user_id" üzerindeki satırları tekilleştirin.

```python
checkpoint = {
    "route_used": "/twitter/advanced_search/page",
    "query": "AI agents",
    "has_more": True,
    "next_cursor": "cursor_123",
}
```

## Dokümanlar MCP ile birleştirme

Aracıların rotaları seçmeden önce TwexAPI belgelerini araması gerektiğinde [Docs MCP sunucusunu](/mcp/docs-mcp) ekleyin.

```python
tools=[
    MCPToolkit(
        MCPServerConfig(
            server_url="https://docs.twexapi.io/mcp",
            server_label="twexapi-docs",
        )
    ),
    twexapi_mcp,
]
```

## Arızaları giderme

MCP ve REST hataları, araç setinde HTTP hataları olarak ortaya çıkar. Yeniden denemeden önce durumla ilgili şubeyi açın.

| Durum | Aksiyon |
| ------ | ------ |
| `400` | İsteği düzeltin. Değiştirmeden tekrar denemeyin. |
| `401` | 'x-api-key' başlığını veya Bearer tokennu kontrol edin. |
| `403` | Hesap erişimini, kredileri ve yazma izinlerini kontrol edin. |
| `429` | Geri çekilin ve imleci koruyun. |
| `5xx` | Sınırlı geri çekilmeyle yeniden deneyin. |

Her aramada yeniden denemelere, onay kapılarına veya denetim kaydına ihtiyaç duyduğunuzda `MCPToolkit'i AG2 araç ara yazılımıyla sarın.

## Sağlayıcı tarafı MCP (Yalnızca Antropik)

Anthropic'i hedeflerseniz ve sağlayıcıya kimlik bilgilerini iletmeyi kabul ederseniz, 'MCPToolkit' yerine 'MCPServerTool'u kullanın. Sağlayıcıdan bağımsız dağıtımlar için ve API anahtarlarının altyapınızda kalması gerektiğinde "MCPToolkit"i tercih edin.

## İlgili kılavuzlar

* [AG2 MCP Sunucuları belgeleri](https://docs.ag2.ai/docs/user-guide/tools/mcp_servers/)
* [MCP Sunucusu](/mcp/overview)
* [MCP Araçları](/mcp/tools)
* [LangChain](/guides/langchain)
* [CrewAI](/guides/crewai)
* [Python SDK'sı](/sdks/python)
