loginLABSCO SUMMARY
Session first, then everything else.
The shape of the API decides how you use it: login returns a session id that every other call carries, so a working sequence always starts there and the session id should not be shared. Use the API credentials generated in the platform rather than your own login, and prefer the prompted-input setup so the password is stored by the editor instead of sitting in a config file.
What it is
An MCP server for the AverbePorto platform, which handles cargo insurance endorsements for Brazilian shipping documents. It covers the working loop: authenticate, upload an XML document, look up protocols, search what was sent, and break a 44-digit access key into its parts.
What you get
- Authentication that returns a
sessionIdevery other tool reuses —login, takinguserandpass - XML document upload returning an
uploadId, with optional recipient and version —upload - Protocol lookup in both directions, key to protocol or protocol to key, with output as json, xml or csv —
consultProtocol - A search over documents already sent — by type (DI, MDF-e, CT-e, NF-e, Minuta CT-e), by date range with
dtStartanddtLimit, by date type (Update, Emission, Send), with paging and filters on the parties involved —retrieveDocument - A 44-digit NF-e, CT-e or MDF-e access key decomposed for analysis —
decomposeKey
Requirements
An AverbePorto account, with API credentials generated in the platform under user registration. Node running the built build/index.js, or the Smithery one-liner npx -y @smithery/cli install @GHSix/averbeporto-mcp --client claude. The VS Code and Copilot setup is documented with prompted inputs that store the credentials and inject them as AVERBEPORTO_USER and AVERBEPORTO_PASS, so they are not written into the config file. The package version is 1.1.0.
Setup effort
One command plus credentials — npx -y @smithery/cli install @GHSix/averbeporto-mcp --client claude, then supply credentials
USE CASES
Filing an endorsement without opening the portal
Log in, upload the XML and get the upload id back in one exchange.
Checking a protocol for a shipment
Look the protocol up from the access key, or the key from the protocol, in the format your process needs.
Auditing what was sent in a period
Search sent documents by type and date range, filtered by the party you care about.
Making sense of an access key
Break the 44-digit key into its components rather than parsing it by hand.
5 tools
Listed in project docs. Your client may show a different list.
uploadconsultProtocolretrieveDocumentdecomposeKeyBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
- node on PATH
- AVERBEPORTO_USER in your environment
- AVERBEPORTO_PASS in your environment
Where it runs
All 4 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
Build from source
git clone https://github.com/GHSix/AverbePorto-MCP.git
cd AverbePorto-MCP
npm install
npm run buildnpx
npx -y @smithery/cli install @GHSix/averbeporto-mcp --client claudeMCP Clients
Claude Desktop
{
"mcpServers": {
"AverbePorto-MCP": {
"command": "node",
"args": [
"<YOUR_PATH_TO_AVERBE_PORTO_MCP>/build/index.js"
]
}
}
}Cursor, Roo Code
{
"mcpServers": {
"AverbePorto-MCP": {
"command": "node",
"args": [
"<YOUR_PATH_TO_AVERBE_PORTO_MCP>/build/index.js"
],
"disabled": false,
"alwaysAllow": [
"login",
"consultProtocol",
"upload",
"retrieveDocument",
"decomposeKey"
]
}
}
}VS Code
{
"inputs": [
{
"type": "promptString",
"id": "averbeporto-user",
"description": "AverbePorto API Username"
},
{
"type": "promptString",
"id": "averbeporto-pass",
"description": "AverbePorto API Password",
"password": true
}
],
"servers": {
"AverbePorto-MCP": {
"command": "node",
"args": [
"<YOUR_PATH_TO_AVERBE_PORTO_MCP>/build/index.js"
],
"env": {
"AVERBEPORTO_USER": "${input:averbeporto-user}",
"AVERBEPORTO_PASS": "${input:averbeporto-pass}"
}
}
}
}