dolares-por-casa-fecha
Retrieve the exchange rate of the US dollar from a specified currency house in Argentina on a chosen date (YYYY/MM/DD format).
Instructions
Devuelve la cotización del dólar de la casa de cambio especificada en la fecha indicada (en formato YYYY/MM/DD).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| casa | Yes | EJ: blue, oficial, cripto, etc. | |
| fecha | Yes | EJ: 2025/01/01 |
Implementation Reference
- main.ts:303-369 (handler)MCP tool handler implementation for 'dolares-por-casa-fecha'. Validates inputs, calls getDolaresPorCasaFecha helper, handles errors, and returns JSON response.server.tool( "dolares-por-casa-fecha", "Devuelve la cotización del dólar de la casa de cambio especificada en la fecha indicada (en formato YYYY/MM/DD).", { casa: z.string().describe("EJ: blue, oficial, cripto, etc."), fecha: z .string() .regex( /^\d{4}\/(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])$/, "El formato de la fecha debe ser YYYY/MM/DD" ) .describe("EJ: 2025/01/01"), }, async ({ casa, fecha }) => { if (!casa) { return { content: [ { type: "text", text: "No se ha provisto el parámetro 'casa'", }, ], }; } if (!fecha) { return { content: [ { type: "text", text: "No se ha provisto el parámetro 'fecha'", }, ], }; } try { const data = await getDolaresPorCasaFecha(casa, fecha); if (data.length === 0) { return { content: [ { type: "text", text: "No se encontraron cotizaciones de dólares para la casa de cambio especificada en la fecha indicada", }, ], }; } return { content: [ { type: "text", text: JSON.stringify(data, null, 2), mimeType: "application/json", }, ], }; } catch (error) { return { content: [ { type: "text", text: "Error al obtener la cotización del dólar para la casa de cambio especificada en la fecha indicada", }, ], }; } } );
- main.ts:306-315 (schema)Zod input schema with validation for 'casa' string and 'fecha' string (YYYY/MM/DD regex).{ casa: z.string().describe("EJ: blue, oficial, cripto, etc."), fecha: z .string() .regex( /^\d{4}\/(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])$/, "El formato de la fecha debe ser YYYY/MM/DD" ) .describe("EJ: 2025/01/01"), },
- utils/functions.ts:26-32 (helper)Core helper function that performs the API fetch for dollar quotes by house and date from argentinadatos.com API.export const getDolaresPorCasaFecha = async (casa: string, fecha: string) => { const dolares = await fetch( `${BASE_URL}/cotizaciones/dolares/${casa}/${fecha}` ); const data = await dolares.json(); return data; };
- main.ts:55-63 (schema)Tool schema definition in server constructor for discovery (basic zod schema without regex).{ name: "dolares-por-casa-fecha", description: "Devuelve la cotización del dólar de la casa de cambio especificada en la fecha indicada (en formato YYYY/MM/DD).", parameters: { casa: z.string().describe("EJ: blue, oficial, cripto, etc."), fecha: z.string().describe("EJ: 2025/01/01"), }, },
- main.ts:303-369 (registration)Registration of the tool via server.tool call, including schema and handler.server.tool( "dolares-por-casa-fecha", "Devuelve la cotización del dólar de la casa de cambio especificada en la fecha indicada (en formato YYYY/MM/DD).", { casa: z.string().describe("EJ: blue, oficial, cripto, etc."), fecha: z .string() .regex( /^\d{4}\/(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])$/, "El formato de la fecha debe ser YYYY/MM/DD" ) .describe("EJ: 2025/01/01"), }, async ({ casa, fecha }) => { if (!casa) { return { content: [ { type: "text", text: "No se ha provisto el parámetro 'casa'", }, ], }; } if (!fecha) { return { content: [ { type: "text", text: "No se ha provisto el parámetro 'fecha'", }, ], }; } try { const data = await getDolaresPorCasaFecha(casa, fecha); if (data.length === 0) { return { content: [ { type: "text", text: "No se encontraron cotizaciones de dólares para la casa de cambio especificada en la fecha indicada", }, ], }; } return { content: [ { type: "text", text: JSON.stringify(data, null, 2), mimeType: "application/json", }, ], }; } catch (error) { return { content: [ { type: "text", text: "Error al obtener la cotización del dólar para la casa de cambio especificada en la fecha indicada", }, ], }; } } );