Ksei Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Ksei Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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:
uv (recommended for fast package management)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"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())#### 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"
}
}
}
}# Start MCP server
uv run ksei mcp
# Fetch and dump raw portfolio JSON
uv run ksei dump --output ./dataFor local MCP debugging:
npx @modelcontextprotocol/inspector uv run ksei-mcp~/.cache/ksei (XDG standard) with user-only permissions (0o700 directory, 0o600 files).__repr__ or unhandled exceptions.Licensed under the MIT License. See LICENSE for details.
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).
Adapted and inspired by chickenzord/goksei.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.