Skip to main content
Glama

Marketstack MCP Server

by matteoantoci

get_splits_data

Retrieve stock splits data for specified ticker symbols, filtered by date range and sorted by preference. Use this tool to access detailed split information, including historical and recent splits, for up to 100 symbols per request.

Instructions

Look up information about the stock splits factor for different symbols.

Input Schema

NameRequiredDescriptionDefault
date_fromNoFilter results based on a specific timeframe by passing a from-date in `YYYY-MM-DD` format. You can also specify an exact time in ISO-8601 date format, e.g. `2020-05-21T00:00:00+0000`.
date_toNoFilter results based on a specific timeframe by passing an end-date in `YYYY-MM-DD` format. You can also specify an exact time in ISO-8601 date format, e.g. `2020-05-21T00:00:00+0000`.
limitNoSpecify a pagination limit (number of results per page) for your API request. Default limit value is `100`, maximum allowed limit value is `1000`.
offsetNoSpecify a pagination offset value for your API request. Example: An offset value of `100` combined with a limit value of 10 would show results 100-110. Default value is `0`, starting with the first available result.
sortNoBy default, results are sorted by date/time descending. Use this parameter to specify a sorting order. Available values: `DESC` (Default), `ASC`.DESC
symbolsYesSpecify one or multiple comma-separated stock symbols (tickers) for your request, e.g. `AAPL` or `AAPL,MSFT`. Each symbol consumes one API request. Maximum: 100 symbols

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "date_from": { "description": "Filter results based on a specific timeframe by passing a from-date in `YYYY-MM-DD` format. You can also specify an exact time in ISO-8601 date format, e.g. `2020-05-21T00:00:00+0000`.", "type": "string" }, "date_to": { "description": "Filter results based on a specific timeframe by passing an end-date in `YYYY-MM-DD` format. You can also specify an exact time in ISO-8601 date format, e.g. `2020-05-21T00:00:00+0000`.", "type": "string" }, "limit": { "default": 100, "description": "Specify a pagination limit (number of results per page) for your API request. Default limit value is `100`, maximum allowed limit value is `1000`.", "maximum": 1000, "minimum": 1, "type": "integer" }, "offset": { "default": 0, "description": "Specify a pagination offset value for your API request. Example: An offset value of `100` combined with a limit value of 10 would show results 100-110. Default value is `0`, starting with the first available result.", "minimum": 0, "type": "integer" }, "sort": { "default": "DESC", "description": "By default, results are sorted by date/time descending. Use this parameter to specify a sorting order. Available values: `DESC` (Default), `ASC`.", "enum": [ "DESC", "ASC" ], "type": "string" }, "symbols": { "description": "Specify one or multiple comma-separated stock symbols (tickers) for your request, e.g. `AAPL` or `AAPL,MSFT`. Each symbol consumes one API request. Maximum: 100 symbols", "type": "string" } }, "required": [ "symbols" ], "type": "object" }

Implementation Reference

  • The async handler function that processes the input parameters, constructs the API request for splits data, fetches from MarketstackClient, and returns the data or throws an error.
    const getSplitsDataHandler = async (input: Input, client: MarketstackClient): Promise<Output> => { try { const { symbols, sort, date_from, date_to, limit, offset } = input; const apiRequestParams: MarketstackApiParams = { endpoint: 'splits', symbols, ...(sort && { sort }), // Include if sort is provided ...(date_from && { date_from }), // Include if date_from is provided ...(date_to && { date_to }), // Include if date_to is provided ...(limit && { limit }), // Include if limit is provided ...(offset && { offset }), // Include if offset is provided }; const data = await client.fetchApiData(apiRequestParams); return data; } catch (error: unknown) { console.error('getSplitsData tool error:', error); const message = error instanceof Error ? error.message : 'An unknown error occurred.'; throw new Error(`getSplitsData tool failed: ${message}`); } };
  • Zod schema definition for the input parameters of the get_splits_data tool, including symbols, sort order, date filters, pagination limit, and offset.
    const getSplitsDataInputSchemaShape = { symbols: z .string() .describe( 'Specify one or multiple comma-separated stock symbols (tickers) for your request, e.g. `AAPL` or `AAPL,MSFT`. Each symbol consumes one API request. Maximum: 100 symbols' ), sort: z .enum(['DESC', 'ASC']) .optional() .default('DESC') .describe( 'By default, results are sorted by date/time descending. Use this parameter to specify a sorting order. Available values: `DESC` (Default), `ASC`.' ), date_from: z .string() .optional() .describe( 'Filter results based on a specific timeframe by passing a from-date in `YYYY-MM-DD` format. You can also specify an exact time in ISO-8601 date format, e.g. `2020-05-21T00:00:00+0000`.' ), date_to: z .string() .optional() .describe( 'Filter results based on a specific timeframe by passing an end-date in `YYYY-MM-DD` format. You can also specify an exact time in ISO-8601 date format, e.g. `2020-05-21T00:00:00+0000`.' ), limit: z .number() .int() .min(1) .max(1000) .optional() .default(100) .describe( 'Specify a pagination limit (number of results per page) for your API request. Default limit value is `100`, maximum allowed limit value is `1000`.' ), offset: z .number() .int() .min(0) .optional() .default(0) .describe( 'Specify a pagination offset value for your API request. Example: An offset value of `100` combined with a limit value of 10 would show results 100-110. Default value is `0`, starting with the first available result.' ), };
  • Registration of the get_splits_data tool on the MCP server instance, linking to its name, description, schema, and wrapped handler function.
    server.tool( getSplitsDataTool.name, getSplitsDataTool.description, getSplitsDataTool.inputSchemaShape, wrapToolHandler((input) => getSplitsDataTool.handler(input, client)) );

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/matteoantoci/mcp-marketstack'

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