Skip to main content
Glama

macro_econ

Access and analyze macroeconomic data such as GDP, CPI, PPI, Shibor, LPR, and more. Retrieve specific indicators within defined date ranges to support financial decision-making and research.

Instructions

获取宏观经济数据,包括Shibor利率、LPR利率、GDP、CPI、PPI、货币供应量、PMI、社融数据、Shibor报价、Libor、Hibor等

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
end_dateYes结束日期,格式为YYYYMMDD,如'20230131'
indicatorYes指标类型,可选值:shibor(上海银行间同业拆放利率)、lpr(贷款市场报价利率)、gdp(国内生产总值)、cpi(居民消费价格指数)、ppi(工业生产者出厂价格指数)、cn_m(货币供应量)、cn_pmi(采购经理指数)、cn_sf(社会融资规模)、shibor_quote(Shibor银行报价数据)、libor(伦敦银行间同业拆借利率)、hibor(香港银行间同业拆借利率)
start_dateYes起始日期,格式为YYYYMMDD,如'20230101'

Implementation Reference

  • The primary handler for the 'macro_econ' tool. Defines the tool object including name, description, input schema, and the async run() method that handles API calls to Tushare for various macroeconomic indicators like Shibor, LPR, GDP, CPI, etc., processes and formats the data.
    export const macroEcon = { name: "macro_econ", description: "获取宏观经济数据,包括Shibor利率、LPR利率、GDP、CPI、PPI、货币供应量、PMI、社融数据、Shibor报价、Libor、Hibor等", parameters: { type: "object", properties: { indicator: { type: "string", description: "指标类型,可选值:shibor(上海银行间同业拆放利率)、lpr(贷款市场报价利率)、gdp(国内生产总值)、cpi(居民消费价格指数)、ppi(工业生产者出厂价格指数)、cn_m(货币供应量)、cn_pmi(采购经理指数)、cn_sf(社会融资规模)、shibor_quote(Shibor银行报价数据)、libor(伦敦银行间同业拆借利率)、hibor(香港银行间同业拆借利率)" }, start_date: { type: "string", description: "起始日期,格式为YYYYMMDD,如'20230101'" }, end_date: { type: "string", description: "结束日期,格式为YYYYMMDD,如'20230131'" } }, required: ["indicator", "start_date", "end_date"] }, async run(args) { try { console.log(`使用Tushare API获取${args.indicator}宏观经济数据`); // 使用全局配置中的Tushare API设置 const TUSHARE_API_KEY = TUSHARE_CONFIG.API_TOKEN; const TUSHARE_API_URL = TUSHARE_CONFIG.API_URL; // 验证指标类型 const validIndicators = ['shibor', 'lpr', 'gdp', 'cpi', 'ppi', 'cn_m', 'cn_pmi', 'cn_sf', 'shibor_quote', 'libor', 'hibor']; if (!validIndicators.includes(args.indicator)) { throw new Error(`不支持的指标类型: ${args.indicator}。支持的类型有: ${validIndicators.join(', ')}`); } // 根据指标类型设置不同的默认时间范围 const today = new Date(); const defaultEndDate = today.toISOString().slice(0, 10).replace(/-/g, ''); let defaultStartDate = ''; // 日期格式数据:默认30天 const dailyIndicators = ['shibor', 'lpr', 'shibor_quote', 'libor', 'hibor']; // 月份格式数据:默认12个月 const monthlyIndicators = ['cpi', 'ppi', 'cn_m', 'cn_pmi', 'cn_sf']; // 季度格式数据:默认8个季度 const quarterlyIndicators = ['gdp']; if (dailyIndicators.includes(args.indicator)) { // 30天前 const thirtyDaysAgo = new Date(); thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30); defaultStartDate = thirtyDaysAgo.toISOString().slice(0, 10).replace(/-/g, ''); } else if (monthlyIndicators.includes(args.indicator)) { // 12个月前 const twelveMonthsAgo = new Date(); twelveMonthsAgo.setMonth(twelveMonthsAgo.getMonth() - 12); defaultStartDate = twelveMonthsAgo.toISOString().slice(0, 10).replace(/-/g, ''); } else if (quarterlyIndicators.includes(args.indicator)) { // 8个季度前(约24个月) const eightQuartersAgo = new Date(); eightQuartersAgo.setMonth(eightQuartersAgo.getMonth() - 24); defaultStartDate = eightQuartersAgo.toISOString().slice(0, 10).replace(/-/g, ''); } else { // 其他情况默认3个月 const threeMonthsAgo = new Date(); threeMonthsAgo.setMonth(threeMonthsAgo.getMonth() - 3); defaultStartDate = threeMonthsAgo.toISOString().slice(0, 10).replace(/-/g, ''); } // 构建请求参数 const params = { token: TUSHARE_API_KEY, params: {}, // 这里留空,后面根据不同的API添加特定参数 fields: "" }; // 根据不同指标类型设置不同的API名称、参数和字段 switch (args.indicator) { case 'shibor': params.api_name = "shibor"; params.fields = "date,on,1w,2w,1m,3m,6m,9m,1y"; // shibor接口使用date作为日期参数 params.params = { start_date: args.start_date || defaultStartDate, end_date: args.end_date || defaultEndDate }; break; case 'lpr': params.api_name = "lpr_data"; params.fields = "date,1y,5y"; // lpr_data接口使用start_date和end_date作为参数 params.params = { start_date: args.start_date || defaultStartDate, end_date: args.end_date || defaultEndDate }; break; case 'gdp': params.api_name = "cn_gdp"; params.fields = "quarter,gdp,gdp_yoy,pi,pi_yoy,si,si_yoy,ti,ti_yoy"; // GDP数据使用季度格式,需要转换日期格式为季度格式 const startYearQuarter = dateToQuarter(args.start_date || defaultStartDate); const endYearQuarter = dateToQuarter(args.end_date || defaultEndDate); params.params = { start_q: startYearQuarter, end_q: endYearQuarter }; break; case 'cpi': params.api_name = "cn_cpi"; params.fields = "month,nt_val,nt_yoy,nt_mom,nt_accu,town_val,town_yoy,town_mom,town_accu,cnt_val,cnt_yoy,cnt_mom,cnt_accu"; // CPI数据使用月份格式 const startMonth = dateToMonth(args.start_date || defaultStartDate); const endMonth = dateToMonth(args.end_date || defaultEndDate); params.params = { start_m: startMonth, end_m: endMonth }; break; case 'ppi': params.api_name = "cn_ppi"; // 映射Tushare官方文档中的完整30个字段 params.fields = "month,ppi_yoy,ppi_mp_yoy,ppi_mp_qm_yoy,ppi_mp_rm_yoy,ppi_mp_p_yoy,ppi_cg_yoy,ppi_cg_f_yoy,ppi_cg_c_yoy,ppi_cg_adu_yoy,ppi_cg_dcg_yoy,ppi_mom,ppi_mp_mom,ppi_mp_qm_mom,ppi_mp_rm_mom,ppi_mp_p_mom,ppi_cg_mom,ppi_cg_f_mom,ppi_cg_c_mom,ppi_cg_adu_mom,ppi_cg_dcg_mom,ppi_accu,ppi_mp_accu,ppi_mp_qm_accu,ppi_mp_rm_accu,ppi_mp_p_accu,ppi_cg_accu,ppi_cg_f_accu,ppi_cg_c_accu,ppi_cg_adu_accu,ppi_cg_dcg_accu"; // PPI数据使用月份格式 const startMonthPPI = dateToMonth(args.start_date || defaultStartDate); const endMonthPPI = dateToMonth(args.end_date || defaultEndDate); params.params = { start_m: startMonthPPI, end_m: endMonthPPI }; break; case 'cn_m': params.api_name = "cn_m"; params.fields = "month,m0,m0_yoy,m0_mom,m1,m1_yoy,m1_mom,m2,m2_yoy,m2_mom"; // 货币供应量数据使用月份格式 const startMonthM = dateToMonth(args.start_date || defaultStartDate); const endMonthM = dateToMonth(args.end_date || defaultEndDate); params.params = { start_m: startMonthM, end_m: endMonthM }; break; case 'cn_pmi': params.api_name = "cn_pmi"; // 根据Tushare文档使用所有PMI字段 params.fields = "month,pmi010000,pmi010100,pmi010200,pmi010300,pmi010400,pmi010500,pmi010600,pmi010700,pmi010800,pmi010900,pmi011000,pmi011100,pmi011200,pmi011300,pmi011400,pmi011500,pmi011600,pmi011700,pmi011800,pmi011900,pmi012000,pmi020100,pmi020101,pmi020102,pmi020200,pmi020201,pmi020202,pmi020300,pmi020301,pmi020302,pmi020400,pmi020401,pmi020402,pmi020500,pmi020501,pmi020502,pmi020600,pmi020601,pmi020602,pmi020700,pmi020800,pmi020900,pmi021000,pmi030000"; // PMI数据使用月份格式 const startMonthPMI = dateToMonth(args.start_date || defaultStartDate); const endMonthPMI = dateToMonth(args.end_date || defaultEndDate); params.params = { start_m: startMonthPMI, end_m: endMonthPMI }; break; case 'cn_sf': params.api_name = "cn_sf"; // 修正API名称 params.fields = "month,inc_month,inc_cumval,stk_endval"; // 社融增量数据使用月份格式 const startMonthSF = dateToMonth(args.start_date || defaultStartDate); const endMonthSF = dateToMonth(args.end_date || defaultEndDate); params.params = { start_m: startMonthSF, end_m: endMonthSF }; break; case 'shibor_quote': params.api_name = "shibor_quote"; params.fields = "date,bank,on_b,on_a,1w_b,1w_a,2w_b,2w_a,1m_b,1m_a,3m_b,3m_a,6m_b,6m_a,9m_b,9m_a,1y_b,1y_a"; // Shibor报价数据使用日期格式 params.params = { start_date: args.start_date || defaultStartDate, end_date: args.end_date || defaultEndDate }; break; case 'libor': params.api_name = "libor"; params.fields = "date,curr,on,1w,1m,2m,3m,6m,12m"; // Libor利率数据使用日期格式 params.params = { start_date: args.start_date || defaultStartDate, end_date: args.end_date || defaultEndDate, curr: "USD" // 默认美元 }; break; case 'hibor': params.api_name = "hibor"; params.fields = "date,on,1w,2w,1m,2m,3m,4m,5m,6m,9m,1y"; // Hibor利率数据使用日期格式 params.params = { start_date: args.start_date || defaultStartDate, end_date: args.end_date || defaultEndDate }; break; } // 设置请求超时 const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), TUSHARE_CONFIG.TIMEOUT); try { console.log(`请求Tushare API: ${params.api_name},参数:`, params.params); // 发送请求 const response = await fetch(TUSHARE_API_URL, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(params), signal: controller.signal }); if (!response.ok) { throw new Error(`Tushare API请求失败: ${response.status}`); } const data = await response.json(); // 处理响应数据 if (data.code !== 0) { throw new Error(`Tushare API错误: ${data.msg}`); } // 确保data.data和data.data.items存在 if (!data.data || !data.data.items || data.data.items.length === 0) { throw new Error(`未找到${args.indicator}宏观经济数据`); } // 获取字段名 const fields = data.data.fields; // 将数据转换为对象数组 const econData = data.data.items.map((item) => { const result = {}; fields.forEach((field, index) => { result[field] = item[index]; }); return result; }); // 生成指标表头 let titleMap = { 'shibor': 'Shibor利率数据', 'lpr': 'LPR贷款市场报价利率', 'gdp': '国内生产总值(GDP)', 'cpi': '居民消费价格指数(CPI)', 'ppi': '工业生产者出厂价格指数(PPI)', 'cn_m': '货币供应量', 'cn_pmi': '采购经理指数(PMI)', 'cn_sf': '社会融资规模', 'shibor_quote': 'Shibor银行报价数据', 'libor': 'Libor利率数据', 'hibor': 'Hibor利率数据' }; // 格式化数据(根据不同指标类型构建不同的格式) let formattedData = ''; if (args.indicator === 'shibor' || args.indicator === 'lpr') { // 日期型数据展示 formattedData = econData.map((data) => { let row = ''; for (const [key, value] of Object.entries(data)) { if (key !== 'date') { const displayName = getRateDisplayName(key); row += `${displayName}: ${value}% `; } } return ` ${formatDate(data.date)}\n${row}\n`; }).join('\n---\n\n'); } else if (args.indicator === 'shibor_quote') { // Shibor报价数据展示 formattedData = econData.map((data) => { return ` ${formatDate(data.date)} - ${data.bank}\n隔夜: 买价${data.on_b}% 卖价${data.on_a}% 1周: 买价${data['1w_b']}% 卖价${data['1w_a']}%\n1月: 买价${data['1m_b']}% 卖价${data['1m_a']}% 3月: 买价${data['3m_b']}% 卖价${data['3m_a']}%\n6月: 买价${data['6m_b']}% 卖价${data['6m_a']}% 1年: 买价${data['1y_b']}% 卖价${data['1y_a']}%\n`; }).join('\n---\n\n'); } else if (args.indicator === 'libor' || args.indicator === 'hibor') { // 其他利率数据展示 formattedData = econData.map((data) => { let row = ''; for (const [key, value] of Object.entries(data)) { if (key !== 'date' && key !== 'curr') { const displayName = getRateDisplayName(key); row += `${displayName}: ${value}% `; } } const currencyInfo = data.curr ? ` (${data.curr})` : ''; return ` ${formatDate(data.date)}${currencyInfo}\n${row}\n`; }).join('\n---\n\n'); } else if (args.indicator === 'gdp') { // 季度型数据展示 formattedData = econData.map((data) => { return ` ${data.quarter}\nGDP总值: ${data.gdp}亿元 同比增长: ${data.gdp_yoy}%\n第一产业: ${data.pi}亿元 同比: ${data.pi_yoy}%\n第二产业: ${data.si}亿元 同比: ${data.si_yoy}%\n第三产业: ${data.ti}亿元 同比: ${data.ti_yoy}%\n`; }).join('\n---\n\n'); } else if (args.indicator === 'cpi') { // CPI数据展示 formattedData = econData.map((data) => { return ` ${formatMonth(data.month)}\n全国CPI: ${data.nt_val} 同比: ${data.nt_yoy}% 环比: ${data.nt_mom}% 累计: ${data.nt_accu}%\n城市CPI: ${data.town_val} 同比: ${data.town_yoy}% 环比: ${data.town_mom}% 累计: ${data.town_accu}%\n农村CPI: ${data.cnt_val} 同比: ${data.cnt_yoy}% 环比: ${data.cnt_mom}% 累计: ${data.cnt_accu}%\n`; }).join('\n---\n\n'); } else if (args.indicator === 'ppi') { // PPI数据展示 - 完整30个字段的详细展示 formattedData = econData.map((data) => { return ` ${formatMonth(data.month)} 📊 全部工业品PPI 同比: ${data.ppi_yoy}% 环比: ${data.ppi_mom}% 累计: ${data.ppi_accu}% 🏭 生产资料PPI - 总体: 同比: ${data.ppi_mp_yoy}% 环比: ${data.ppi_mp_mom}% 累计: ${data.ppi_mp_accu}% - 采掘业: 同比: ${data.ppi_mp_qm_yoy}% 环比: ${data.ppi_mp_qm_mom}% 累计: ${data.ppi_mp_qm_accu}% - 原料业: 同比: ${data.ppi_mp_rm_yoy}% 环比: ${data.ppi_mp_rm_mom}% 累计: ${data.ppi_mp_rm_accu}% - 加工业: 同比: ${data.ppi_mp_p_yoy}% 环比: ${data.ppi_mp_p_mom}% 累计: ${data.ppi_mp_p_accu}% 🛍️ 生活资料PPI - 总体: 同比: ${data.ppi_cg_yoy}% 环比: ${data.ppi_cg_mom}% 累计: ${data.ppi_cg_accu}% - 食品类: 同比: ${data.ppi_cg_f_yoy}% 环比: ${data.ppi_cg_f_mom}% 累计: ${data.ppi_cg_f_accu}% - 衣着类: 同比: ${data.ppi_cg_c_yoy}% 环比: ${data.ppi_cg_c_mom}% 累计: ${data.ppi_cg_c_accu}% - 一般日用品类: 同比: ${data.ppi_cg_adu_yoy}% 环比: ${data.ppi_cg_adu_mom}% 累计: ${data.ppi_cg_adu_accu}% - 耐用消费品类: 同比: ${data.ppi_cg_dcg_yoy}% 环比: ${data.ppi_cg_dcg_mom}% 累计: ${data.ppi_cg_dcg_accu}% `; }).join('\n---\n\n'); } else if (args.indicator === 'cn_m') { // 货币供应量数据展示 formattedData = econData.map((data) => { return ` ${formatMonth(data.month)}\nM0: ${data.m0}亿元 同比: ${data.m0_yoy}% 环比: ${data.m0_mom}%\nM1: ${data.m1}亿元 同比: ${data.m1_yoy}% 环比: ${data.m1_mom}%\nM2: ${data.m2}亿元 同比: ${data.m2_yoy}% 环比: ${data.m2_mom}%\n`; }).join('\n---\n\n'); } else if (args.indicator === 'cn_pmi') { // PMI数据展示 - 横向指标表格格式 // PMI指标定义 const pmiIndicators = [ { name: '制造业PMI', field: 'pmi010000' }, { name: '生产指数', field: 'pmi010100' }, { name: '新订单指数', field: 'pmi010200' }, { name: '新出口订单指数', field: 'pmi010300' }, { name: '在手订单指数', field: 'pmi010400' }, { name: '产成品库存指数', field: 'pmi010500' }, { name: '采购量指数', field: 'pmi010600' }, { name: '进口指数', field: 'pmi010700' }, { name: '购进价格指数', field: 'pmi010800' }, { name: '原材料库存指数', field: 'pmi010900' }, { name: '从业人员指数', field: 'pmi011000' }, { name: '供应商配送时间指数', field: 'pmi011100' }, { name: '生产经营活动预期指数', field: 'pmi011200' }, { name: '基础原材料制造业PMI', field: 'pmi011300' }, { name: '消费品制造业PMI', field: 'pmi011400' }, { name: '装备制造业PMI', field: 'pmi011500' }, { name: '高技术制造业PMI', field: 'pmi011600' }, { name: '大型企业PMI', field: 'pmi011700' }, { name: '中型企业PMI', field: 'pmi011800' }, { name: '小型企业PMI', field: 'pmi011900' }, { name: '消费品制造业PMI(分类)', field: 'pmi012000' }, { name: '非制造业商务活动指数', field: 'pmi020100' }, { name: '建筑业商务活动指数', field: 'pmi020101' }, { name: '服务业商务活动指数', field: 'pmi020102' }, { name: '非制造业新订单指数', field: 'pmi020200' }, { name: '建筑业新订单指数', field: 'pmi020201' }, { name: '服务业新订单指数', field: 'pmi020202' }, { name: '非制造业投入品价格指数', field: 'pmi020300' }, { name: '建筑业投入品价格指数', field: 'pmi020301' }, { name: '服务业投入品价格指数', field: 'pmi020302' }, { name: '非制造业销售价格指数', field: 'pmi020400' }, { name: '建筑业销售价格指数', field: 'pmi020401' }, { name: '服务业销售价格指数', field: 'pmi020402' }, { name: '非制造业从业人员指数', field: 'pmi020500' }, { name: '建筑业从业人员指数', field: 'pmi020501' }, { name: '服务业从业人员指数', field: 'pmi020502' }, { name: '非制造业业务活动预期指数', field: 'pmi020600' }, { name: '建筑业业务活动预期指数', field: 'pmi020601' }, { name: '服务业业务活动预期指数', field: 'pmi020602' }, { name: '非制造业新出口订单指数', field: 'pmi020700' }, { name: '非制造业在手订单指数', field: 'pmi020800' }, { name: '非制造业存货指数', field: 'pmi020900' }, { name: '非制造业供应商配送时间指数', field: 'pmi021000' }, { name: '综合PMI产出指数', field: 'pmi030000' } ]; // 构建表头:月份 | 指标1 | 指标2 | ... const tableHeader = '| 月份 | ' + pmiIndicators.map(indicator => indicator.name).join(' | ') + ' |'; const tableSeparator = '|' + '---|'.repeat(pmiIndicators.length + 1); // 构建数据行:每行一个月份的所有指标数据 const tableRows = econData.map((data) => { const rowData = pmiIndicators.map(indicator => data[indicator.field] || '-').join(' | '); return `| ${formatMonth(data.month)} | ${rowData} |`; }); formattedData = ` 采购经理指数(PMI)数据 ${tableHeader} ${tableSeparator} ${tableRows.join('\n')} 数据说明:PMI指数50为荣枯分界线,高于50表示扩张,低于50表示收缩。`; } else if (args.indicator === 'cn_sf') { // 社融增量数据展示 formattedData = econData.map((data) => { return ` ${formatMonth(data.month)}\n当月增量: ${data.inc_month}亿元 累计增量: ${data.inc_cumval}亿元\n存量期末值: ${data.stk_endval}万亿元\n`; }).join('\n---\n\n'); } return { content: [ { type: "text", text: ` ${titleMap[args.indicator]}\n\n查询时间范围: ${args.start_date || defaultStartDate} - ${args.end_date || defaultEndDate}\n数据条数: ${econData.length}条记录\n\n---\n\n${formattedData}` } ] }; } finally { clearTimeout(timeoutId); } } catch (error) { console.error("获取宏观经济数据失败:", error); return { content: [ { type: "text", text: ` 获取${args.indicator}宏观经济数据失败\n\n错误信息: ${error instanceof Error ? error.message : String(error)}\n\n支持的指标类型: \n- shibor: 上海银行间同业拆放利率\n- lpr: 贷款市场报价利率\n- gdp: 国内生产总值\n- cpi: 居民消费价格指数\n- ppi: 工业生产者出厂价格指数\n- cn_m: 货币供应量\n- cn_pmi: 采购经理指数\n- cn_sf: 社会融资规模\n- shibor_quote: Shibor银行报价数据\n- libor: 伦敦银行间同业拆借利率\n- hibor: 香港银行间同业拆借利率` } ] }; } } };
  • Helper utility functions used by the macro_econ handler for formatting dates, months, quarters, and rate display names.
    /* * 获取利率字段的显示名称 */ function getRateDisplayName(key) { const nameMap = { 'on': '隔夜', '1w': '1周', '2w': '2周', '1m': '1月', '2m': '2月', '3m': '3月', '4m': '4月', '5m': '5月', '6m': '6月', '9m': '9月', '1y': '1年', '5y': '5年', '12m': '12月' }; return nameMap[key] || key; } /* * 格式化日期显示 */ function formatDate(dateStr) { if (!dateStr || dateStr.length !== 8) return dateStr; const year = dateStr.substring(0, 4); const month = dateStr.substring(4, 6); const day = dateStr.substring(6, 8); return `${year}年${month}月${day}日`; } /* * 格式化月份显示 */ function formatMonth(monthStr) { if (!monthStr || monthStr.length !== 6) return monthStr; const year = monthStr.substring(0, 4); const month = monthStr.substring(4, 6); return `${year}年${month}月`; } /* * 将日期格式(YYYYMMDD)转换为季度格式(YYYYQN) */ function dateToQuarter(dateStr) { if (!dateStr || dateStr.length < 8) return ""; const year = dateStr.substring(0, 4); const month = parseInt(dateStr.substring(4, 6)); // 确定季度 let quarter; if (month >= 1 && month <= 3) quarter = 1; else if (month >= 4 && month <= 6) quarter = 2; else if (month >= 7 && month <= 9) quarter = 3; else quarter = 4; return `${year}Q${quarter}`; } /* * 将日期格式(YYYYMMDD)转换为月份格式(YYYYMM) */ function dateToMonth(dateStr) { if (!dateStr || dateStr.length < 8) return ""; return dateStr.substring(0, 6); }
  • Input schema definition for the macro_econ tool parameters: indicator (required), start_date, end_date.
    parameters: { type: "object", properties: { indicator: { type: "string", description: "指标类型,可选值:shibor(上海银行间同业拆放利率)、lpr(贷款市场报价利率)、gdp(国内生产总值)、cpi(居民消费价格指数)、ppi(工业生产者出厂价格指数)、cn_m(货币供应量)、cn_pmi(采购经理指数)、cn_sf(社会融资规模)、shibor_quote(Shibor银行报价数据)、libor(伦敦银行间同业拆借利率)、hibor(香港银行间同业拆借利率)" }, start_date: { type: "string", description: "起始日期,格式为YYYYMMDD,如'20230101'" }, end_date: { type: "string", description: "结束日期,格式为YYYYMMDD,如'20230131'" } }, required: ["indicator", "start_date", "end_date"] },
  • src/index.ts:154-156 (registration)
    Registration of macro_econ tool schema in the main index (likely MCP tool list).
    name: macroEcon.name, description: macroEcon.description, inputSchema: macroEcon.parameters
  • src/index.ts:263-267 (registration)
    Handler dispatch case for 'macro_econ' tool invocation in the main router.
    case "macro_econ": { const indicator = String(request.params.arguments?.indicator); const start_date = request.params.arguments?.start_date ? String(request.params.arguments.start_date) : undefined; const end_date = request.params.arguments?.end_date ? String(request.params.arguments.end_date) : undefined; return await macroEcon.run({ indicator, start_date, end_date });

Other Tools

Related Tools

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/guangxiangdebizi/FinanceMCP'

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