Saltar al contenido
Twexapi
Español
Esc
navegarabrir⌘Jvista previa
En esta página

AG2

Conecta sistemas multiagente AG2 a TwexAPI para búsqueda de tweets, perfiles, líneas de tiempo y flujos de investigación delegados.

AG2 es un framework Python de código abierto para sistemas multiagente. TwexAPI aún no incluye un toolkit de búsqueda nativo para AG2. Conecta agentes AG2 al servidor MCP de TwexAPI con MCPToolkit para que los agentes puedan llamar a explore y twexapi_request manteniendo las credenciales de API dentro de tu infraestructura.

Conserva cada ID de tweet, ID de usuario y cursor que devuelva la API.

¿Por qué usar AG2 con TwexAPI?

AG2 te da control explícito sobre exposición de herramientas, delegación y middleware. Combínalo con TwexAPI MCP cuando quieras investigación multiagente sin codificar cada ruta REST.

Límite Control de AG2 Beneficio
Construcción de herramientas MCPToolkit(...) Restringe a explore y twexapi_request, o filtra más
Entrada del modelo Esquemas de herramientas MCP El modelo elige rutas solo desde endpoints descubiertos
Alcance en runtime Variable Resuelve headers por usuario o tenant en tiempo de ejecución
Delegación Agent.as_tool() Mantiene el historial de llamadas a herramientas del buscador fuera del contexto del coordinador
Transporte MCPServerConfig Apunta a https://api.twexapi.io/mcp con x-api-key

Esto encaja con agentes de investigación, monitoreo e informes. Usa el Python SDK o la colección Prefect para trabajos deterministas que no requieren decisiones del modelo.

Requisitos previos

  • Python 3.10 o posterior
  • Una API key de TwexAPI
  • Una API key de proveedor LLM compatible con AG2

Las lecturas públicas de X no requieren credenciales de X Developer. Autentícate con TwexAPI.

Instalar AG2

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

Instala también el extra de tu proveedor de modelo.

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

Guarda los secretos fuera del control de versiones.

export TWEXAPI_API_KEY="YOUR_API_KEY"
export ANTHROPIC_API_KEY="YOUR_ANTHROPIC_KEY"

Conectar TwexAPI MCP con MCPToolkit

Usa MCPToolkit del lado del cliente cuando las credenciales deben permanecer en tu infraestructura. TwexAPI MCP expone explore y twexapi_request.

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())

headers con x-api-key es obligatorio. Las solicitudes no autenticadas a https://api.twexapi.io/mcp devuelven 401.

Restringir herramientas por rol de agente

Dale a los agentes de solo descubrimiento acceso a explore. Dale a los agentes de ejecución ambas herramientas.

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",
        )
    )
]

Delegar búsqueda en un equipo multiagente

Agent.as_tool() expone un agente como herramienta para otro agente. El coordinador recibe la respuesta final del delegado, no su historial interno de llamadas a herramientas.

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)

Lista de verificación de entrega

Almacena campos durables de las respuestas MCP para que los pasos posteriores del flujo de trabajo no dependan del historial de chat.

Tipo de dato Almacenar
Tweets tweet_id, text, author_username, created_at, has_more, next_cursor, consulta original
Perfiles user_id, username, name, description, followers_count, búsqueda de origen
Tendencias país, tema, etiqueta de contenido, filas de tweets, filtros solicitados
Escrituras tweet_id, nombre de ruta, estado, registro de confirmación

Consulta Agent MCP Handoff para la lista de verificación completa.

Paginación

Cuando explore devuelve una ruta paginada, pasa los campos de cursor documentados de vuelta a través de twexapi_request sin cambios. Trata los cursores como cadenas opacas. Elimina duplicados por tweet_id o user_id.

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

Combinar con Docs MCP

Añade el servidor Docs MCP cuando los agentes deban buscar documentación de TwexAPI antes de elegir rutas.

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

Manejar fallos

Los errores MCP y REST aparecen a través del toolkit como fallos HTTP. Ramifica por estado antes de reintentar.

Estado Acción
400 Corrige la solicitud. No reintentes sin cambios.
401 Verifica el header x-api-key o el token Bearer.
403 Verifica acceso a la cuenta, créditos y permisos de escritura.
429 Espera y conserva el cursor.
5xx Reintenta con backoff acotado.

Envuelve MCPToolkit con middleware de herramientas AG2 cuando necesites reintentos, puertas de aprobación o registro de auditoría alrededor de cada llamada.

MCP del lado del proveedor (solo Anthropic)

Si apuntas a Anthropic y aceptas reenviar credenciales al proveedor, usa MCPServerTool en lugar de MCPToolkit. Prefiere MCPToolkit para despliegues agnósticos al proveedor y cuando las API keys deben permanecer en tu infraestructura.

Guías relacionadas

¿Te ha resultado útil esta página?