URL缩短服务

基于MCP协议的URL缩短服务,支持多环境数据存储和Kotlin多平台管理界面。

  • by Griotold
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 griotold/mcp-demo-kotlin-spring

使用说明

用MCP实现的URL Shortener项目

Model Context Protocol(MCP)是一种开放式协议,可实现LLM应用程序与外部数据源和工具之间的无缝集成。基于AI的IDE、聊天界面、自定义AI工作流等提供了与需要LLM的上下文相关联的标准化方法。

step0:MCP集成

在ide中查看我的项目,并为我提供该项目的所有支持api

Step1:实施基本URL缩短服务

  • 创建urlShortener服务
  • POST/api/shorten实施
    • 生成以字母和数字开头的随机6位字符串密钥。
    • 保存在in-memory hashmap中,并返回带有200OK的快捷URL
  • 实施GET/api/shortent/{shortKey}
    • 如果收到指向端点的快捷键,则返回相应的源URL
  • 将其结构化为Controller、Service和Repository层
  • 添加便利功能:
    • 创建可手动测试的http-client文件
    • 向主要流添加info日志
    • 日志记录使用io.github.oshai:kotlin-logging-jvm dependenty

步骤2:按env分离数据存储

  • 在local env的时候维持现在的逻辑
  • local_postgres env的时候想用exposed。添加dependenty
  • 用于local_postgres env的db已经显示为docker-compose。
  • 连接信息可以去docker/docker-compose.yml。
  • 将env添加到src/main/resources/application.yml
    • local env:保留当前的in-memory hashmap使用
    • local_postgres env:使用Exposed连接PostgreSQL DB
    • 利用docker/docker-compose.yml的PostgreSQL连接信息

步骤3:实现Kotlin Multiplatform管理器屏幕

  • 功能实施:
    • URL输入表单:长URL输入字段和“缩短”按钮
    • 显示URL列表:显示快捷键、源URL和创建时间
    • 删除功能:为每个URL条目添加删除按钮
  • 其他API端点:
    • GET/api/shortent/urls:查看所有快捷URL列表
    • DELETE/api/shortent/{shortKey}:删除特定的快捷URL
  • 动作流:
    • POST,DELETE操作完成后自动刷新URL列表
    • 加载页面时加载初始URL列表