Skip to main content
Glama
getNFTtokens.ts2.68 kB
import { z } from "zod"; import axios, { AxiosResponse } from "axios"; import { baseUri, chainName } from "../../constants"; export default function (server: any) { server.tool( "getNFTtokensByAddress", "Lists tokens for an NFT contract", { chainName: z.literal(chainName), address: z.string().describe("Address to fetch NFT tokens for"), authToken: z.string(), }, { title: "Get NFT Tokens", readOnlyHint: true, description: "Fetch NFT tokens owned by a specific address.", }, async (args:any) => { const { chainName, address, authToken } = args; try { const response: AxiosResponse<any> = await axios.get( `${baseUri}/${chainName}/v1/nft/collections/${address}/tokens`, { headers: { Authorization: `Bearer ${authToken}`, "Content-Type": "application/json", Accept: "application/json", }, } ); return { content: [ { type: "text", text: `NFT Tokens Data: ${JSON.stringify(response.data)}`, }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error fetching NFT tokens: ${error}`, }, ], }; } } ); server.tool( "getNFTtokensByIdForAddress", "Gets token details for a specific token of an NFT contract.", { chainName: z.literal(chainName), address: z.string().describe("Address to fetch NFT token details for"), tokenId: z.string().describe("Token ID to fetch details for"), authToken: z.string(), }, { title: "Get NFT Token Details", readOnlyHint: true, description: "Fetch NFT token details for a specific token ID owned by a specific address.", destructiveHint: false, openWorldHint: true, }, async (args:any) => { const { chainName, address, tokenId, authToken } = args; try { const response: AxiosResponse<any> = await axios.get( `${baseUri}/${chainName}/v1/nft/collections/${address}/tokens/${tokenId}`, { headers: { Authorization: `Bearer ${authToken}`, "Content-Type": "application/json", Accept: "application/json", }, } ); return { content: [ { type: "text", text: `NFT Token Details: ${JSON.stringify(response.data)}`, }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error fetching NFT token details: ${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/vastavikadi/somnia-mcp'

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