汇率MCP服务

一个基于Python的Model Context Protocol (MCP)服务器,提供实时汇率数据,适用于AI模型获取最新货币兑换信息。

  • by devshark
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 devshark/exchange-rate-mcp

使用说明

汇率MCP服务器(Python)

这是一个模型上下文协议(MCP)服务器的Python实现,它提供来自可靠来源的当前汇率。

概述

此服务器实现模型上下文协议以提供实时汇率数据。AI模型可以使用它来获取最新的货币兑换信息。

特性

  • 提供各种货币的当前汇率
  • 可配置的基础货币(默认为美元)
  • 使用exchangerate.host API作为数据源
  • 包括客户示例和Ollama集成

安装

# Clone the repository
git clone git@github.com:devshark/exchange-rate-mcp.git
cd exchange-rate-mcp

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Copy the example environment file and edit as needed
cp .env.example .env

配置

编辑 .env 要配置的文件:

  • PORT:服务器将运行的端口(默认值:3000)
  • EXCHANGE_API_KEY:您的API汇率服务密钥(可选)

关于API密钥的说明:

  • 服务器将使用免费的公共API在没有API密钥的情况下工作
  • 出于测试目的,您可以离开 EXCHANGE_API_KEY 空
  • 如果API不可用,服务器将回退到模拟数据

用法

启动服务器

python server.py

服务器将在您的 .env 文件(默认值:3000)。

与客户进行测试

python client.py

这将向MCP服务器发送请求并显示响应。

使用Olama集成进行测试

首先,确保您安装了Ollama并下载了gemma3:27b型号:

ollama pull gemma3:27b

然后运行Ollama客户端:

python ollama_client.py

这将:

  1. 从MCP服务器获取汇率
  2. 将它们格式化为提示
  3. 将提示发送给Ollama
  4. 显示并保存响应

API

服务器公开了一个MCP端点,该端点通过以下方法接受JSON-RPC 2.0请求:

list工具

列出服务器上可用的工具。

请求示例:

{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "listTools",
  "params": {}
}

callTool

使用参数调用特定工具。

请求示例:

{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "callTool",
  "params": {
    "name": "exchange-rates",
    "parameters": {
      "base": "EUR",
      "symbols": ["USD", "GBP", "JPY"]
    }
  }
}

示例响应:

{
  "jsonrpc": "2.0",
  "id": "1",
  "result": {
    "content": {
      "base": "EUR",
      "date": "2025-04-12",
      "rates": {
        "USD": 1.0923,
        "GBP": 0.8578,
        "JPY": 163.27
      }
    },
    "metadata": {
      "source": "exchange-rate-mcp",
      "timestamp": "2025-04-12T12:25:30.123Z",
      "baseCurrency": "EUR",
      "symbols": "USD,GBP,JPY"
    }
  }
}

许可证

麻省理工学院

作者

©林