
Controtto
Track your transactions effortlessly and gain insights into your financial performance. Calculate average buy prices, current asset values, and profit & loss with ease. Import and export your transaction history seamlessly for better management.
Installation
Installing for Claude Desktop
Manual Configuration Required
This MCP server requires manual configuration. Run the command below to open your configuration file:
npx mcpbar@latest edit -c claude
This will open your configuration file where you can add the Controtto MCP server manually.
📊 Controtto
A self-hosted, P&L tracker made with Go, HTMX and no JavaScript. Controtto, keeps track of your transaction saving it in a sqlite file, and returns all sorts of calculations including:
- Avg. Buy price
- Current asset value
- Transaction history
- Import / Export transaction (see sample)
- Profit & Loss
In order to fetch the price of an asset, Controtto relies on mainly 4 APIs (see code).
- Binance - Public API, no token needed.
- BingX - Public API, no token needed.
- Alpha Vantage - Stocks, free but short rate limit. (get an token and set
CONTROTTO_AVANTAGE_TOKEN
) - Tiingo - Stocks, crypto and Forex. (create account/token and set
CONTROTTO_TIINGO_TOKEN
)
Demo
You can also check out the demo at demo.contre.io, the database resets every hour.
https://github.com/user-attachments/assets/28bf8782-6118-47c0-a94b-085e1a7045b2
All configurations are set in the .env
file and passed as environment variables. Variables CONTROTTO_PORT
and CONTROTTO_DB_PATH
are available.
# Install the dependencies
go mod tidy
# Set the .env
mv .env.example .env
# Source the env variables
. <(cat .env | grep -v -e '^$' | grep -v "#" | awk '{}')
Build and Run
go run ./cmd/main.go # go build ./cmd/main.go to just build it
Development env
go install github.com/cosmtrek/air@latest # Download air
air -c air.toml
and access localhost:3000
Run with Podman
A Container image is available on Docker's public registry.
If you want to use Docker, simply replace podman
with docker
.
mkdir data
podman container run --rm -p 8000:8000 -v $(pwd)/data:/data contre95/controtto
Run tests
go test -cover ./...
# Expected result
# ? controtto/cmd [no test files]
# ? controtto/src/app/managing [no test files]
# ? controtto/src/domain/pnl [no test files]
# ? controtto/src/gateways/markets [no test files]
# ? controtto/src/gateways/sqlite [no test files]
# ? controtto/src/presenters [no test files]
# ok controtto/src/app/querying 0.003s coverage: 40.7% of statements
TODO
- More tests
- Wrappers for logging and metrics would be nice as well.
- Add Accounts to keep track of the total net worth.
- Remove all the CSS and use custom
style.css
+ Tailwind CDN.
Stars
52Forks
0Last commit
1 month agoRepository age
2 yearsLicense
GPL-3.0
Auto-fetched from GitHub .
MCP servers similar to Controtto:

Stars
Forks
Last commit

Stars
Forks
Last commit

Stars
Forks
Last commit