DataFlex Requires Chilkat v11.6.0+
DataFlex
Get a Prompt from an MCP Server
See more MCP Client Examples
Demonstrates Mcp.GetPrompt, which calls the MCP prompts/get method for a named prompt, passing a JSON arguments object and receiving the prompt result.
Tip: Code to parse the returned JSON can be generated with Chilkat's online tool at https://tools.chilkat.io/jsonParse.
Background. The prompt name and its expected arguments come from the
prompts array returned by ListPrompts. Pass an empty arguments object for a prompt that takes none.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoMcp
Variant vArgs
Handle hoArgs
Variant vJson
Handle hoJson
String sTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatMcp)) To hoMcp
If (Not(IsComObjectCreated(hoMcp))) Begin
Send CreateComObject of hoMcp
End
// Connect to a public MCP (Model Context Protocol) server over its Streamable HTTP endpoint. The
// Microsoft Learn MCP server is public and requires no authentication.
Get ComConnect Of hoMcp "https://learn.microsoft.com/api/mcp" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoMcp To sTemp1
Showln sTemp1
Procedure_Return
End
// Build the prompt's arguments (pass an empty object for a prompt that takes no arguments). The
// prompt name and its arguments come from the "prompts" array returned by ListPrompts.
Get Create (RefClass(cComChilkatJsonObject)) To hoArgs
If (Not(IsComObjectCreated(hoArgs))) Begin
Send CreateComObject of hoArgs
End
Get ComUpdateString Of hoArgs "topic" "azure-storage" To iSuccess
// Call the MCP prompts/get method for the named prompt. The prompt result is placed in the
// JsonObject.
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Get pvComObject of hoArgs to vArgs
Get pvComObject of hoJson to vJson
Get ComGetPrompt Of hoMcp "example-prompt" vArgs vJson To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoMcp To sTemp1
Showln sTemp1
Procedure_Return
End
Set ComEmitCompact Of hoJson To False
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// JSON parsing code for this result can be generated at Chilkat's online tool:
// https://tools.chilkat.io/jsonParse
End_Procedure