Skip to main content
Glama
nichsedge

KSEI MCP

by nichsedge

KSEI

License: MIT

A Python client library and Model Context Protocol (MCP) server for accessing your AKSes KSEI (Acuan Kepemilikan Sekuritas Kustodian Sentral Efek Indonesia) portfolio data.

Retrieve complete Indonesian securities portfolio information:

  • ๐Ÿ’ต Cash balances (RDN)

  • ๐Ÿ“ˆ Equity holdings (Saham)

  • ๐Ÿ“Š Mutual funds (Reksadana)

  • ๐Ÿ“œ Bonds (Obligasi & SBN)

  • ๐Ÿ’ผ Other investment instruments

  • ๐Ÿ‘ค Account identity & SID


๐Ÿ”ง Prerequisites

  • Python 3.11 or higher

  • Valid KSEI account credentials

  • uv (recommended for fast package management)


Related MCP server: ibkr-mcp

โš™๏ธ Configuration

Set your KSEI credentials via environment variables or a .env file:

export KSEI_USERNAME="your_ksei_username"
export KSEI_PASSWORD="your_ksei_password"

# Optional: Override token cache location (defaults automatically to ~/.cache/ksei)
# export KSEI_AUTH_PATH="/custom/path"

๐Ÿš€ Usage

1. As a Python Library

Tokens are automatically cached in ~/.cache/ksei with restricted 0o700/0o600 permissions.

import asyncio
from ksei import KSEIClient

# Initialize client (no auth_store boilerplate needed!)
client = KSEIClient(username="your_username", password="your_password")

# Synchronous usage
summary = client.get_portfolio_summary()
cash = client.get_cash_balances()
equities = client.get_equity_balances()
funds = client.get_mutual_fund_balances()
bonds = client.get_bond_balances()

# Asynchronous usage (fast parallel fetch)
async def main():
    async with KSEIClient(username="your_username", password="your_password") as client:
        all_portfolios = await client.get_all_portfolios_async()
        print(all_portfolios)

asyncio.run(main())

2. As an MCP Server (for AI Assistants)

Quick Run with uvx

# Run directly with uvx
uvx ksei-mcp

# Or run from local checkout
uvx --from . ksei-mcp

MCP Client Configuration

Add this configuration to your MCP client (Claude Desktop, Cursor, Gemini CLI, etc.):

{
  "mcpServers": {
    "ksei": {
      "type": "stdio",
      "command": "uvx",
      "args": ["ksei-mcp"],
      "env": {
        "KSEI_USERNAME": "your_ksei_username",
        "KSEI_PASSWORD": "your_ksei_password"
      }
    }
  }
}

3. CLI Commands

# Start MCP server
uv run ksei mcp

# Fetch and dump raw portfolio JSON
uv run ksei dump --output ./data

๐Ÿงช Testing with MCP Inspector

For local MCP debugging:

npx @modelcontextprotocol/inspector uv run ksei-mcp

๐Ÿ” Security & Privacy

  • Zero Boilerplate Cache: Tokens are cached automatically in ~/.cache/ksei (XDG standard) with user-only permissions (0o700 directory, 0o600 files).

  • Secret Protection: Passwords and tokens are never logged or exposed in __repr__ or unhandled exceptions.

  • Auto 401 Recovery: The client transparently refreshes expired tokens on 401 Unauthorized responses.

  • Secure Transport: All requests communicate with official KSEI endpoints via HTTPS.


๐Ÿ“„ License

Licensed under the MIT License. See LICENSE for details.


โš ๏ธ Disclaimer

This is an unofficial client for educational and personal use only. It is not affiliated with or endorsed by PT Kustodian Sentral Efek Indonesia (KSEI).

Acknowledgement

Adapted and inspired by chickenzord/goksei.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    C
    maintenance
    An MCP server that turns Interactive Brokers into a question-answering portfolio analyst.
    4
  • A
    license
    -
    quality
    C
    maintenance
    A read-only MCP server for Trade Republic that provides portfolio, cash balance, real-time quotes, and instrument search via an unofficial API.
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    A read-only MCP server that provides filtered account and portfolio data from Portfolio Performance .portfolio files to generate reports.
    4
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nichsedge/ksei'

If you have feedback or need assistance with the MCP directory API, please join our Discord server