Posted on ::

I built PortoSync, a Model Context Protocol (MCP) server that connects Indonesian investment portfolio data to AI assistants like Claude. It's changed how my partner and I manage our scattered investments.

The Problem

Like many Indonesians, we have investments spread across multiple securities accounts. Checking our consolidated portfolio meant logging into different platforms, copying data, and manually piecing everything together. Tedious when you're trying to have financial planning discussions.

What PortoSync Does

PortoSync connects to KSEI AKSES (the Indonesian central securities custodian) and lets you query your portfolio through natural language. Instead of navigating multiple web interfaces, I can ask Claude things like:

  • "Show me my current holdings"
  • "What's my BBCA position?"
  • "How's my portfolio doing today?"

And get real-time data from all our accounts in one place.

PortoSync in action with Claude

P.S. The name, symbols, and numbers in the screenshot are redacted using random data.

Built on GoKSEI

This project was made possible by the GoKSEI library I built earlier. What started as a simple way to programmatically access KSEI data became the foundation for something more useful.

PortoSync supports all the major Indonesian investment types:

  • Saham (equities)
  • Obligasi (bonds)
  • Reksadana (mutual funds)

Technical Approach

I took a hybrid development approach for this project:

  • 20% traditional hand-coding for the core architecture and critical components
  • 80% AI-assisted development with careful supervision for the implementation details

This ratio is becoming my sweet spot for rapid prototyping. AI helps with the tedious parts while I focus on the architecture and business logic.

The MCP Advantage

MCP makes AI assistants useful for real-world tasks. No more copy-pasting between apps or manual data gathering. The assistant gets direct access to your data and can help with analysis, planning, and decision-making.

PortoSync runs as either a stdio server or HTTP server, making it flexible enough to work with different MCP clients. I primarily use it with Claude Desktop, but it's designed to work with any MCP-compatible AI assistant.

Security and Privacy

Since this deals with financial data, security was a priority from day one. PortoSync:

  • Stores credentials securely using environment variables
  • Runs in a containerized environment with non-root user
  • Only accesses data you explicitly authorize
  • Keeps everything local, no data leaves your setup

Real-World Impact

Financial planning conversations with my partner are now more productive. Instead of spending time gathering data, we spend time making decisions. "Hey Claude, show us our portfolio allocation" gives us instant data to work with.

What's Next

I'm planning to add a local database and background worker to mirror the portfolio data. This would enable faster queries and reduce load on KSEI's servers while keeping historical data for better insights.

If you're interested in trying it out, PortoSync is available on GitHub. You'll need KSEI AKSES credentials and it's built for the Indonesian market.

Building tools that solve your own problems is satisfying. This one makes managing money less tedious.