Learn how to leverage EO4EU APIs to build an MCP server, allowing users to access and manage the platform's functionalities via a chat-based interface
This demonstration by Claudio Pisa - ECMWF - showcases the integration of EO4EU APIs into an MCP server, enabling seamless interaction with the platform through a conversational chatbot interface. Specifically, this video demonstrates how an MCP server can be utilized to access the functionalities of the EO4EU platform through a chat interface. The program used for this demonstration is called LM Studio, which is used to test different Large Language Models (LLMs).
Key points of the demonstration:
- The LLMs can run either locally on a user's laptop or remotely on a user's virtual machine, preferably one with a GPU. For this demo, a virtual machine hosted on ECMWF's CCI was used.
- A system prompt was set up to instruct the LLM about its role and rules to follow.
- The video shows the tools exposed to the LLM by the MCP server, and how the configuration allows setting whether the user needs to be prompted before using a tool.
- Search Functionality: LLM for suggestions of three datasets from the EO4EU platform to prevent fires in Crete. The LLM calls the search data sets tool, and the response suggests three datasets: "fire risk mapping," "active fire monitoring," and "satellite spots detection". More details about the first dataset, prompting the LLM to call the get data set details tool were requested.
- Workflow Interaction: The MCP server can also interact with workloads.
- LLM to "create a new EO4EU workflow" of the "stress test" type. The model attempts to call the create stress test workflow tool. Since the "ask set" option was configured, the model asks the speaker if they want to proceed, and after the speaker says "yes," the tool is called, and a new workflow is created.
- LLM to "start the newly created workflow," which it does.
- Finally, the speaker requests a table summarizing the status of all EO4EU workflows, and the LLM provides a table showing a draft workflow and a running workflow.