consultar_saldoLABSCO SUMMARY
The whole boleto lifecycle, not just the balance.
Read-only banking integrations are common; this one issues and cancels collections, which is where the real time goes in a Brazilian back office. That also makes the sandbox flag the first thing to set — rehearse the issue-and-cancel path there before pointing it at a live account. mTLS with a certificate file is the setup cost, and it is the bank's requirement, not this server's.
What it is
An MCP server for the Banco Inter Empresas API. It covers two areas of the bank: the account side, meaning balance and statements, and the collections side, meaning boletos — issuing them, listing them by period and status, cancelling them, summarising them and downloading their PDFs. Authentication is OAuth2 over mTLS with the client certificate the bank issues.
What you get
consultar_saldo— the account's available balance, no parametersconsultar_extrato— transactions over a period, takingdataInicialanddataFinal, withbaixar_pdf_extratoproducing the same statement as a saved PDFemitir_boleto— issue a new boleto withseuNumero,valorNominal,dataVencimentoand the payer detailslistar_boletos— list issued collections over a period, filtered bysituacao, andsumario_boletosfor a quantitative summary of the same windowcancelar_boleto— cancel an existing collection bycodigoSolicitacaowith a statedmotivobaixar_pdf_boleto— generate and save the PDF of one boleto
Requirements
Banco Inter developer credentials: CLIENT_ID, CLIENT_SECRET, a digital certificate and private key referenced by CERT_PATH and KEY_PATH, and the account number in X_CONTA_CORRENTE. INTER_IS_SANDBOX switches between the sandbox and production. Node.js 18 or higher, or Docker; the package is mcp-banco-inter (1.0.3 in package.json and server.json) and the local client entry runs npx -y mcp-banco-inter over stdio. MCP_TRANSPORT=streamable-http with MCP_HOST and MCP_PORT serves it at http://localhost:3000/mcp instead, which is how the Docker image runs by default. Generated PDFs land under STORAGE_PATH. The OAuth2 token is held in memory only and refreshed automatically.
Setup effort
One command plus credentials — npx -y mcp-banco-inter, then supply credentials
USE CASES
Checking what came in this week
Read the balance and pull the statement for the period without opening the bank's portal.
Issuing an invoice from a conversation
Create the boleto with its amount, due date and payer, then download the PDF to send on.
Chasing what is still unpaid
List collections for the period filtered by status and read the summary of the same window.
Cancelling a boleto issued in error
Cancel by its request code with a reason recorded.
Rehearsing before touching a live account
Run the whole flow against the sandbox first by flipping one environment variable.
8 tools
Listed in project docs. Your client may show a different list.
consultar_extratobaixar_pdf_extratolistar_boletosemitir_boletobaixar_pdf_boletocancelar_boletosumario_boletosBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation.
Requires
- npx on PATH
- Node.js 18+
- CLIENT_ID in your environment
- CLIENT_SECRET in your environment
- CERT_PATH in your environment
- KEY_PATH in your environment
- X_CONTA_CORRENTE in your environment
INSTALLATION
Connect your client
Server setup
npx -y mcp-banco-interMCP Clients
Claude Desktop — stdio, Cursor — stdio, Windsurf — stdio
{
"mcpServers": {
"banco-inter": {
"command": "npx",
"args": [
"-y",
"mcp-banco-inter"
],
"env": {
"CLIENT_ID": "<YOUR_CLIENT_ID>",
"CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
"CERT_PATH": "<YOUR_CERT_PATH>",
"KEY_PATH": "<YOUR_KEY_PATH>",
"X_CONTA_CORRENTE": "<YOUR_CONTA_CORRENTE>",
"INTER_IS_SANDBOX": "true"
}
}
}
}<YOUR_CLIENT_ID> and <YOUR_CLIENT_SECRET> come from the Banco Inter developer portal (developers.inter.co); <YOUR_CERT_PATH> and <YOUR_KEY_PATH> are the full paths of the .crt certificate and .key private key it issued, and <YOUR_CONTA_CORRENTE> is your current-account number. INTER_IS_SANDBOX=true uses the sandbox; set it to false for your live account.
VS Code — stdio
{
"servers": {
"banco-inter": {
"command": "npx",
"args": [
"-y",
"mcp-banco-inter"
],
"env": {
"CLIENT_ID": "<YOUR_CLIENT_ID>",
"CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
"CERT_PATH": "<YOUR_CERT_PATH>",
"KEY_PATH": "<YOUR_KEY_PATH>",
"X_CONTA_CORRENTE": "<YOUR_CONTA_CORRENTE>",
"INTER_IS_SANDBOX": "true"
}
}
}
}<YOUR_CLIENT_ID> and <YOUR_CLIENT_SECRET> come from the Banco Inter developer portal (developers.inter.co); <YOUR_CERT_PATH> and <YOUR_KEY_PATH> are the full paths of the .crt certificate and .key private key it issued, and <YOUR_CONTA_CORRENTE> is your current-account number. INTER_IS_SANDBOX=true uses the sandbox; set it to false for your live account.
Other routes
Self-hosted Docker server
docker run -d --name mcp-banco-inter -p 3000:3000 --env-file .env -v ./certs:/app/certs samuelmoraesf/mcp-banco-inter:latestCreate a .env file first with CLIENT_ID, CLIENT_SECRET, X_CONTA_CORRENTE and INTER_IS_SANDBOX, plus CERT_PATH=/app/certs/inter.crt and KEY_PATH=/app/certs/inter.key — the paths as the container sees them — and put the .crt and .key in ./certs. The container serves Streamable HTTP; point your MCP client at http://localhost:3000/mcp.