list_bonds_countries
Retrieve a list of supported countries for bond data with pagination options. Access financial market information via the Marketstack MCP Server.
Instructions
List all supported countries for bond data.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 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 | No | 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. |
Implementation Reference
- The handler function that implements the core logic of the 'list_bonds_countries' tool, making an API call to the Marketstack 'bonds' endpoint with pagination parameters.const listBondsCountriesHandler = async (input: Input, client: MarketstackClient): Promise<Output> => { try { const { limit, offset } = input; // Assuming the endpoint for listing bond countries is 'bonds' or 'bondslist' // The documentation is slightly ambiguous, using 'bond' for details // and showing a listing response structure without a clear endpoint path. // We'll try 'bonds' first based on the 'bond' example. const endpoint = 'bonds'; const apiRequestParams: MarketstackApiParams = { endpoint, ...(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('listBondsCountries tool error:', error); const message = error instanceof Error ? error.message : 'An unknown error occurred.'; throw new Error(`listBondsCountries tool failed: ${message}`); } };
- Zod input schema definition for the 'list_bonds_countries' tool, defining optional limit and offset parameters with validation and descriptions.const listBondsCountriesInputSchemaShape = { 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.' ), };
- src/tools/financialInstruments/index.ts:34-39 (registration)Registration of the 'list_bonds_countries' tool on the MCP server using server.tool() with wrapped handler.server.tool( listBondsCountriesTool.name, listBondsCountriesTool.description, listBondsCountriesTool.inputSchemaShape, wrapToolHandler((input) => listBondsCountriesTool.handler(input, client)) );