Genesys Cloud - Developer Community!

 View Only

Sign Up

  • 1.  Creating an MCP Server for Genesys Cloud

    Posted 05-01-2025 18:38

    Hey!

    I've been creating an unofficial MCP server for Genesys Cloud's Platform API and thought I'd share the GitHub repo here incase anyone has any advice for tools that would be useful - or can see any glaring mistakes in my approach.

    GitHub - MakingChatbots/genesys-cloud-mcp-server: Model Context Protocol (MCP) server for Genesys Cloud's Platform API

    This is for a personal project, so excuse the many breaking changes as I learn the best way to represent Platform API endpoints to an LLM. But any advice is more than welcome!


    #Integrations
    #PlatformAPI
    #PlatformSDK

    ------------------------------
    Lucas Woodward
    OVO Energy Ltd

    https://www.linkedin.com/in/lucas-woodward-the-dev
    ------------------------------


  • 2.  RE: Creating an MCP Server for Genesys Cloud

    Posted 05-02-2025 09:01

    Hey Lucas,


    Thanks for sharing.  I have two people on my team exploring MCP servers and whether we can generate them in some reasonable format off our APIs.  Would love to hear your experiences on MCP.


    Thanks,

        John Carnell
        Director, Developer Engagement



    ------------------------------
    John Carnell
    Director, Developer Engagement
    ------------------------------



  • 3.  RE: Creating an MCP Server for Genesys Cloud

    Posted 05-02-2025 17:07
    I've only implemented a few tools so far but I'm happy to share my learnings. However, please take them with a pinch of salt as I'm also still learning...
     
    Some Platform API endpoints are too complex to expose by themselves
     
    The endpoints offered by the Platform API, such as the Analytics APIs, are designed to be heavily customisable (e.g. conversationFilters). Based on my experience mapping these into a single tool isn't feasible since there is a lot of understanding required by the LLM, and I'm not even sure MCP's tool schema would allow for the complexity of the filters.
     
    This means I've gone down the approach of creating smaller discrete tools with specific purposes...
     
    Smaller discrete tools
     
    With the extensive range of endpoints made available via the Platform API I've been trying to create tools geared around questions that may be asked, irrespective of how they map the Platform API endpoints.
     
    This allows me to be very targeted with the tool's description, and the params it exposes.
     
    However, as with all things there is a balancing act, in this case between tools being too small and numerous with being too big and obscure.
     
    Uncertainty around whether I return stringified JSON, text or a mixture
     
    I am pretty sure the answer to this is that data should be returned as JSON to help with the LLMs understanding, and make it easier to use in Code Execution for analytics. But on a few occasions I'm been able to easily emphasise parts of the output that control behaviour that I couldn't do so easily with JSON alone - maybe this is where a response containing both JSON and text would come in handy, or just a better tool description.
     
    Endpoints with pagination can be handled by the tool calling LLM
     
    It was a pleasant surprise that an LLM was able to paginate results across multiple calls e.g. in this searchQueues tool. Although interestingly (1) the LLM is always choosing the default page size even if increasing it by one would limit the calls (2) the LLM is firing the calls off in parallel.
     
    What I haven't tried yet are jobs that have a Job ID that needs to be passed along with the Cursor position. I'm presuming the LLM won't have a problem with this the first few calls, but may it start confusing Job IDs between tools?
     
    I hope this helps, and feel free to take parts from what I'm making if it's of any use!


    ------------------------------
    Lucas Woodward
    OVO Energy Ltd

    https://www.linkedin.com/in/lucas-woodward-the-dev
    ------------------------------



  • 4.  RE: Creating an MCP Server for Genesys Cloud

    Posted 05-05-2025 13:59

    Hi Lucas,

    Cool!  You are running into some of the same stuff we have been uncovering.  What we have been finding if you keep the scope of the tools tight and narrow, without too many functions in the server usually will give the API the best ticket to success.


    Thanks,

        John



    ------------------------------
    John Carnell
    Director, Developer Engagement
    ------------------------------



  • 5.  RE: Creating an MCP Server for Genesys Cloud

    Posted 05-08-2025 17:23

    That's reassuring, it at least means I'm on the right track. I look forward to seeing what your team create!



    ------------------------------
    Lucas Woodward
    OVO Energy Ltd

    https://www.linkedin.com/in/lucas-woodward-the-dev
    ------------------------------