智能支付网关服务

一个基于Model Context Protocol (MCP)的智能API网关,通过自然语言查询提供支付网关API的智能访问。

  • by anikolv
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 anikolv/mcp-gateway

使用说明

MCP网关

AI驱动的网关服务,使用模型上下文协议(MCP)通过自然语言查询提供对支付网关API的智能访问。

这是什么?

一个智能API网关:

  • 用途 DeepSeek-V3人工智能 (通过OpenRouter)理解自然语言问题
  • 实现 模型上下文协议(MCP) 用于结构化工具调用
  • 连接到真实 支付网关服务 获取实时数据
  • 提供 漂亮的聊天界面 和 REST API 用于互动

特性

  • 🤖 AI驱动:使用DeepSeek-V3进行智能查询处理
  • 🔧 MCP工具:用于后端集成的模块化工具系统
  • 💱 汇率:查询货币汇率和付款方式
  • 🎨 web界面:漂亮的聊天界面,带有markdown渲染
  • 🔌 REST API:通过程序访问 /ask-ai 端点

先决条件

  • Java 23
  • Maven 3.x
  • OpenRouter API密钥(在https://openrouter.ai)
  • 访问支付网关服务

配置

编辑 src/main/resources/application.yml:

llm:
  base-url: https://openrouter.ai/api/v1
  model: deepseek/deepseek-chat
  api-key: YOUR_API_KEY_HERE

backend:
  services:
    payment-gateway:
      url: YOUR_PAYMENT_GATEWAY_URL

如何跑步

# Build the project
mvn clean package

# Run the application
mvn spring-boot:run

应用程序将于启动 http://localhost:8082

用法

web界面

打开浏览器并导航到:

http://localhost:8082

试着问:

  • “你能帮我什么?”
  • “欧元对美元的汇率是多少?”
  • “显示CAD的所有汇率”
  • “哪些货币可以兑换成欧元?”

REST API

curl -X POST http://localhost:8082/ask-ai \
  -H "Content-Type: application/json" \
  -d '{"question": "What is the exchange rate from EUR to USD?"}'

答复:

{
  "answer": "The current exchange rate from EUR to USD is: 1 EUR = 1.126201 USD"
}

检查状态

curl http://localhost:8082/ask-ai/status

可用工具

获取汇率

从支付网关查询货币汇率。

参数:

  • fromCurrency (可选):源货币代码(例如,美元、欧元、加元)
  • toCurrency (可选):目标货币代码(例如欧元、美元)

示例查询:

  • “美元兑欧元汇率是多少?”
  • “显示CAD的所有价格”
  • “哪些付款方式支持福林兑换欧元?”

建筑

User → Chat UI / REST API
    ↓
MCP Gateway (Spring Boot)
    ↓
DeepSeek AI (analyzes & calls tools)
    ↓
MCP Tools (GetExchangeRatesTool)
    ↓
Payment Gateway API
    ↓
Response → Formatted Answer

项目结构

mcp-gateway/
├── src/main/java/com/example/mcpgateway/
│   ├── controller/         # REST endpoints
│   ├── service/           # LLM & tool dispatch services
│   ├── mcp/               # MCP server & tools
│   ├── dto/               # Data transfer objects
│   └── config/            # Spring configuration
├── src/main/resources/
│   ├── static/            # Web interface
│   └── application.yml    # Configuration
└── pom.xml               # Maven dependencies

添加新工具

  1. 创建一个类来实现 MCPTool 接口
  2. 添加 @Component 注释
  3. 实施所需的方法
  4. 工具会自动被发现,并可供AI使用

例子:

@Component
public class MyNewTool implements MCPTool {
    public String getName() { return "my_tool"; }
    public String getDescription() { return "What this tool does"; }
    public Map<String, Object> getInputSchema() { /* schema */ }
    public String execute(Map<String, Object> args) { /* logic */ }
}

技术

  • 弹簧靴3.3.4 -应用框架
  • 春季AI MCP -模型上下文协议集成
  • DeepSeek-V3 -通过OpenRouter建立AI模型
  • Bootstrap 5.3 -UI框架
  • Marked.js -Markdown渲染
  • Java 23 -程序设计语言

发展

# Compile
mvn compile

# Run tests
mvn test

# Package
mvn package

# Clean build
mvn clean install

故障排除

问题 解决方案
空响应 检查API密钥 application.yml
连接被拒绝 确保支付网关URL正确
端口8082正在使用中 更改 server.port 在配置中
找不到工具 验证 @Component 工具类注释

许可证

该项目是用于演示目的的原型。