research
by danieloh30
This project showcases a simple agentic application using Quarkus, LangChain4j, and the Model Context Protocol (MCP). It integrates multiple MCP servers to enable agent reasoning and tool invocation.
Last updated: N/A
What is research?
This project is a demonstration of building an agentic application using Quarkus, LangChain4j, and the Model Context Protocol. It leverages Quarkus' supersonic subatomic Java framework and LangChain4j's capabilities for interacting with language models. It uses multiple MCP servers such as Brave web search, OpenAI, Google Maps, and Slack to enable agent functionalities.
How to use research?
To use this application, you need to install Node, NPM and either Podman or Docker. Clone the repository, configure the required API keys in a .env
file, and run the application in dev mode using ./mvnw compile quarkus:dev
. You can also package the application using ./mvnw package
for runnable jar and create native executable using ./mvnw package -Dnative
. Access the application through http://localhost:8080
to interact after either running jar or native executable.
Key features of research
Agent reasoning
Tool invocation through MCP
Integration with multiple MCP servers
Quarkus Dev UI for LLM interaction
Simple frontend for testing
Native executable support
Use cases of research
Restaurant recommendation based on dietary needs and preferences
Sending recommendations to Slack channel
Creating ICS calendar files
Answering questions about reasoning and actions taken by the agent
Demonstrating agent memory and context awareness
FAQ from research
What is Quarkus?
What is Quarkus?
Quarkus is a Supersonic Subatomic Java Framework.
What is Model Context Protocol (MCP)?
What is Model Context Protocol (MCP)?
MCP facilitates communication and data exchange between different models and services.
How do I get API keys for the MCP services?
How do I get API keys for the MCP services?
Links to get the API keys for Brave web search, OpenAI, Google Maps, and Slack are provided in the README.
How do I run the application in Dev mode?
How do I run the application in Dev mode?
Use the command ./mvnw compile quarkus:dev
.
How can I chat with the LLM in Dev Mode?
How can I chat with the LLM in Dev Mode?
In dev mode, you can access the Dev UI at http://localhost:8080/q/dev/ and click "Extensions" then "Chat"