Skip to main content
Glama
hareeshkar

CSE MCP Intelligence

by hareeshkar

CSE MCP Intelligence

Institutional-grade MCP server for the Colombo Stock Exchange. Features real-time market data, order flow pressure analysis, and AI-powered forensic fundamental screening.

License: MIT Node.js MCP

šŸš€ Quick Start

# Clone repository
git clone https://github.com/hareeshkar/cse-mcp-intelligence.git
cd cse-mcp-intelligence

# Install dependencies
npm install

# Build
npm run build

# Run with Claude
npm start

Related MCP server: CSE MCP Server

šŸ“‹ What is MCP?

Model Context Protocol (MCP) enables Claude and other AI models to access external data sources and APIs in real-time. Instead of relying on static training data, Claude can now fetch live market information from the CSE API.

✨ Features

  • Real-time Market Data - Current stock prices, market status, and daily summaries

  • Sector Analysis - Track performance across all market sectors with detailed metrics

  • Stock Intelligence - Company profiles, financial reports, and compliance information

  • Order Flow Analysis - Market depth, trading pressure indicators, and volume analysis

  • Historical Data - Candlestick charts and detailed trade history for technical analysis

  • Smart Caching - 30-second cache to optimize API usage and reduce latency

šŸ”§ Installation

Prerequisites

  • Node.js 18+ (download)

  • npm 9+ (comes with Node.js)

  • Claude Desktop (for integration)

Setup Steps

  1. Clone the repository:

    git clone https://github.com/hareeshkar/cse-mcp-intelligence.git
    cd cse-mcp-intelligence
  2. Install dependencies:

    npm install
  3. Build the TypeScript source:

    npm run build

āš™ļø Claude Desktop Configuration

āš™ļø Claude Desktop Configuration

macOS/Linux

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "cse": {
      "command": "node",
      "args": ["/full/path/to/cse-mcp-intelligence/build/index.js"]
    }
  }
}

Windows

Edit %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "cse": {
      "command": "node",
      "args": ["C:\\full\\path\\to\\cse-mcp-intelligence\\build\\index.js"]
    }
  }
}

āš ļø Important: Replace the path with your actual project location.

Restart Claude Desktop

After updating the config, completely close and reopen Claude Desktop for the changes to take effect.

šŸ›  Available Tools

Market Overview

scan_market

Get all stocks trading on the Colombo Stock Exchange with filtering capabilities.

Parameters:

  • maxPrice (number, optional) - Filter for penny stocks below this price in LKR

  • minVolume (number, optional) - Only show stocks with volume above threshold (filters illiquid stocks)

Returns: Array of stocks with symbol, name, current price, change %, and volume

Use Cases:

  • Penny stock hunting: scan_market { maxPrice: 50 }

  • Active stocks only: scan_market { minVolume: 100000 }

get_sectors

Performance data for all CSE market sectors.

Returns: Sector names with change %, turnover, market capitalization

Use Cases:

  • Sector rotation analysis

  • Finding the strongest/weakest sectors

  • Portfolio diversification checks

get_market_status

Real-time market status - check if trading is active.

Returns: Open/Closed status, current timestamp, trading hours

get_market_summary

Comprehensive daily market overview with macro indicators.

Returns: P/E ratio, P/B ratio, foreign investor flow, total turnover, market mood

Stock Performance

get_top_gainers

Stocks with highest percentage gains today.

Parameters:

  • limit (number, optional, default: 10) - How many top performers to show

Returns: Top performers with price action and volume data

get_top_losers

Stocks with highest percentage losses today.

Parameters:

  • limit (number, optional, default: 10) - How many bottom performers to show

Returns: Oversold stocks useful for contrarian or risk assessment

Stock Analysis

get_stock_detail

Complete detailed information about a specific stock.

Parameters:

  • symbol (required) - Stock symbol (e.g., "SLTL", "ASPI", "LAUGF")

Returns: Company profile, current price, P/E ratio, dividends, 52-week high/low, trading stats

Use Cases:

  • Fundamental analysis

  • Company profile research

  • Valuation metrics

get_stock_trades

Recent trade history for order flow analysis.

Parameters:

  • symbol (required) - Stock symbol

  • limit (optional, default: 20) - Number of recent trades

Returns: Timestamps, executed prices, volumes, trade direction (buy/sell)

Use Cases:

  • Order flow forensics

  • Volume profile analysis

  • Institutional buying/selling detection

get_order_book

Live market depth with order flow pressure analysis.

Parameters:

  • symbol (required) - Stock symbol

Returns:

  • Bid/ask levels with volumes

  • Pressure index (-1 = extreme bearish, +1 = extreme bullish)

  • Bid-ask spread percentage

  • Market depth profile

Use Cases:

  • Pre-trade liquidity analysis

  • Support/resistance levels

  • Institutional accumulation/distribution detection

Technical Analysis

get_candlesticks

OHLC (Open, High, Low, Close) data for technical analysis.

Parameters:

  • symbol (required) - Stock symbol

  • period (optional, default: "1d") - Time period ("1d", "1w", "1m")

Returns: Candlestick data with open, high, low, close prices and volume

Use Cases:

  • Technical pattern recognition

  • Trend analysis

  • Support/resistance identification

  • Volume profile

šŸ’” Real-World Usage Examples

Penny Stock Screening

Query: "Find all penny stocks under Rs. 50 with high trading volume"
Tool: scan_market { maxPrice: 50, minVolume: 500000 }
→ Get list of actively traded penny stocks for swing trading

Sector Rotation Strategy

Query: "Which sectors are outperforming today? Show me the leaders."
Tool: get_sectors
→ Identify hot sectors and potential rotation candidates

Pre-Trade Liquidity Check

Query: "Can I buy 10,000 shares of SLTL without moving the price too much?"
Tool: get_order_book { symbol: "SLTL" }
→ Check bid-ask spread, depth, and available liquidity

Order Flow Forensics

Query: "Show me the last 50 trades on ASPI - is it institutional buying or selling?"
Tool: get_stock_trades { symbol: "ASPI", limit: 50 }
→ Analyze trade timing and sizes to identify smart money activity

Technical Setup Confirmation

Query: "Show SLTL candlesticks and confirm the resistance breakout"
Tool: get_candlesticks { symbol: "SLTL", period: "1d" }
→ Get OHLC data for pattern recognition and trend analysis

Market Stress Test

Query: "What percentage of stocks are down today? Any panic selling?"
Tool: get_top_losers { limit: 20 }
→ Identify oversold conditions and panic-driven opportunities

šŸ—ļø Technical Architecture

Core Components

1. CSE API Client (src/cse-client.ts)

  • Purpose: Direct wrapper around the Colombo Stock Exchange REST API

  • Features:

    • Smart caching (30-second TTL) to reduce API load and improve responsiveness

    • Symbol mapping (Display Name ↔ API Symbol translation)

    • CDN URL fixing for company reports and documents

    • Error resilience with graceful fallbacks

    • Automatic retry logic with exponential backoff

  • Key Methods:

    • getAllStocks() - Market scan

    • getStockDetail(symbol) - Detailed fundamental data

    • getOrderBook(symbol) - Real-time market depth

    • getTradeHistory(symbol, limit) - Order flow analysis

    • getCandlesticks(symbol, period) - Technical data

2. Tool Definitions & Handlers (src/tools.ts)

  • Purpose: Define all MCP tools available to Claude with proper schemas

  • Includes:

    • Tool name, description, parameter schema

    • Input validation using JSON Schema

    • Type definitions for type safety

  • 8+ Tools:

    • scan_market - Market scanning with filters

    • get_sectors - Sector performance

    • get_market_status - Trading status

    • get_market_summary - Macro indicators

    • get_top_gainers / get_top_losers - Performance leaders/laggards

    • get_stock_detail - Fundamental analysis

    • get_stock_trades - Trade history/order flow

    • get_order_book - Market depth

    • get_candlesticks - Technical analysis

3. MCP Server (src/index.ts)

  • Purpose: Entry point that bridges CSE API and Claude

  • Responsibilities:

    • Listens to Claude's tool requests via stdio

    • Routes requests to appropriate CSE client methods

    • Handles request/response serialization

    • Error handling and user-friendly error messages

    • Request parameter validation

Data Flow

Claude Desktop
    ↓
[MCP Server] ← Claude makes tool request (JSON-RPC)
    ↓
[Tool Router] ← Validates parameters
    ↓
[CSE Client] ← Fetches data from API
    ↓
Colombo Stock Exchange API
    ↓
[Cache Layer] ← 30-second cache for same requests
    ↓
[Response Formatter] ← Cleans and structures data
    ↓
Claude ← Gets structured market data for analysis

Caching Strategy

The system implements smart caching to optimize performance:

  • TTL: 30 seconds (market data doesn't change faster)

  • Cache Key: Tool name + parameters hash

  • Benefits:

    • Reduces API calls during multi-tool analysis

    • Faster Claude response times

    • Respects CSE rate limits

    • Can handle 1,000+ requests/minute internally

Error Handling & Fallbacks

  • API Timeouts → Cached data (if available) or graceful error

  • Invalid Symbol → Fuzzy matching suggestions

  • Market Closed → Return last known data with status

  • Network Errors → Retry up to 3 times with exponential backoff

  • Rate Limiting → Queue and delay requests intelligently

CSE API Integration Points

The server connects to these CSE API endpoints:

  • /v1/stocks - All stocks with live prices

  • /v1/stocks/{id} - Stock detail & fundamentals

  • /v1/stocks/{id}/orderbook - Market depth

  • /v1/stocks/{id}/trades - Trade history

  • /v1/sectors - Sector performance

  • /v1/market - Overall market status

šŸ“ Scripts

npm run build    # Compile TypeScript to JavaScript
npm start        # Run the MCP server
npm run dev      # Run in development mode with hot reload

šŸ› Troubleshooting

Claude doesn't recognize the server

  • Verify the path in claude_desktop_config.json is correct and absolute

  • Make sure you've run npm run build

  • Restart Claude Desktop completely (not just minimize)

API Connection Issues

  • Check that you have internet connectivity

  • Verify the CSE API is accessible: curl https://api.cse.lk/api/v1/market

  • Check rate limiting if getting 429 errors

Build Errors

  • Delete build/ and node_modules/ folders

  • Run npm install and npm run build again

  • Ensure Node.js 18+ is installed

šŸ“– Documentation

šŸ¤ Contributing

This project is open to contributions! Areas for enhancement:

  • Additional technical indicators

  • Portfolio tracking features

  • Alert systems

  • WebSocket support for real-time updates

šŸ“„ License

MIT License - See LICENSE file for details

šŸ‘¤ Author

Hareesh Karravi - @hareeshkar


Questions? Open an issue on GitHub or check the documentation files.

  1. get_market_summary - Daily market overview

    • Returns: P/E ratio, P/B ratio, foreign flow, total turnover

Stock-Specific Data

  1. get_stock_snapshot - Real-time price data

    • Input: Stock symbol

    • Returns: Open, high, low, last price, volume, change %

  2. get_top_gainers - Top performing stocks

    • Optional: Limit (default 10)

    • Returns: Symbol, price, % change

  3. get_order_book - Market depth for a stock

    • Input: Stock symbol

    • Returns: Bids/asks, volumes, market pressure

  4. get_chart_data - Historical OHLCV data

    • Input: Symbol, period (1=Intraday, 2=Weekly, 3=Monthly, 5=Daily)

    • Returns: Open, high, low, close, volume with dates

Deep Research

  1. get_detailed_trades - Tick-by-tick trade data

    • Optional: Filter by symbol

    • Returns: Price, volume, time, buyer/seller

  2. get_company_profile - Company information

    • Input: Stock symbol

    • Returns: Directors, secretaries, registrars, company details

  3. get_financial_reports - Company reports

    • Input: Stock symbol

    • Returns: Links to quarterly and annual reports (PDFs)

  4. get_noncompliance_list - At-risk companies

    • Returns: Companies on watch list or under enforcement action

    • āš ļø Use for due diligence - avoid investing in these companies

Usage Examples

In Claude Desktop

Ask questions naturally:

"What are the top 5 gainers on CSE today?"
"Show me the current price and order book for JKH.N0000"
"Which stocks are trading under 10 LKR?"
"Get the financial reports for DIALOG.N0000"
"What's the market P/E ratio and which sectors are performing best?"
"List all companies currently on the non-compliance watch list"

Development

Local Testing

Run the development server:

npm run dev

Build for Production

npm run build
npm start

Project Structure

cse-mcp-server/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts          # MCP server entry point
│   ā”œā”€ā”€ cse-client.ts     # CSE API wrapper (12 atomic tools)
│   └── tools.ts          # Tool definitions for Claude
ā”œā”€ā”€ build/                # Compiled JavaScript (auto-generated)
ā”œā”€ā”€ package.json          # Dependencies and scripts
ā”œā”€ā”€ tsconfig.json         # TypeScript configuration
ā”œā”€ā”€ .env.example          # Environment template
└── README.md             # This file

API Details

Base URL

https://www.cse.lk/api

Features

  • Error Handling: Graceful fallback when API unavailable

  • Caching: 30-second TTL reduces API calls

  • Symbol Resolution: Auto-builds symbol-to-ID mapping

  • Data Sanitization: Removes commas from prices, handles null values

Rate Limiting

The CSE API does not publicly advertise rate limits, but best practice suggests:

  • Keep API calls under 10 requests per second

  • Use caching to minimize redundant requests

Troubleshooting

Server won't start

# Check Node.js version
node --version  # Should be v18+

# Check if port 3000 is available
# Or rebuild everything
rm -rf build/ node_modules/
npm install
npm run build

Claude can't find the tools

  1. Check the file path in claude_desktop_config.json is correct

  2. Ensure the build directory exists: npm run build

  3. Restart Claude Desktop completely

  4. Check Claude's error console for details

API returns empty data

  • CSE market may be closed (closed outside market hours)

  • Symbol may be incorrect (check exact symbol format)

  • Try scan_market to get list of valid symbols

Performance issues

  • Data is cached for 30 seconds - avoid rapid repeated calls

  • The CSE API may have rate limits we're not aware of

  • Try spreading requests over time

Disclaimer

This tool provides educational access to public CSE data. Always conduct your own due diligence before making investment decisions. The authors are not responsible for any financial losses.

License

MIT

Author

Created for CSE market research and analysis

Support

For issues, feature requests, or improvements:

  1. Check that you're running the latest version

  2. Review the troubleshooting section

  3. Ensure Node.js and npm are up to date

Roadmap (Future Phases)

  • Phase 2: Historical data analysis, sector comparison

  • Phase 3: Portfolio tracking, alerts on price changes

  • Phase 4: Technical indicators, moving averages

  • Phase 5: Machine learning predictions

Available Tools

13 tools
get_chart_dataA

Get historical OHLCV (candlestick) data for charting.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoTime period: 1=Intraday, 2=Weekly, 3=Monthly, 5=Daily5
symbolYesStock symbol

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic retrieval operation and offers no information about safety, permissions, rate limits, or any side effects. For a read-only tool, this lack of context leaves the agent without crucial behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that clearly states the action and object. It avoids any unnecessary words and is immediately understandable, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with only two parameters, but there is no output schema. The description does not specify the return format, the number of data points, or any defaults beyond what the schema enumerates. Given the lack of annotations, the agent may be uncertain about the exact output structure and limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides full descriptions for both parameters (symbol and period), achieving 100% coverage. The tool description itself adds no additional parameter guidance beyond what the schema already includes, so it provides no extra value over the structured data.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and clearly identifies the resource as 'historical OHLCV (candlestick) data for charting.' This distinguishes it from sibling tools like get_stock_snapshot or get_order_book, which serve different data needs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for charting by stating 'for charting,' but it does not explicitly state when to use this tool instead of alternatives such as get_stock_snapshot or get_detailed_trades. No exclusions or conditions are mentioned, making the usage context implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_company_profileB

Get company information: directors, secretaries, registrars.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock symbol

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only lists the returned information, but does not explicitly state that it is a read-only operation, nor does it mention error handling, authentication, rate limits, or any other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the essential information with no unnecessary words. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one required parameter, no output schema) and the description adequately states what information is returned. It lacks some usage context and behavioral detail, but those are covered by other dimensions; for a simple getter, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully describes the only parameter ('symbol' as 'Stock symbol'), achieving 100% schema description coverage. The description does not add any additional meaning or constraints beyond what is already in the schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the resource ('company information'), and specifies the content (directors, secretaries, registrars), which distinguishes it from sibling tools focused on market data, charts, and financial reports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like get_stock_snapshot or get_financial_reports. It does not state any exclusions, prerequisites, or specific use cases beyond the general purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_detailed_tradesA

Get tick-by-tick trade data. Shows every individual transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoOptional: Stock symbol to filter trades

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It mentions granularity (tick-by-tick) and scope (every individual transaction), but omits important behaviors like data freshness, result size, pagination, historical depth, or real-time characteristics. This is insufficient given zero annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, front-loaded with the primary verb and resource, and every word adds value. It avoids repetition and is appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter, no output schema), the description covers core purpose and data granularity, but leaves gaps around time range, data source, and returned fields. It is slightly above minimal but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'symbol' has a descriptive schema entry ('Optionally filter trades by stock symbol'), achieving 100% coverage. The tool description adds no additional meaning about the parameter, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Get') and resource ('tick-by-tick trade data'), and clarifies it shows every individual transaction. This distinguishes it from sibling tools like get_order_book or get_chart_data, which cover orders or aggregated data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the phrase 'tick-by-tick' and 'every individual transaction,' suggesting it should be used when granular trade-level data is needed rather than summaries. However, no explicit alternatives, prerequisites, or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_financial_reportsB

Get links to quarterly and annual financial reports (PDFs).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock symbol

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the output (links to PDFs) but does not disclose whether the operation is read-only, any rate limits, or other behavioral constraints. This is minimal transparency for a tool without annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that immediately conveys the core function. Every word earns its place, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the essential purpose and output type. It is largely complete, though it could be slightly richer on usage context or expected return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents the 'symbol' parameter with 100% coverage, so the baseline of 3 applies. The description adds no additional meaning or context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' and clearly identifies the resource as 'links to quarterly and annual financial reports (PDFs)'. This distinguishes it from sibling tools like get_stock_snapshot or get_company_profile, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. No contextual cues or exclusions are given, leaving the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_statusA

Check if market is currently open or closed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior, but it only states the tool checks open/closed status. It does not specify the return format (e.g., boolean vs string), timezone, or limitations (e.g., pre-market/after-hours), leaving important behavioral details unaddressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action and contains zero filler. It is appropriately sized for a tool with no parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and the description hints at the core outcome, but with no output schema, it could be more explicit about the exact return structure (e.g., boolean vs text) and which market is referenced. Edge cases like holidays or after-hours are not addressed, so it is not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description does not need to explain any parameter semantics. The baseline of 4 is appropriate because there is no parameter-dimensional complexity to clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Check' and clearly identifies the resource 'market status' with the outcome 'open or closed.' This distinguishes it from sibling tools like get_market_summary and get_sectors, which focus on broader or different data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as get_market_summary or scan_market. There are no mentioned contexts, prerequisites, or exclusions, leaving the agent without explicit decision criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_summaryA

Get daily market overview including P/E ratio, P/B ratio, foreign flow, turnover.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It indicates the tool retrieves daily market data and lists included fields, which is useful. However, it does not describe permissions, return format, or any edge-case behavior. The scope is partially clear ('daily') but lacks specificity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the main action ('Get daily market overview') and then lists the specific metrics. Every word earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description adequately conveys the scope and content. However, it does not specify which day's data (e.g., today vs previous trading day) or the format of the response, leaving slight ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty schema. The description confirms the tool's purpose without needing to explain parameters. Per rubric, zero parameters receives a baseline of 4, which is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb 'Get' and resource 'market summary', listing specific metrics (P/E ratio, P/B ratio, foreign flow, turnover). It clearly states what the tool does, though it does not explicitly differentiate it from sibling tools like get_market_status or scan_market.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving a daily market overview, but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The context is clear but lacks explicit 'when not to use'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_noncompliance_listA

Get list of companies on watch list or facing enforcement action. AVOID THESE!

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the transparency burden. It discloses that the tool returns a list of noncompliant companies and adds a warning, but it does not describe return format, update frequency, or safety profile. For a simple list operation, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at two short sentences. It front-loads the core function and the 'AVOID THESE!' warning adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless list tool with no output schema, the description gives sufficient context about what the list contains. It could mention return field details, but given the simplicity, it is complete enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter ambiguity. The description does not need to explain parameters, and the baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Get list of companies on watch list or facing enforcement action.' It distinguishes itself from sibling market data tools by focusing on noncompliance risk. The appended 'AVOID THESE!' reinforces the purpose and context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for identifying companies to avoid via 'AVOID THESE!', but it does not explicitly state when to use this tool versus alternatives or provide exclusions. The usage context is clear but no direct alternative guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_order_bookA

Get market depth (bids vs asks) with alpha metrics: pressure index (-1=bearish to +1=bullish) and spread percentage. Shows buy/sell pressure and liquidity.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock symbol (e.g., JKH.N0000)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It adds behavioral context by explaining the pressure index range (-1 to +1) and spread percentage, which tells the agent what to expect in the output. However, it does not disclose potential limitations like data freshness, depth levels, or error behavior, leaving some transparency gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two focused sentences, front-loaded with the core function and enriched with metric definitions. There is no redundant wording or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description adequately covers the return content and key metrics. It lacks details about output structure or depth levels, but for the agent's purposes, it provides sufficient context to select and interpret the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the 'symbol' parameter with an example (JKH.N0000), and the description does not add additional parameter semantics. Since schema coverage is 100%, the baseline of 3 applies; the description adds no extra parameter-specific value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns market depth (bids vs asks) and specifies unique alpha metrics (pressure index, spread percentage) that distinguish it from sibling market data tools like get_stock_snapshot or get_market_summary. The verb 'Get' plus resource 'market depth' is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for analyzing buy/sell pressure and liquidity, giving clear context for when to use it. However, it does not explicitly name alternatives or state when not to use it, so it stops short of full usage guidance. The mention of alpha metrics indicates a trading-analysis use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sectorsA

Get performance data for all market sectors including change % and turnover.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the output fields and scope, but does not disclose any behavioral aspects such as data freshness, read-only nature, or potential limitations. This is minimal beyond the obvious purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence of 13 words that immediately states the action and scope without any fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only data retrieval tool, the description adequately explains what is returned (sector performance data with change % and turnover). No output schema exists, but the description sufficiently sets expectations for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool accepts no parameters, so there is no parameter semantics to clarify. The baseline of 4 for zero-parameter tools is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves performance data for all market sectors, specifying fields (change %, turnover). This distinguishes it from sibling tools like get_market_summary or get_top_gainers which focus on overall market or individual stocks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when sector-level performance data is needed, but provides no explicit guidance on when to prefer this over alternatives. No exclusions or comparisons are mentioned, so usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_stock_snapshotA

Get real-time data for a stock: open, high, low, last price, volume.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock symbol (e.g., DIAL.N0000)

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions 'real-time data' and the fields returned, but it does not disclose behaviors such as data delays, error handling for invalid symbols, rate limits, or whether the data is from a live feed or cached. For a read-only tool with no annotations, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, clearly front-loaded with the verb and resource, and lists the specific data points concisely. Every word adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one parameter, no nested objects) and full schema coverage, the description is reasonably complete. It lists the return fields even without an output schema. However, it omits context like currency or exchange nuances, but for a snapshot tool this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage for the single parameter 'symbol' with its description and example format. The tool description adds no additional parameter semantics beyond the schema, so the baseline of 3 applies per the guidelines.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: 'Get real-time data for a stock' and enumerates specific fields (open, high, low, last price, volume). This distinguishes it from sibling tools like get_chart_data or get_order_book, which focus on different data types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for obtaining a current snapshot of a single stock, but it does not explicitly state when to use it over alternatives like get_chart_data for historical data or get_market_summary for broader market context. No exclusions or alternative guidance is provided, but the purpose is clear enough that an agent can infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_top_gainersA

Get list of top performing stocks (highest % increase).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of stocks to return (default: 10)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It clearly implies a read-only operation and even indicates a sorting behavior (by highest % increase). However, it doesn't disclose other potentially relevant traits like whether the data is real-time, whether it reflects intraday or end-of-day, or what fields each stock entry contains. For a simple read-only tool this is acceptable but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that states exactly what the tool returns and the criterion for 'top'. No wasted words, and it is appropriately front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and no output schema, the description is adequate. It states the purpose and the ranking criterion. However, it doesn't specify the structure of the returned items (e.g., whether it includes price, change amount, etc.), which could be considered a minor gap. Given the tool's simplicity, this is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of the parameter documentation: the 'limit' parameter is fully described with a default value. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('list of top performing stocks') with a clear qualifier ('highest % increase'). This unambiguously distinguishes it from the sibling tool 'get_top_losers' and other market-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the context clear: use this tool when you need top-performing stocks ranked by percentage increase. While it doesn't explicitly mention alternatives, the function is so narrowly scoped that an agent can easily infer when it applies compared to siblings like 'get_market_summary' or 'scan_market'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_top_losersA

Get list of worst performing stocks (highest % decrease). Useful for identifying oversold opportunities or risk screening.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of stocks to return (default: 10)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It states the tool returns a list sorted by percentage decrease, but does not specify the time period (e.g., daily, intraday), data freshness, or other behavioral nuances. Adequate for a simple tool but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: first states the core purpose, second gives practical use cases. No redundant information, front-loaded with the main function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, output type, and typical use cases, which is sufficient for a simple tool with one optional parameter. However, it omits the timeframe for 'worst performing' (e.g., daily), which could be important for selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, 'limit', is fully documented in the schema with a default and description. The tool description adds no additional parameter context, which is acceptable given 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('Get list of worst performing stocks') and clarifies the metric (highest % decrease). It clearly distinguishes from the sibling tool get_top_gainers by focusing on losers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear use cases ('identifying oversold opportunities or risk screening') but does not explicitly mention alternatives or when not to use this tool. It offers context but lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_marketA

Get list of all stocks trading on CSE with current prices. Can filter by max price for penny stock scanning and minimum volume to exclude dead/illiquid stocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxPriceNoOptional: Only return stocks priced below this value (in LKR)
minVolumeNoOptional: Only return stocks with volume above this threshold (filters dead stocks)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for disclosing behavior. It accurately describes a read-only operation returning a list with current prices and optional filtering, and there are no hidden side effects. It does not detail the exact response structure or potential limitations, but for a simple list tool this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the main purpose immediately, followed by a second clause about filters. Every word earns its place, with no redundancy or irrelevant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (2 optional params, no output schema), the description covers all essential aspects: what it returns, the exchange filtered, and the optional filters with their intended use. It is complete for a straightforward market scanner.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptive coverage for both parameters (100%), so the baseline is 3. The description adds valuable context by linking maxPrice to 'penny stock scanning' and minVolume to 'exclude dead/illiquid stocks', enriching the semantics beyond mere schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get list'), resource ('all stocks trading on CSE'), and provides scope ('current prices'). This is specific and distinguishes it from sibling tools that focus on specific subsets like top gainers, order books, or sector summaries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear use-case context for its filters ('penny stock scanning', 'exclude dead/illiquid stocks'), implying when to use the tool. However, it does not explicitly name alternative tools or state when not to use it, leaving some room for ambiguity in tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 13 tool updatesv1.0.0
    • First observedget_chart_data
    • First observedget_company_profile
    • First observedget_detailed_trades
    • First observedget_financial_reports
    • First observedget_market_status
    • First observedget_market_summary
    • First observedget_noncompliance_list
    • First observedget_order_book
    • First observedget_sectors
    • First observedget_stock_snapshot
    • First observedget_top_gainers
    • First observedget_top_losers
    • First observedscan_market

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct data resource: market-wide scans, sector performance, status, summary, gainers/losers, depth, snapshots, historical data, trades, company profiles, and compliance lists. The descriptions clearly differentiate between similar concepts like order book vs. trades or real-time vs. historical data, leaving no ambiguity.

Naming Consistency4/5

All but one tool follow a consistent 'get_' prefix (e.g., get_sectors, get_order_book). The single outlier, 'scan_market', uses a different verb, breaking the pattern slightly. Overall the style is predictable and readable, with only a minor deviation.

Tool Count5/5

With 13 tools, the set is well-scoped for a market data server. Each tool covers a distinct aspect—market overview, stock data, depth, trades, and fundamentals—without feeling bloated or sparse.

Completeness4/5

The tool surface is comprehensive for most market data needs: it includes scanning, by-security data, market-wide metrics, trading details, and company info. A notable gap is the absence of index performance data (e.g., ASPI, S&P SL20) and possibly market news, but core workflows are well covered.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    C
    maintenance
    A production-grade MCP server for FIX protocol trading operations that enables order management, session repair, and algorithmic execution. It provides specialized tools for monitoring session health, managing ticker reference data, and executing complex trading scenarios.
    22
    -
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server for the Colombo Stock Exchange that enables users to search listed companies, fetch stock quotes, and retrieve real-time market snapshots. It provides a structured interface for AI tools to access CSE data, including top gainers, losers, and index summaries.
    7
    65
    3
    ISC
  • A
    license
    A
    quality
    C
    maintenance
    Comprehensive MCP server for real-time stock, cryptocurrency, options, and fundamental analysis, including SEC filings and insider trading data.
    26
    28
    MIT

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/hareeshkar/cse-mcp-intelligence'

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