Sample code for 30+ languages & platforms
DataFlex Requires Chilkat v11.6.0+

Read a Resource from an MCP Server

See more MCP Client Examples

Demonstrates Mcp.ReadResource, which calls the MCP resources/read method for a resource identified by URI and places the contents 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. A resource URI is obtained from the resources array returned by ListResources. Not all MCP servers expose resources.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoMcp
    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

    //  Read a specific resource by its URI.  A resource URI is obtained from the "resources" array
    //  returned by ListResources.  The resource contents are placed in the JsonObject.
    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get pvComObject of hoJson to vJson
    Get ComReadResource Of hoMcp "file:///example/resource.txt" 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