PureBasic Requires Chilkat v11.6.0+
PureBasic
List the Resources Offered by an MCP Server
See more MCP Client Examples
Demonstrates Mcp.ListResources, which calls the MCP resources/list method and places the server's result (a resources array) into a JsonObject.
Tip: Code to parse the returned JSON can be generated with Chilkat's online tool at https://tools.chilkat.io/jsonParse.
Background. The Model Context Protocol (MCP) lets a client interact with a server's tools, resources, and prompts over a standard JSON-RPC interface. This example connects to the public, no-authentication Microsoft Learn MCP server at
https://learn.microsoft.com/api/mcp over Streamable HTTP.Chilkat PureBasic Downloads
IncludeFile "CkJsonObject.pb"
IncludeFile "CkMcp.pb"
Procedure ChilkatExample()
success.i = 0
mcp.i = CkMcp::ckCreate()
If mcp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; 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.
success = CkMcp::ckConnect(mcp,"https://learn.microsoft.com/api/mcp")
If success = 0
Debug CkMcp::ckLastErrorText(mcp)
CkMcp::ckDispose(mcp)
ProcedureReturn
EndIf
; Call the MCP resources/list method. On success, the server's result object -- containing a
; "resources" array -- is placed in the JsonObject. Not all servers expose resources.
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkMcp::ckListResources(mcp,json)
If success = 0
Debug CkMcp::ckLastErrorText(mcp)
CkMcp::ckDispose(mcp)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
CkJsonObject::setCkEmitCompact(json, 0)
Debug CkJsonObject::ckEmit(json)
; JSON parsing code for this result can be generated at Chilkat's online tool:
; https://tools.chilkat.io/jsonParse
CkMcp::ckDispose(mcp)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure