chaingpt_invoke_chat
Chat with a Web3 AI assistant to get blockchain insights, analyze crypto markets, and answer crypto-related questions using trained blockchain data and real-time information.
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 |
|---|---|---|---|
| question | Yes | ||
| chatHistory | Yes |
Implementation Reference
- src/tools/chat.ts:40-67 (handler)The asynchronous handler function that executes the tool logic: calls ChainGPT's createChatBlob API with question and chatHistory, returns the bot response in MCP format, or an error message if failed.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 defining the input parameters for the chaingpt_invoke_chat tool: question (required string) and chatHistory (optional 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 on the MCP server, providing the tool name, detailed description, input schema, and 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 instance used by the handler, configured with the ChainGPT API secret key from config.const generalchat = new GeneralChat({ apiKey: config.chaingpt.secretKey, });
- src/tools/index.ts:4-7 (registration)Top-level tool registration function that invokes registerChatTools(), which in turn registers the chaingpt_invoke_chat tool.export const registerTools = () => { registerChatTools(); registerNewsTools(); }