Stock Short Selling & Short Interest Data

Short selling data: net short positions, short sellers and short interest for EU and US stocks.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
88%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~620Tokens (tool definitions)
~514 BTypical response size
Minimal attention impact (0.48% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "shortselling-vanilla": {
      "url": "https://shortsell.net/mcp"
    }
  }
}

Remote endpoints

https://shortsell.net/mcpstreamable-http
https://www.leerverkauf.de/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_companies(query)

Find companies with published short positions by name, ticker symbol or ISIN. Returns up to 5 matches (name, symbol or isin, totalShortPct, website url). Pass the returned symbol or isin to get_company_short_positions.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Company name (case-insensitive), ticker symbol, or 12-character ISIN"
    }
  },
  "required": [
    "query"
  ]
}
🟢get_top_short_positions(region)

Companies with the currently largest cumulative net short positions (home page top lists): EU = European registers, US = FINRA short interest.

Input Schema

{
  "type": "object",
  "properties": {
    "region": {
      "type": "string",
      "enum": [
        "EU",
        "US"
      ]
    }
  },
  "required": [
    "region"
  ]
}
🟢get_trending_short_positions(timeFrame, direction, region)

Companies whose total net short position moved the most over 7 or 28 days (home page trend lists), direction = increase or decrease.

Input Schema

{
  "type": "object",
  "properties": {
    "timeFrame": {
      "type": "string",
      "enum": [
        "7D",
        "28D"
      ]
    },
    "direction": {
      "type": "string",
      "enum": [
        "increase",
        "decrease"
      ],
      "description": "Direction of the total short position change"
    },
    "region": {
      "type": "string",
      "enum": [
        "EU",
        "US"
      ]
    }
  },
  "required": [
    "timeFrame",
    "direction",
    "region"
  ]
}
🟢get_recently_updated_positions(limit)

Most recently published short position changes (feed page): positionPctChange > 0 means the position was increased, < 0 reduced.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Max number of entries (default: all)"
    }
  }
}
🟢get_company_short_positions(symbol, isin)

All published short positions of one company: current positions per holder, historic positions and the statistics timeseries (totalShortPct + holderCount over time). Pass symbol OR isin.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "US ticker symbol (case-insensitive)"
    },
    "isin": {
      "type": "string",
      "description": "12-character ISIN (EU companies)"
    }
  }
}
🟢get_shortseller_positions(name)

All current short positions of one short seller (shortseller page), largest position first.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Short seller / holder name (case-insensitive, e.g. from currentPositions)"
    }
  },
  "required": [
    "name"
  ]
}
🟢get_company_price_history(symbol, isin, limit)

Daily closing prices (adjusted) of one company, newest first (company page chart). Pass symbol OR isin.

Input Schema

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string"
    },
    "isin": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 400,
      "default": 90
    }
  }
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded7 tools