İçeriğe geç
Twexapi
Türkçe
Esc
gezin⌘Jönizle
Bu sayfada

Mastra

Tweet araması, profiller, trendler ve incelenen X yazıları için TwexAPI MCP aracılığıyla TypeScript Mastra aracıları oluşturun.

TwexAPI’nin MCP sunucusu aracılığıyla bir Mastra Twitter API aracısı oluşturun. Tweet’leri arayın, profilleri inceleyin, eğilimleri okuyun ve yazma işlemlerini inceleyin. Tweet kimliklerini, imleçleri ve rota adlarını yalnızca sohbet özetleri yerine JSON olarak yazıldığı gibi koruyun.

Mastra’yı neden TwexAPI ile kullanmalısınız?

Mastra bir TypeScript aracı çerçevesidir. TwexAPI, “explore” ve twexapi_request yoluyla uç nokta keşfi ve kimliği doğrulanmış çağrılar sağlar.

Temsilci görevi TwexAPI rotası Bir sonraki adım için saklayın
Tweet’lerde ara POST /twitter/advanced_search/page Sorgu, tweet kimlikleri, yazarlar, “created_at”, imleç
Bir profili inceleme GET /twitter/{screen_name}/about Kullanıcı kimliği, kullanıcı adı, biyografi, takipçi sayısı
Trendleri okuyun GET /twitter/global-trending/tweets Ülke, konu, tweet satırları
Gönder veya yanıtla POST /twitter/tweets/create Tweet kimliği, rota, insan onayı, çerez onayı

Zaten Vercel AI SDK modellerini kullanan TypeScript uygulamaları için Mastra’yı kullanın. Model gerektirmeyen zamanlanmış işler için TypeScript SDK veya CLI kullanın.

Önkoşullar

  • Node.js 20 veya üzeri
  • Bir TwexAPI API anahtarı
  • Mastra destekli bir model sağlayıcı anahtarı Public docs focus on API-key reads.

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

Kurulum

npm install @mastra/core @mastra/mcp @ai-sdk/openai dotenv
TWEXAPI_API_KEY=YOUR_API_KEY
OPENAI_API_KEY=sk-...

TwexAPI MCP’ye bağlanın

import "dotenv/config";
import { MCPClient } from "@mastra/mcp";

export const twexapiMcp = new MCPClient({
  servers: {
    twexapi: {
      url: new URL("https://api.twexapi.io/mcp"),
      requestInit: {
        headers: {
          "x-api-key": process.env.TWEXAPI_API_KEY!,
        },
      },
    },
  },
});

Sunucu keşif için explore ve kimliği doğrulanmış çağrılar için twexapi_request sunar. Kimliği doğrulanmamış MCP istekleri 401 döndürür.

Tam örnek

import { openai } from "@ai-sdk/openai";
import { Agent } from "@mastra/core/agent";
import { writeFile } from "node:fs/promises";
import { twexapiMcp } from "./mcp";

type TweetRow = {
  tweet_id: string;
  text: string;
  author_username?: string;
  created_at?: string;
};

type TweetSearchHandoff = {
  query: string;
  route_used: string;
  tweets: TweetRow[];
  has_more: boolean;
  next_cursor: string | null;
  stop_reason: "complete" | "requested_limit" | "cursor_stalled" | "page_cap";
};

const tools = await twexapiMcp.listTools();

export const twexapiAgent = new Agent({
  name: "twexapi-agent",
  instructions: `
    Use TwexAPI MCP for Twitter API requests.
    Call explore before twexapi_request.
    Preserve exact IDs and cursors. Never invent missing tweet fields.
    Ask for confirmation before read_only: false actions.
    Return only valid JSON matching the handoff contract.
  `,
  model: openai("gpt-4o-mini"),
  tools,
});

const result = await twexapiAgent.generate(
  `Search 25 recent tweets about Mastra MCP.
Return JSON with query, route_used, tweets[{tweet_id,text,author_username,created_at}],
has_more, next_cursor, and stop_reason.`
);

const handoff = JSON.parse(result.text) as TweetSearchHandoff;
await writeFile(
  "twexapi-mastra-handoff.json",
  JSON.stringify(handoff, null, 2),
  "utf8"
);

Başka bir iş akışı tüketmeden önce JSON’u doğrulayın. Konuşma geçmişi bir iş veritabanı değildir.

MCP yanıt sözleşmesini koruyun

explore çıktısındaki yalnızca belgelenmiş query ve body alanlarını twexapi_request’e iletin.

Aşağıdaki koşullardan biri doğru olduğunda sayfalandırmayı durdurun:

  • Agent istenen toplamı toplar.
  • has_more veya has_next_page false olur.
  • next_cursor eksik veya tekrarlanır.
  • Yapılandırılmış sayfa sınırına ulaşılır.

Tweet ve kullanıcıları tweet_id veya user_id ile tekilleştirin.

Devam ettirilebilir agent devrini sürdürün

Tweet sayfaları

tweet_id, text, author_username, created_at, has_more, next_cursor ve orijinal sorguyu saklayın.

Profil satırları

user_id, username, name, description, takipçi sayıları ve arama girdisini saklayın.

Trend satırları

Ülke, konu, tweet kimlikleri ve etkileşim metriklerini saklayın.

Yazma işlemleri

Rotayı, önizleme metnini ve insan onayını saklayın. Çerezleri devir dosyasının dışında tutun. Bkz..

Tam kontrol listesi için bkz. Agent MCP Handoff.

Hata işleme oluşturun

Durum Anlam Agent kararı
400 Geçersiz rota veya parametreler Yeniden denemeden önce isteği düzeltin
401 Eksik veya geçersiz API anahtarı Durdurun ve kimlik bilgisini değiştirin
403 Erişim reddedildi veya kredi Yazmaları duraklatın; Get Balance kontrol edin
429 Hız sınırına ulaşıldı Geri çekilin, ardından aynı imleçle devam edin
5xx Geçici sunucu hatası Güvenli okumalara sınırlı geri çekilme uygulayın

Okuma kontrolü yapmadan zaman aşımından sonra bir yazmayı asla yeniden denemeyin. Bkz. Error Handling ve Rate Limits.

X işlemlerinden önce onay isteyin

Call explore with include_writes true only when the user asked to post, like, follow, or DM.
Stop before any read_only: false call.
Show method, path, tweet text or target username, and media URLs.
Do not send cookie values in the model output.

Onaydan sonra CLI --dry-run ile önizleyin, ardından REST veya TypeScript SDK üzerinden yürütün.

Birden fazla MCP sunucusuna bağlanın

export const mcp = new MCPClient({
  servers: {
    twexapi: {
      url: new URL("https://api.twexapi.io/mcp"),
      requestInit: {
        headers: { "x-api-key": process.env.TWEXAPI_API_KEY! },
      },
    },
    twexapiDocs: {
      url: new URL("https://docs.twexapi.io/mcp"),
    },
  },
});

TwexAPI sunucu adını sabit tutun. Temsilciye yalnızca mevcut iş için gerekli araçları verin.

Paket versiyonları

Paket Desteklenen aralık
Node.js >=20
@mastra/core >=0.10
@mastra/mcp >=0.10

Sonraki adımlar

Bu sayfa yardımcı oldu mu?