chaingpt_invoke_chat
Interact with ChainGPT AI to get responses for crypto-related queries, analyze blockchain data, and track live market trends. Designed for customer support, trading assistance, and on-chain analytics in Web3 applications.
Instructions
Invoke a chat with ChainGPT AI and get a response based on the provided question.
Web3-native AI assistant built specifically for the crypto world.
It has deep blockchain expertise, enabling seamless integration of crypto-aware AI into your applications.
The model is trained on blockchain data (smart contracts, DeFi protocols, NFTs, DAOs) and real-time market information,
making it ideal for use cases like customer support, on-chain analytics, trading assistance, and community engagement
Capabilities:
- Aggregate any amount of web3 market statistics
- Interact with Blockchains
- Live information tracking of 5,000+ cryptos.
- AI Generated News
⚠️ COST WARNING: This tool makes an API call to ChainGPT which may incur costs.
This tool allows you to interact with ChainGPT's conversational AI capabilities.
Args:
question (str): The question or message to send to ChainGPT.
chatHistory (str, optional): Whether to include chat history in the request.
Defaults to "off" if not provided. Can be set to "on" to maintain conversation context.
sdkUniqueId (str, optional): The unique identifier for the chat.
Defaults to a random UUID if not provided
Returns:
The response from ChainGPT AI to the provided question or message.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chatHistory | Yes | ||
| question | Yes |
Implementation Reference
- src/tools/chat.ts:40-67 (handler)The asynchronous handler function that executes the tool logic: invokes ChainGPT's createChatBlob API with the provided question and chatHistory, returns the bot response or error.async (params) => { try { const response = await generalchat.createChatBlob({ question: params.question, chatHistory: params.chatHistory, }); return { content: [ { type: "text", text: response.data.bot, }, ], }; } catch (error) { const errorMessage = error instanceof Error ? error.message : "invoke_chat_Unknown_Error"; return { content: [ { type: "text", text: errorMessage, }, ], isError: true, }; } }
- src/types/schema.ts:3-6 (schema)Zod schema for input validation of the chaingpt_invoke_chat tool: requires 'question' string and optional 'chatHistory' string.export const chatSchema = { question: z.string().min(1, 'Question is required'), chatHistory: z.string(), }
- src/tools/chat.ts:11-68 (registration)Registers the 'chaingpt_invoke_chat' tool using server.tool, providing name, multi-line description, chatSchema, and inline handler function.server.tool( "chaingpt_invoke_chat", ` Invoke a chat with ChainGPT AI and get a response based on the provided question. Web3-native AI assistant built specifically for the crypto world. It has deep blockchain expertise, enabling seamless integration of crypto-aware AI into your applications. The model is trained on blockchain data (smart contracts, DeFi protocols, NFTs, DAOs) and real-time market information, making it ideal for use cases like customer support, on-chain analytics, trading assistance, and community engagement Capabilities: - Aggregate any amount of web3 market statistics - Interact with Blockchains - Live information tracking of 5,000+ cryptos. - AI Generated News ⚠️ COST WARNING: This tool makes an API call to ChainGPT which may incur costs. This tool allows you to interact with ChainGPT's conversational AI capabilities. Args: question (str): The question or message to send to ChainGPT. chatHistory (str, optional): Whether to include chat history in the request. Defaults to "off" if not provided. Can be set to "on" to maintain conversation context. sdkUniqueId (str, optional): The unique identifier for the chat. Defaults to a random UUID if not provided Returns: The response from ChainGPT AI to the provided question or message. `, chatSchema, async (params) => { try { const response = await generalchat.createChatBlob({ question: params.question, chatHistory: params.chatHistory, }); return { content: [ { type: "text", text: response.data.bot, }, ], }; } catch (error) { const errorMessage = error instanceof Error ? error.message : "invoke_chat_Unknown_Error"; return { content: [ { type: "text", text: errorMessage, }, ], isError: true, }; } } );
- src/tools/chat.ts:6-8 (helper)Initializes the GeneralChat SDK client with API key from config, used by the chat invoke handler.const generalchat = new GeneralChat({ apiKey: config.chaingpt.secretKey, });