io.github.SamuelMoraesF/mcp-banco-inter

编码与调试

by samuelmoraesf

Servidor MCP para integração com o Banco Inter (PJ). Consulte saldos e gerencie cobranças.

什么是 io.github.SamuelMoraesF/mcp-banco-inter

Servidor MCP para integração com o Banco Inter (PJ). Consulte saldos e gerencie cobranças.

README

🏦 MCP Banco Inter

NPM Version Docker Image License: ISC

Um servidor MCP (Model Context Protocol) para integração com a API do Banco Inter Empresas (PJ).

Permite que assistentes de IA (como Claude, ChatGPT, Gemini, etc.) consultem saldos, extratos, emitam e gerenciem boletos de cobrança — tudo via linguagem natural.


✨ Funcionalidades

Banking

  • 💰 Consulta de saldo da conta corrente
  • 📊 Consulta de extrato por período
  • 📄 Download de extrato em PDF

Cobranças (Boletos)

  • 📋 Listar cobranças emitidas com filtros (situação, período)
  • 🆕 Emitir novos boletos de cobrança
  • Cancelar cobranças
  • 📊 Sumário de cobranças por período
  • 📥 Baixar PDF de boletos

📋 Pré-requisitos

  • Node.js 18+ ou Docker
  • Credenciais de API do Banco Inter (obtidas no Portal do Desenvolvedor Inter):
    • CLIENT_ID e CLIENT_SECRET
    • Certificado digital (.crt) e Chave Privada (.key)
    • Número da Conta Corrente

⚙️ Configuração

1. Obtenha suas credenciais no Portal do Desenvolvedor do Banco Inter

2. Coloque os arquivos de certificado em um diretório seguro (ex.: ./certs/)

3. Crie um arquivo .env baseado no .env.example:

env
# Credenciais obrigatórias
CLIENT_ID=your_client_id
CLIENT_SECRET=your_client_secret
CERT_PATH=./certs/inter.crt
KEY_PATH=./certs/inter.key

# Conta
X_CONTA_CORRENTE=123456789

# Armazenamento local (PDFs gerados)
STORAGE_PATH=./storage

# Transporte MCP: "stdio" | "streamable-http"
MCP_TRANSPORT=stdio

# Configurações de rede (apenas para transporte streamable-http)
MCP_HOST=0.0.0.0
MCP_PORT=3000

# Sandbox (para testes)
INTER_IS_SANDBOX=true

⚠️ Importante: Nunca comite os arquivos .env, .crt e .key no repositório. Eles já estão no .gitignore.


🚀 Instalação e Uso

O servidor suporta dois modos de transporte:

TransporteUsoIdeal para
stdioComunicação via stdin/stdoutClientes locais (Claude Desktop, Cursor, etc.)
streamable-httpServidor HTTP com Streamable HTTPClientes remotos, Docker, múltiplos clientes

1️⃣ Via npx — Modo stdio (recomendado para clientes locais)

O modo padrão. O cliente MCP inicia o processo e se comunica via stdin/stdout:

bash
CLIENT_ID=seu_client_id \
CLIENT_SECRET=seu_client_secret \
CERT_PATH=/caminho/absoluto/inter.crt \
KEY_PATH=/caminho/absoluto/inter.key \
X_CONTA_CORRENTE=sua_conta \
INTER_IS_SANDBOX=true \
npx -y samuelmoraesf/mcp-banco-inter

💡 Na prática, você não roda manualmente — o cliente MCP (Claude Desktop, Cursor, etc.) executará o comando automaticamente. Veja os exemplos de configuração abaixo.


2️⃣ Via npx — Modo streamable-http (servidor HTTP)

Para rodar como servidor HTTP acessível por múltiplos clientes:

bash
CLIENT_ID=seu_client_id \
CLIENT_SECRET=seu_client_secret \
CERT_PATH=/caminho/absoluto/inter.crt \
KEY_PATH=/caminho/absoluto/inter.key \
X_CONTA_CORRENTE=sua_conta \
INTER_IS_SANDBOX=true \
MCP_TRANSPORT=streamable-http \
MCP_HOST=0.0.0.0 \
MCP_PORT=3000 \
npx -y samuelmoraesf/mcp-banco-inter

O servidor estará disponível em:

code
http://localhost:3000/mcp

3️⃣ Via Docker — Modo streamable-http

O container Docker já vem configurado para rodar em modo streamable-http por padrão.

Build local:

bash
docker build -t mcp-banco-inter .

docker run -d \
  --name mcp-banco-inter \
  -p 3000:3000 \
  -e CLIENT_ID=seu_client_id \
  -e CLIENT_SECRET=seu_client_secret \
  -e X_CONTA_CORRENTE=sua_conta \
  -e INTER_IS_SANDBOX=true \
  -v /caminho/absoluto/certs:/app/certs \
  -e CERT_PATH=/app/certs/inter.crt \
  -e KEY_PATH=/app/certs/inter.key \
  mcp-banco-inter

Ou diretamente do Docker Hub:

bash
docker run -d \
  --name mcp-banco-inter \
  -p 3000:3000 \
  --env-file .env \
  -v ./certs:/app/certs \
  samuelmoraesf/mcp-banco-inter:latest

O container expõe o endpoint Streamable HTTP em http://localhost:3000/mcp.


4️⃣ Instalação local (desenvolvimento)

bash
git clone https://github.com/samuelmoraesf/mcp-banco-inter.git
cd mcp-banco-inter
npm install
npm run build
npm start

🔌 Integração com Clientes MCP

Claude Desktop (stdio)

Adicione ao seu claude_desktop_config.json:

json
{
  "mcpServers": {
    "banco-inter": {
      "command": "npx",
      "args": ["-y", "mcp-banco-inter"],
      "env": {
        "CLIENT_ID": "seu_client_id",
        "CLIENT_SECRET": "seu_client_secret",
        "CERT_PATH": "/caminho/absoluto/inter.crt",
        "KEY_PATH": "/caminho/absoluto/inter.key",
        "X_CONTA_CORRENTE": "sua_conta",
        "INTER_IS_SANDBOX": "true"
      }
    }
  }
}

Cursor / Windsurf / VS Code (stdio)

Na configuração MCP do seu editor, adicione:

json
{
  "mcp": {
    "servers": {
      "banco-inter": {
        "command": "npx",
        "args": ["-y", "mcp-banco-inter"],
        "env": {
          "CLIENT_ID": "seu_client_id",
          "CLIENT_SECRET": "seu_client_secret",
          "CERT_PATH": "/caminho/absoluto/inter.crt",
          "KEY_PATH": "/caminho/absoluto/inter.key",
          "X_CONTA_CORRENTE": "sua_conta",
          "INTER_IS_SANDBOX": "true"
        }
      }
    }
  }
}

Clientes remotos (streamable-http)

Para clientes que se conectam via HTTP (incluindo Docker), primeiro inicie o servidor em modo streamable-http (veja seções 2️⃣ ou 3️⃣ acima) e configure o cliente para conectar ao endpoint:

code
http://localhost:3000/mcp

🛠️ Ferramentas Disponíveis

FerramentaDescriçãoParâmetros
consultar_saldoRetorna o saldo disponível da conta.
consultar_extratoRetorna as movimentações em um período.dataInicial, dataFinal
baixar_pdf_extratoGera e salva o PDF do extrato.dataInicial, dataFinal
listar_boletosLista cobranças por período e situação.dataInicial, dataFinal, situacao?
emitir_boletoCria um novo boleto de cobrança.seuNumero, valorNominal, dataVencimento, pagador
baixar_pdf_boletoGera e salva o PDF de um boleto.codigoSolicitacao
cancelar_boletoCancela uma cobrança existente.codigoSolicitacao, motivo
sumario_boletosResumo quantitativo de cobranças por período.dataInicial, dataFinal

🏗️ Arquitetura

code
src/
├── index.ts          # Entrypoint — configura transporte (stdio/HTTP)
├── server.ts         # Definição do servidor MCP e registro das tools
├── inter-client.ts   # Cliente HTTP para a API do Banco Inter
└── types.ts          # Interfaces TypeScript das requisições/respostas
MóduloResponsabilidade
index.tsCarrega variáveis de ambiente, inicializa o InterClient e o InterMcpServer, e configura o transporte (stdio ou Streamable HTTP).
server.tsRegistra as ferramentas MCP e delega chamadas ao InterClient.
inter-client.tsAutenticação OAuth2 com mTLS, cache de token, e todas as chamadas REST à API Inter (Banking v2 e Cobrança v3).
types.tsTipagem completa de todas as interfaces usadas nas requisições e respostas da API.

🧪 Testes

bash
# Testes unitários
npm run test:unit

# Testes de integração (requer .env configurado)
npm run test:integration

# Todos os testes
npm test

📦 CI/CD

O projeto possui pipelines automatizados via GitHub Actions:

  • NPM Publish — Publica automaticamente no NPM ao criar tags v*.
  • Docker Build & Push — Builda e publica imagem multi-arch (amd64/arm64) no Docker Hub ao fazer push em master ou ao criar tags.

🔒 Segurança

  • A comunicação com a API do Banco Inter é feita via mTLS (certificado digital do cliente).
  • O token de autenticação OAuth2 é armazenado apenas em memória e renovado automaticamente.
  • Os arquivos sensíveis (.env, certificados, chaves) estão incluídos no .gitignore.

常见问题

io.github.SamuelMoraesF/mcp-banco-inter 是什么?

Servidor MCP para integração com o Banco Inter (PJ). Consulte saldos e gerencie cobranças.

相关 Skills

网页构建器

by anthropics

Universal
热门

面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。

在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。

编码与调试
未扫描114.1k

前端设计

by anthropics

Universal
热门

面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。

想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。

编码与调试
未扫描114.1k

网页应用测试

by anthropics

Universal
热门

用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。

借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。

编码与调试
未扫描114.1k

相关 MCP Server

GitHub

编辑精选

by GitHub

热门

GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。

这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。

编码与调试
83.4k

by Context7

热门

Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。

它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。

编码与调试
52.2k

by tldraw

热门

tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。

这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。

编码与调试
46.3k

评论