Skip to main content
Glama

transaction

Retrieve and manage transaction details on the Flux MCP server by providing a transaction ID, enabling streamlined interaction with Arweave Operating System for code and handler operations.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
transactionIdYes

Implementation Reference

  • Registers the 'transaction' tool using server.tool, including inline schema and handler function.
    server.tool(
      "transaction",
      { transactionId: z.string() },
      async ({ transactionId }) => {
        try {
          const metadataResponse = await fetch(
            `https://arweave.net/tx/${transactionId}`
          );
          const metadata = await metadataResponse.json();
          const dataResponse = await fetch(
            `https://arweave.net/raw/${transactionId}`
          );
          const data = await dataResponse.text();
          const transactionInfo = {
            id: metadata.id,
            owner: metadata.owner,
            recipient: metadata.target,
            quantity: metadata.quantity,
            fee: metadata.reward,
            data_size: metadata.data_size,
            data: data.substring(0, 1e3),
            tags: metadata.tags || [],
          };
          return {
            content: [{ type: "text", text: cleanOutput(transactionInfo) }],
          };
        } catch (error) {
          return {
            content: [
              { type: "text", text: `Error: ${error?.message || String(error)}` },
            ],
          };
        }
      }
  • Input schema for the 'transaction' tool, requiring a transactionId string.
    { transactionId: z.string() },
  • Handler fetches Arweave transaction metadata and raw data, constructs transactionInfo object, and returns formatted content or error.
    async ({ transactionId }) => {
      try {
        const metadataResponse = await fetch(
          `https://arweave.net/tx/${transactionId}`
        );
        const metadata = await metadataResponse.json();
        const dataResponse = await fetch(
          `https://arweave.net/raw/${transactionId}`
        );
        const data = await dataResponse.text();
        const transactionInfo = {
          id: metadata.id,
          owner: metadata.owner,
          recipient: metadata.target,
          quantity: metadata.quantity,
          fee: metadata.reward,
          data_size: metadata.data_size,
          data: data.substring(0, 1e3),
          tags: metadata.tags || [],
        };
        return {
          content: [{ type: "text", text: cleanOutput(transactionInfo) }],
        };
      } catch (error) {
        return {
          content: [
            { type: "text", text: `Error: ${error?.message || String(error)}` },
          ],
        };
      }
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/asrvd/flux'

If you have feedback or need assistance with the MCP directory API, please join our Discord server