该项目演示了使用服务器发送事件(SSE)进行实时通信的LLM客户端与MCP(模型上下文协议)服务器之间的集成。它由三个Spring Boot应用程序组成,展示了OAuth 2.0安全性、使用各种LLM模型的工具调用能力以及安全的身份验证服务。
authorization-server-demo)这是一个实现了OAuth 2.0授权服务器功能的Spring Boot应用程序,提供安全的身份验证和授权服务。
特性:
端口: 9000
sse-mcp-server-demo)这是一个作为MCP服务器的Spring Boot应用程序,通过SSE端点暴露数学和日期/时间工具。
特性:
可用工具:
sumNumbers(int, int) - 加两个数multiplyNumbers(int, int) - 乘两个数getCurrentDateTime() - 获取用户时区的当前日期/时间setAlarm(String) - 设置指定ISO-8601时间的闹钟端口: 8080(默认)
llm-mcp-client-demo)这是一个连接到MCP服务器并提供与多个LLM提供商交互聊天界面的Spring Boot Web应用程序。
特性:
支持的LLM模型:
端口: 10101
对于LLM客户端,为云提供商设置以下环境变量:
export ANTHROPIC_API_KEY=your_anthropic_key
export OPENAI_API_KEY=your_openai_key
export GOOGLE_PROJECT_ID=your_google_project_id
export GOOGLE_ZONE=your_google_zone
docker compose up -d
cd authorization-server-demo
./gradlew bootRun
cd sse-mcp-server-demo
./gradlew bootRun
cd llm-mcp-client-demo
./gradlew bootRun
打开浏览器并导航至:http://localhost:10101
打开浏览器并导航至:http://localhost:3000
数据源->Prometheus->探索
数据源->Tempo->探索
数据源->Loki->探索
http://localhost:9090处打开Web界面示例查询:
所有应用程序都使用YAML配置文件:
authorization-server-demo/src/main/resources/application.ymlsse-mcp-server-demo/src/main/resources/application.ymlllm-mcp-client-demo/src/main/resources/application.yml该项目演示了:
此演示为构建具有外部工具能力的更复杂的LLM驱动的应用程序奠定了基础。