Skip to main content

Overview

What is Sectors?

Sectors is a financial data platform focused on Southeast Asian stock markets — covering IDX (Indonesia), SGX (Singapore), and KLSE (Malaysia). It provides data like company reports, quarterly financials, market indices, sector analysis, top movers, dividends, IPO calendars, and more.

What is MCP?

Before MCP, connecting AI assistants to external tools was fragmented — each service required a custom interface, its own authentication setup, and separate execution logic. As the number of tools grew, maintaining all these integrations became increasingly complex. Model Context Protocol (MCP) was developed in 2024 by Anthropic to solve this: a shared standard that AI clients and external tools both speak, removing the need for one-off integrations on either side. Think of it like English as the common language of international business — instead of every pair of countries needing a dedicated translator, everyone learns one shared language and communication just works. MCP, while developed by Anthropic, is not Claude-specific. MCP is supported by Claude Desktop, Cursor, Windsurf, VS Code, JetBrains IDEs, and more. MCP uses a client-server model where the AI app (client) connects to an MCP server, then discovers what tools are available, and calls them during conversations. There are two transport types in MCP, which determine how the server connects and runs:
  • stdio: Local subprocess. This means that the MCP server runs on your local machine.
  • SSE (Server-Sent Events): Remote server over HTTP. This means that the MCP server runs remotely and is accessible over the internet.

What is Sectors MCP?

The Sectors MCP Server is a cloud-hosted service built on MCP that gives your AI assistant access to financial market data and analytics through a standardized interface. Once connected, you can fetch a variety of market and company data, such as:
  • Company Reports & Financials: Detailed company profiles, quarterly financials, dividends, and performance metrics.
  • Market Indices & Rankings: Stock market indices, top movers, most traded stocks, and daily transactions.
  • Sector & Industry Analysis: Tools for analyzing companies by sector, subsector, and industry.
  • IDX & SGX Coverage: Comprehensive tools for Indonesian and Singapore Exchange listed companies.
  • Advanced Metrics: Earnings yield, historical volatility, and more.
The server is cloud-hosted on Cloudflare Workers with 40+ tools covering IDX, SGX, and KLSE data — no local installation required.

Prerequisites

Before beginning, make sure you have:
  1. A Sectors API key — requires an Insider plan.

Get your API key

Sign up for an Insider plan to get access to the Sectors API
  1. An MCP-compatible client — any of the following will work:

Quick Start Setup

Claude Desktop

Open your Claude Desktop config file:
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Add the following to your mcpServers object:
{
  "mcpServers": {
    "sectors": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://sectors-mcp.aidityasadhakim250.workers.dev/sse",
        "--header",
        "Authorization:${AUTH_TOKEN}"
      ],
      "env": {
        "AUTH_TOKEN": "Bearer YOUR_API_KEY_HERE"
      }
    }
  }
}
Replace YOUR_API_KEY_HERE with your Sectors API key, then restart Claude Desktop. The Sectors tools will appear in the tools panel.

Claude Code

Run the following command in your terminal:
claude mcp add --transport sse sectors https://sectors-mcp.aidityasadhakim250.workers.dev/sse \
  --header "Authorization: Bearer YOUR_API_KEY_HERE"
Replace YOUR_API_KEY_HERE with your Sectors API key. The server will be available in your next Claude Code session.

Cursor

Open or create ~/.cursor/mcp.json and add the following:
{
  "mcpServers": {
    "sectors": {
      "url": "https://sectors-mcp.aidityasadhakim250.workers.dev/sse",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY_HERE"
      }
    }
  }
}
Replace YOUR_API_KEY_HERE with your Sectors API key, then restart Cursor. The Sectors tools will be available in Agent mode.

VS Code (Copilot)

Create a .vscode/mcp.json file in your workspace and add the following:
{
  "servers": {
    "sectors": {
      "type": "sse",
      "url": "https://sectors-mcp.aidityasadhakim250.workers.dev/sse",
      "headers": {
        "Authorization": "Bearer ${input:sectors-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "sectors-api-key",
      "description": "Your Sectors API key",
      "password": true
    }
  ]
}
VS Code will securely prompt you for your Sectors API key the first time the server starts. This config is workspace-scoped, so you’ll need it in each project where you want Sectors data.

Generic SSE Client

If you’re using any other MCP-compatible client that supports SSE transport, connect with these settings:
SettingValue
Transportsse
URLhttps://sectors-mcp.aidityasadhakim250.workers.dev/sse
Authorization headerBearer YOUR_API_KEY_HERE

Usage Examples

Example 1: Company Overview

“Give me an overview of Bank Central Asia (BBCA)”
Tool called: fetch-company-report
{
  "ticker": "BBCA",
  "sections": "overview"
}
Sample output:
{
  "symbol": "BBCA.JK",
  "company_name": "PT Bank Central Asia Tbk.",
  "overview": {
    "sector": "Financials",
    "sub_sector": "Banks",
    "market_cap": 887857728862500,
    "market_cap_rank": 2,
    "employee_num": 27937,
    "listing_date": "2000-05-31",
    "last_close_price": 7275,
    "indices": ["LQ45", "IDX30", "KOMPAS100", "IDXHIDIV20", "..."]
  }
}

Example 2: Market Screening

“What are the top 5 banking stocks in Indonesia by market cap?”
Tool called: fetch-top-companies
{
  "sub_sector": "banks",
  "classifications": "market_cap",
  "n_stock": 5
}
Sample output:
{
  "market_cap": [
    { "symbol": "BBCA.JK", "company_name": "PT Bank Central Asia Tbk.",              "market_cap": 887857728862500 },
    { "symbol": "BBRI.JK", "company_name": "PT Bank Rakyat Indonesia (Persero) Tbk", "market_cap": 574666266378210 },
    { "symbol": "BMRI.JK", "company_name": "PT Bank Mandiri (Persero) Tbk",          "market_cap": 487409999978900 },
    { "symbol": "BBNI.JK", "company_name": "PT Bank Negara Indonesia (Persero) Tbk", "market_cap": 165790285639140 },
    { "symbol": "BNLI.JK", "company_name": "Bank Permata Tbk",                       "market_cap": 145069160996250 }
  ]
}

Example 3: Comparing Stocks

“Compare BBCA, BMRI, and BBRI — show me their PE ratio and market cap”
Tool called: get-companies-report
{
  "symbols": ["BBCA.JK", "BMRI.JK", "BBRI.JK"],
  "columns": ["company_name", "market_cap", "forward_pe", "last_close_price"]
}
Sample output:
[
  {
    "symbol": "BBCA.JK",
    "company_name": "PT Bank Central Asia Tbk.",
    "market_cap": 887857728862500,
    "forward_pe": 44.70,
    "last_close_price": 7275
  },
  {
    "symbol": "BBRI.JK",
    "company_name": "PT Bank Rakyat Indonesia (Persero) Tbk",
    "market_cap": 574666266378210,
    "forward_pe": null,
    "last_close_price": 3830
  },
  {
    "symbol": "BMRI.JK",
    "company_name": "PT Bank Mandiri (Persero) Tbk",
    "market_cap": 487409999978900,
    "forward_pe": null,
    "last_close_price": 5275
  }
]

Example 4: Dividend Analysis

“Show me BBCA’s dividend payments in 2024”
Tool called: fetch-company-report
{
  "ticker": "BBCA",
  "sections": "dividend"
}
Sample output:
{
  "symbol": "BBCA.JK",
  "dividend": {
    "historical_dividends": {
      "2024": {
        "breakdown": [
          { "date": "2024-03-25", "total": 227.5, "yield": 0.0228 },
          { "date": "2024-11-21", "total": 50.0,  "yield": 0.0050 }
        ],
        "total_dividend": 277.5,
        "total_yield": 0.0278
      }
    },
    "dividend_ttm": 305,
    "payout_ratio": 0.647
  }
}

Tools Reference

Company Analysis

ToolDescriptionKey Parameters
fetch-company-reportFull company report with selectable sections (overview, valuation, future, peers, financials, dividend, management, ownership)ticker, sections
get-companies-reportFetch specific columns for one or more companies in a single callsymbols[], columns[]
fetch-company-segmentsBusiness segment breakdown by revenue/profit for a given yearticker, financialYear
fetch-listing-performanceIPO and post-listing price performanceticker
get-companies-nipeNet Income Per Employee — productivity metric across companiessymbols[]

Market Screening & Rankings

ToolDescriptionKey Parameters
fetch-top-companiesRank companies by market cap, PE, PB, PS, dividend yield, revenue, or earnings — with optional filtersclassifications, sub_sector, n_stock, filters
fetch-top-company-moversTop price gainers and losers over 1d / 7d / 14d / 30d / 365dperiods, classifications, sub_sector, n_stock
fetch-most-traded-stocksMost traded stocks by transaction volume over a date rangestartDate, endDate, nStock, subSector
fetch-top-growth-companiesTop earnings and revenue growth gainers/losersclassifications, sub_sector, n_stock
get-top-companies-by-metricsRank IDX companies by a single metric (market cap, EPS, dividend, employee count)metric, subsector, limit

Financial Data

ToolDescriptionKey Parameters
fetch-quarterly-financialsQuarterly income statement and balance sheetticker, nQuarters, reportDate
fetch-quarterly-financial-datesList of available quarterly report dates for a companyticker
get-company-financialLatest financial snapshot — PE, PB, ROE, ROA, DAR, DERsymbol (.JK suffix)
get-company-dividendDividend payments and yield for a specific yearsymbol (.JK suffix), year
get-companies-historical-financialYearly historical financials — revenue, earnings, assets, equity, cash flow, and moresymbol (.JK suffix), fields[]

Market Indices & Daily Data

ToolDescriptionKey Parameters
fetch-indexCurrent snapshot of a market indexindex
fetch-index-dailyDaily index price history over a date rangeindex_code, start_date, end_date
fetch-idx-market-capHistorical total IDX market capitalizationstartDate, endDate
get-daily-transactionDaily close price, volume, and market cap for specific stockssymbols[], startDate, endDate
fetch-companies-by-indexList all companies in a given index (e.g. lq45, idx30, kompas100)index

Sector & Industry Classification

ToolDescriptionKey Parameters
get-subsectorsList all available subsectors with their parent sectors
fetch-industriesList all industries
fetch-subindustriesList all sub-industries
fetch-companies-by-subsectorAll companies in a given subsectorsubSector
fetch-companies-by-subindustryAll companies in a given sub-industrysubIndustry
fetch-companies-with-segmentsAll companies that have segment-level financial data available
get-subsector-reportAggregated metrics and company list for a subsectorsubsector, columns[]
fetch-ipo-companiesRecently listed IPO companies, filterable by sector and date rangestartDate, endDate, sector, subSector

Singapore (SGX) Tools

ToolDescriptionKey Parameters
fetch-sgx-sectorsList all available SGX sectors
fetch-sgx-company-reportComprehensive SGX company report — overview, valuation, financials, dividendticker
fetch-sgx-companies-by-sectorList SGX companies in a given sectorsector
fetch-sgx-top-companiesTop SGX companies by dividend yield, revenue, earnings, market cap, or PEclassifications, sector, minMarketCapMillion
get-singapore-companies-reportFetch specific columns for one or more SGX companiessymbols[], columns[]
get-singapore-company-historical-financialYearly historical revenue and earnings for an SGX companysymbol
get-singapore-daily-transactionDaily close price, volume, and market cap for SGX stockssymbols[], startDate, endDate
get-singapore-company-dividendSGX dividend breakdown and yield for a specific yearsymbol, year
get-singapore-top-companies-by-metricsRank SGX companies by a single metric (market cap, PE, PB, dividend yield, EPS, etc.)metric, subsector, limit
calculate-singapore-earnings-yieldCalculates earnings yield (1 ÷ PE) for an SGX companysymbol
calculate-singapore-historical-volatilityEstimates annualized historical volatility from price range datasymbol, useTimeframe

Troubleshooting & FAQ

Connection & Setup

The server doesn’t appear in my MCP client after setup. Restart your client completely after adding the config — most clients only load MCP servers on startup. For Claude Code, run claude mcp list in the terminal to confirm the server is registered. VS Code keeps prompting me for the API key on every session. This is expected behavior. The VS Code config uses ${input:sectors-api-key} which prompts you once per session and stores it securely in memory. It won’t persist across restarts by design. I’m on Windows and the server fails to connect in Claude Desktop. Claude Desktop on Windows runs MCP servers via stdio, which requires wrapping npx calls with cmd /c. Update your config to:
{
  "mcpServers": {
    "sectors": {
      "command": "cmd",
      "args": [
        "/c", "npx", "-y", "mcp-remote",
        "https://sectors-mcp.aidityasadhakim250.workers.dev/sse",
        "--header", "Authorization:${AUTH_TOKEN}"
      ],
      "env": {
        "AUTH_TOKEN": "Bearer YOUR_API_KEY_HERE"
      }
    }
  }
}

Authentication

I’m getting a 401 Unauthorized error. Check that:
  1. Your API key is correct and belongs to an active Insider plan account
  2. The key is formatted as Bearer YOUR_API_KEY_HERE (the Bearer prefix is required)
  3. There are no extra spaces or line breaks in the key value
My API key works on the Sectors website but not in the MCP server. The MCP server uses the same key as the Sectors API. Make sure you’re copying the key from your Sectors API settings page and not a cached or expired token.

Data & Coverage

Which markets does the Sectors MCP server cover? The server covers three Southeast Asian exchanges:
  • IDX — Indonesia Stock Exchange (primary coverage, 40+ tools)
  • SGX — Singapore Exchange (full company reports, rankings, dividends)
  • KLSE — Bursa Malaysia (basic company report and sector data)
What ticker format should I use? Most IDX tools accept the bare ticker (e.g. BBCA, TLKM). A handful of tools — specifically those that use the .JK suffix in their parameter description — require the full format (e.g. BBCA.JK). SGX tickers use their SGX code directly (e.g. D05, O39). A tool returned an empty array or no results. The most common causes:
  • Wrong subsector slug — subsector names are in kebab-case (e.g. banks, software-it-services). Use get-subsectors to get the exact list.
  • Ticker not found — double-check the symbol and whether the .JK suffix is required for that tool.
  • Date range too narrow — for daily transaction tools, ensure your date range includes trading days.
How fresh is the data? Market prices and daily transaction data are updated at end-of-day. Quarterly financials are updated as companies file their reports. Dividend data is updated when announcements are made.

Next Steps