金融服务MCP服务器

Banco de Ferro MCP Server是一个基于FastMCP SDK和SSE传输的金融服务平台,提供客户认证、信用评估、货币兑换等多种金融工具。

  • by opera-art
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 opera-art/banco-ferro-mcp

使用说明

Banco de Ferro MCP服务器

“铁银行总是得到它应得的。

Braavos有色金属银行的MCP服务器,实现通信 快速MCP (官方SDK)和运输 上海证券交易所 与Google ADK集成

建筑

┌─────────────────────────────────────────────────────────────────┐
│                        Cloud Run                                 │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │                    FastMCP Server                          │  │
│  │                                                            │  │
│  │   /sse ──────► SSE Transport (MCP Protocol)               │  │
│  │   /health ───► Health Check                                │  │
│  │   / ─────────► Server Info                                 │  │
│  │                                                            │  │
│  │   ┌────────────────────────────────────────────────────┐  │  │
│  │   │                    10 Tools                         │  │  │
│  │   │  • verificar_selo      • obter_cotacao_moeda       │  │  │
│  │   │  • autenticar_cliente  • converter_moeda           │  │  │
│  │   │  • consultar_cofre     • listar_moedas             │  │  │
│  │   │  • avaliar_peticao     • listar_clientes           │  │  │
│  │   │  • calcular_nova_honra • atualizar_honra_cliente   │  │  │
│  │   └────────────────────────────────────────────────────┘  │  │
│  └───────────────────────────────────────────────────────────┘  │
│                              │                                   │
│                              ▼                                   │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │              PostgreSQL (Cloud SQL)                        │  │
│  └───────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────┘

生产 URL

https://banco-ferro-mcp-218827662558.us-central1.run.app

端点

Endpoint 方法 描述
/ GET 服务器信息
/health GET 健康检查(verifica conexão DB)
/sse 得到 端点MCP SSE (MCP协议)

可用工具

身份验证( 代理筛选)

verificar_selo

检查印章簿中是否存在个人印章 (CPF)。

{
  "selo": "12345678901"
}

返回 :

{
  "encontrado": true,
  "selo": "12345678901",
  "nome": "Tyrion Lannister"
}

autenticar_cliente

拥有个人印章和生日月亮的真正客户。

{
  "selo": "12345678901",
  "lua_nascimento": "15/06/1980"
}

返回 :

{
  "autenticado": true,
  "cliente_id": 1,
  "nome": "Tyrion Lannister",
  "cofre_disponivel": 50000.00,
  "honra_mercantil": 750
}

信用(代理信用)

consultar_cofre

查看客户的可用保险箱(信用额度)。

{
  "selo": "12345678901"
}

返回 :

{
  "nome": "Tyrion Lannister",
  "cofre_disponivel": 50000.00,
  "honra_mercantil": 750,
  "limite_maximo": 100000.00
}

avaliar_peticao

评估保险箱扩展请求(提高限额)。

{
  "selo": "12345678901",
  "novo_limite": 75000.00
}

返回 :

{
  "aprovado": true,
  "status": "aprovado",
  "honra_atual": 750,
  "limite_por_honra": 100000.00,
  "valor_solicitado": 75000.00,
  "requer_entrevista": false
}

面试(经纪人面试)

calcular_nova_honra

根据财务数据计算新的商业荣誉。

{
  "renda_mensal": 15000.00,
  "tipo_emprego": "formal",
  "despesas_fixas": 5000.00,
  "num_dependentes": 2,
  "tem_dividas": false
}

返回 :

{
  "nova_honra": 820
}

atualizar_honra_cliente

更新系统中客户的商业荣誉。

{
  "selo": "12345678901",
  "nova_honra": 820
}

返回 :

{
  "atualizado": true,
  "honra_anterior": 750,
  "nova_honra": 820,
  "novo_limite": 150000.00
}

外汇代理(Exchange Agent)

obter_cotacao_moeda

通过Frankfurter API获取实时报价。

{
  "moeda": "USD"
}

返回 :

{
  "moeda": "USD",
  "nome_tematico": "Dragao de Ouro",
  "nome_real": "Dolar Americano",
  "cotacao": 5.12,
  "data": "2025-01-22",
  "fonte": "frankfurter_api",
  "unidade": "moedas de prata (BRL)"
}

converter_moeda

转换外币价值至BRL.

{
  "valor": 100.00,
  "moeda_origem": "USD"
}

返回 :

{
  "valor_original": 100.00,
  "moeda_origem": "USD",
  "valor_convertido": 512.00,
  "cotacao_utilizada": 5.12
}

listar_moedas

列出可供报价的货币。

返回 :

{
  "moedas": ["USD", "EUR", "GBP", "JPY", "ARS", "CHF", "BTC"]
}

会话和记忆

create_session

创建新用户会话 。

{
  "session_id": "sess_123",
  "user_id": "user_456",
  "agent_name": "triage"
}

update_session_state

更新会话状态 。

{
  "session_id": "sess_123",
  "state": {"client_authenticated": true, "client_cpf": "12345678901"}
}

get_session_state

恢复会话状态 。

save_memory

将信件保存到会话内存 。

{
  "session_id": "sess_123",
  "role": "user",
  "content": "Quero consultar meu limite"
}

load_memory

装入会话消息历史记录 。

clear_memory

清除会话中的所有内存 。


功利主义者

listar_clientes

在银行注册的客户名单。

{
  "limite": 10
}

返回 :

{
  "clientes": [
    {"selo": "12345678901", "nome": "Tyrion Lannister", "cofre": 50000.00, "honra": 750},
    {"selo": "98765432109", "nome": "Daenerys Targaryen", "cofre": 100000.00, "honra": 900}
  ]
}

主题货币

代码 名字在布拉沃斯 真实姓名
USD 黄金龙 美元
欧元 欧元
GBP 北克朗 英镑
JPY Yi Ti 日元
ARS 夏季群岛比索 阿根廷比索
CHF 瑞士法郎
BTC 瓦利里亚黄金 Bitcoin

与 Google ADK 集成

通过SSE连接

from google.adk.tools.mcp_tool.mcp_toolset import McpToolset, SseConnectionParams

toolset = McpToolset(
    connection_params=SseConnectionParams(
        url="https://banco-ferro-mcp-218827662558.us-central1.run.app/sse",
    ),
)

# Obter tools
tools = await toolset.get_tools()

# Usar em um agente
from google.adk.agents import LlmAgent

agent = LlmAgent(
    name="meu_agente",
    model=model,
    tools=[toolset],
)

地方 发展

要求

  • Python 3.10+
  • PostgreSQL(或访问云 SQL)

安装

cd banco-ferro-mcp
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
.venv\Scripts\activate     # Windows

pip install -r requirements.txt

环境变量

DB_HOST=seu_host_aqui
DB_PORT=5432
DB_USER=seu_usuario
DB_PASSWORD=sua_senha_segura
DB_NAME=banco_ferro
PORT=8080

注: 永远不要在仓库中提交真正的凭据。 使用文件 .env 位置(必须在 .gitignore).

在本地运行

python main.py

服务器将可在 http://localhost:8080.

测试本地 SSE

curl http://localhost:8080/sse -H "Accept: text/event-stream"

部署无云运行

gcloud run deploy banco-ferro-mcp \
  --source . \
  --region us-central1 \
  --allow-unauthenticated

堆栈技术

组件 技术
框架MCP FastMCP(MCP-python SDK)
传输 SSE(服务器发送事件)
Web框架 Starlette(通过FastMCP)
数据库 PostgreSQL 15(云SQL)
交易所API 法兰克福API
部署 谷歌云运行
地区 us-central1

项目结构

banco-ferro-mcp/
├── main.py              # FastMCP Server com todas as tools
├── requirements.txt     # Dependências
├── Dockerfile           # Container para Cloud Run
├── README.md            # Esta documentação
└── banco_ferro_mcp/     # Módulo Python (legacy)
    ├── __init__.py
    ├── database.py
    ├── currency_api.py
    └── server.py

数据库

表格

clientes

列 类型 描述
id 序列号 唯一id
个人邮票 VARCHAR(11) CPF (独特)
名称 VARCHAR(100) 客户名称
出生月 VARCHAR(10) 出生日期 (DD/MM/AAAA)
cofre_available DECIMAL(15.2) 信用额度
荣誉 商业 整数

tabela_honra

列 类型 描述
id 序列号 唯一id
honora_min INTEGER 最小音轨分数
honora_max INTEGER 音轨的最大分数
cofre_maximo DECIMAL(15.2) 允许的最大限制

peticoes_expansao

列 类型 描述
id 序列号 唯一id
客户ID 整数 客户FK
sealo_client VARCHAR(11) 客户端 CPF
当前限制 DECIMAL(15.2) 当前限制
new_limit_requested DECIMAL(15,2) 新的限制请求
status VARCHAR(20) 批准/拒绝

“多哈里斯的价值。让你的货币不断增长。”