İçeriğe geç
ajan.io

Belgeler menüsü

Bu sayfada

MCP dosya çıktıları

MCP sunucularının kaynaklar üzerinden ajan'a nasıl dosya sunduğunu öğrenin. ajan metin veya base64 verili MCP kaynak içeriğini indirilebilir dosya eklerine dönüştürür.

MCP spesifikasyonu kaynakları, MCP sunucularının dosyaları ve diğer bağlamsal verileri istemcilere sunmasının standart yolu olarak tanımlar. Kaynaklar uygulama odaklıdır: ana uygulama kullanıcıların bunları nasıl keşfedeceğini, seçeceğini, okuyacağını, önizleyeceğini veya ekleyeceğini kararlaştırır.

ajan'da MCP kaynakları, kullanıcıların önizleyebileceği, indirebileceği ve diğer araçlara iletebileceği düzenli dosya ekleri haline gelebilir.

Dosyalar için MCP kaynakları

Kaynaklar nasıl çalışır

Bir MCP sunucusu dosyaları kararlı URI'lerle kaynak olarak sunar. Bir istemci bunları resources/list ile keşfedebilir, ardından içeriğini resources/read ile alabilir.

Dosya çıktısı için önemli kısım resources/read yanıtıdır. Kaynak içerikleri metin olabilir:

json
{
  "contents": [
    {
      "uri": "file:///reports/summary.md",
      "mimeType": "text/markdown",
      "text": "# Summary\n\nGenerated by my MCP server."
    }
  ]
}

Veya blob içinde base64 kodlanmış ikili veri:

json
{
  "contents": [
    {
      "uri": "file:///reports/report.pdf",
      "mimeType": "application/pdf",
      "blob": ""
    }
  ]
}

ajan bu contents girdilerini okur ve aksiyon tarzı dosya çıktıları olarak saklar. uri dosya adını sağlar, mimeType ajan'a dosyayı nasıl işleyeceğini söyler ve text veya blob dosya içeriğini içerir.

Demo kaynak sunucusu

Bu minimal sunucu bir Markdown dosyasını MCP kaynağı olarak sunar:

typescript
server.registerResource(
  "summary",
  "file:///reports/summary.md",
  {
    title: "Generated Summary",
    description: "A Markdown summary generated by the MCP server",
    mimeType: "text/markdown",
  },
  async (uri) => ({
    contents: [
      {
        uri: uri.href,
        mimeType: "text/markdown",
        text: "# Summary\n\nThis file came from an MCP resource.",
      },
    ],
  }),
);

ajan bu kaynağı okuduğunda summary.md dosyasını konuşmaya ekler.

Gereksinimler

  • Dosya verisini contents içinde döndürün.
  • mimeType ekleyin; ajan'ın dosyayı doğru işlemesi için buna ihtiyacı vardır.
  • Anlamlı bir uri ekleyin; son yol segmenti dosya adı olur.
  • İkili dosyalar için data URI öneki olmadan base64 kodlanmış blob kullanın.
  • Düz metin, Markdown, JSON, HTML ve diğer metin tabanlı dosyalar için text kullanın.

Örnek kaynak çıktısı

json
{
  "contents": [
    {
      "uri": "file:///example.txt",
      "mimeType": "text/plain",
      "text": "Hello world"
    }
  ]
}

ajan bunu bir ek olarak saklar. Araç sonucu orijinal contents dizisini tutar ve files altında dosya erişim meta verisi ekler:

json
{
  "contents": [
    {
      "uri": "file:///example.txt",
      "mimeType": "text/plain",
      "text": "Hello world"
    }
  ],
  "files": {
    "successful_files": [
      {
        "fileName": "example.txt",
        "mimeType": "text/plain",
        "status": "completed",
        "access_methods": {
          "document_search": false,
          "file_input_actions": true,
          "download_available": true
        }
      }
    ]
  }
}

text veya blob değeri, ajan dosyayı ek olarak sakladıktan sonra araç sonucunda kalır; bu nedenle kaynak içeriği modelin bağlam penceresine sayılır. İkili dosyalarda base64 blob kullanılabilir bağlamın büyük bir payını alabilir. Modelin konuşmanın geri kalanı için yer tutması adına kaynak içeriklerini küçük tutun.

İlgili belgeler

SSS

Sonuç indirilebilir bir artefakt olarak daha iyi ele alındığında — üretilmiş belge, dönüştürülmüş dosya, rapor, dışa aktarım veya ikili varlık gibi — dosyayı kaynak olarak sunun. ajan kaynaklardan ekler oluşturur. Düzenli MCP araç sonuçlarındaki dosyalar ek olmaz.

MCP sunucusunun dosyayı desteklenen bir kaynak olarak sunduğunu, beklenen meta veriyi döndürdüğünü ve ajan'ın eke dönüştürebileceği bir biçim kullandığını kontrol edin. Kaynak okumasının başarıyla tamamlandığını da doğrulayın.