Class EssMcpImpl

java.lang.Object
com.appliedolap.essbase.impl.EssMcpImpl
All Implemented Interfaces:
EssMcp

public class EssMcpImpl extends Object implements EssMcp
Talks to the MCP server Essbase 26.1 serves from inside its own REST API.

Not through the generated client, even though 26.1 does describe these paths. It describes them as empty stubs - no request body, no parameters, no responses - and with no tag, so they generate as DefaultApi.callTool() and listTools() returning void: callable, and incapable of handing back the answer. Hence plain requests and hand-read JSON.

  • Constructor Details

  • Method Details

    • isAvailable

      public boolean isAvailable()
      Description copied from interface: EssMcp
      Whether this server has an MCP server at all. False on anything older than 26.1, which answers 404 to the discovery endpoint.
      Specified by:
      isAvailable in interface EssMcp
      Returns:
      true if the endpoint answered
    • getServerInfo

      public Optional<String> getServerInfo()
      Description copied from interface: EssMcp
      What the MCP server calls itself, e.g. Essbase MCP 0.2.3.
      Specified by:
      getServerInfo in interface EssMcp
      Returns:
      the name and version, or empty if there is no MCP server here
    • getTools

      public List<EssMcpTool> getTools()
      Description copied from interface: EssMcp
      The tools it offers.
      Specified by:
      getTools in interface EssMcp
      Returns:
      the tools, empty if there is no MCP server here
    • call

      public EssMcpResult call(String toolName, Map<String,Object> arguments)
      Description copied from interface: EssMcp
      Runs one tool.

      Arguments are sent as given; the endpoint validates them. A tool that fails comes back as a result with EssMcpResult.isError() set rather than as an exception.

      Specified by:
      call in interface EssMcp
      Parameters:
      toolName - which tool
      arguments - its arguments, by name
      Returns:
      what it said