Skip to main content
Glama

Fundamental Analysis Workflow

load_fundamental_workflow
Read-onlyIdempotent

Load fundamental workflow for valuation, cash flow, margins, balance sheet. REQUIRES get_database_schema then get_query_patterns to be called first (in that order). Call BEFORE writing SQL when the user asks about company valuation, "is X a good buy", financial health, debt levels, profitability ratios, revenue trends, earnings quality, or any deep-dive company analysis. Can be combined with other workflow tools.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedOutput schema / description
      Removed value: -"Generic wrapper for non-object return types."
  2. Changed1 schema field changed
    • removedInput schema / properties / _content
      Removed value: -{
      -  "default": "## Fundamental Analysis Workflow\n\n### Persona\nYou are a senior equity research analyst. Your analysis should be\nstructured, evidence-based, and balanced. Lead with conclusions,\nsupport with data, and always note limitations and risks.\n\n### Workflow (follow in order)\n1. **Identify**: Look up symbol via general_info. Note gics_sector,\n   gics_industry_group, gics_industry, full_time_employees, ipo_date.\n2. **Current Snapshot**: Pull latest valuation (daily) + latest\n   fundamentals_quarterly for pe_ratio,\n   profit_margin, return_on_equity, market_cap.\n3. **Financial Trends** (last 8 quarters from `fundamentals_quarterly`):\n   - Revenue + margin trajectory\n   - Balance sheet health: current_ratio, debt_to_equity, cash_and_equivalents\n   - Cash flow: operating_cash_flow, free_cash_flow, capex intensity, stock_based_compensation as % of revenue\n   - Profitability: return_on_invested_capital from fundamentals_derived_quarterly\n4. **Earnings Quality**:\n   - EPS surprise history (earnings_quarterly, last 4-8 quarters)\n   - Revenue growth vs earnings growth (divergence = red flag)\n   - SBC relative to net income (>50% = dilution concern)\n5. **Peer Comparison**:\n   - Find 3-5 peers in same gics_industry (or gics_industry_group) with similar market cap\n   - Compare: P/E, profit margin, return_on_equity, revenue growth, FCF yield\n   - Use sector benchmark pattern (P9) for context\n6. **Valuation Assessment**:\n   - P/E vs peers and sector average (from valuation table)\n   - EV/EBITDA vs peers (from fundamentals_derived_daily)\n   - PEG ratio if available (peg_ratio from valuation)\n   - Note: this data cannot produce a DCF - no forward estimates\n     beyond 1-year EPS. Be honest about this limitation.\n\n### Output Format\nStructure your response as:\n- **Summary** (2-3 sentences: bull case, bear case, overall lean)\n- **Key Metrics** (inline markdown table)\n- **Financial Trends** (what direction are revenues, margins, cash flow heading)\n- **Peer Context** (where does this company sit vs competitors)\n- **Risks & Limitations** (data gaps, staleness, what you can't assess)\n\n### Advanced Query Patterns\n\n#### F1: Quarterly financial trend with YoY and QoQ growth\n```sql\nWITH quarterly AS (\n  SELECT symbol, date, revenue, gross_profit, net_income, operating_income, research_and_development, ebitda,\n    LAG(revenue, 1) OVER (PARTITION BY symbol ORDER BY date) AS prev_q_rev,\n    LAG(revenue, 4) OVER (PARTITION BY symbol ORDER BY date) AS yoy_rev\n  FROM shibui.fundamentals_quarterly\n  WHERE symbol = 'AAPL.NASDAQ'\n    AND date >= CURRENT_DATE - INTERVAL '3 years'\n    AND revenue IS NOT NULL\n)\nSELECT date, revenue, gross_profit, net_income,\n  ROUND(gross_profit / NULLIF(revenue, 0) * 100, 1) AS gross_margin_pct,\n  ROUND(net_income / NULLIF(revenue, 0) * 100, 1) AS net_margin_pct,\n  ROUND(research_and_development / NULLIF(revenue, 0) * 100, 1) AS rd_pct,\n  ROUND((revenue - prev_q_rev) / NULLIF(prev_q_rev, 0) * 100, 1) AS qoq_pct,\n  ROUND((revenue - yoy_rev) / NULLIF(yoy_rev, 0) * 100, 1) AS yoy_pct\nFROM quarterly WHERE prev_q_rev IS NOT NULL\nORDER BY date DESC LIMIT 12\n```\n\n#### F2: Cash flow quality assessment\n```sql\nWITH q AS (\n  SELECT symbol, date,\n    operating_cash_flow, capex, free_cash_flow, stock_based_compensation, ABS(dividends_paid) AS dividends,\n    net_income, revenue,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.fundamentals_quarterly\n  WHERE symbol = 'AAPL.NASDAQ'\n    AND date >= CURRENT_DATE - INTERVAL '3 years'\n)\nSELECT date, operating_cash_flow, free_cash_flow, capex, stock_based_compensation, dividends, net_income,\n  ROUND(operating_cash_flow / NULLIF(net_income, 0), 2) AS cf_to_earnings_ratio,\n  ROUND(stock_based_compensation / NULLIF(revenue, 0) * 100, 1) AS sbc_pct_of_revenue,\n  ROUND(ABS(capex) / NULLIF(operating_cash_flow, 0) * 100, 1) AS capex_intensity_pct\nFROM q WHERE rn <= 8\nORDER BY date DESC LIMIT 8\n```\n\n#### F3: Peer comparison (same GICS industry, similar size)\n```sql\nWITH target AS (\n  SELECT g.gics_industry, v.market_cap\n  FROM shibui.general_info g\n  INNER JOIN (SELECT symbol, market_cap, ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn FROM shibui.valuation WHERE date >= CURRENT_DATE - INTERVAL '7 days') v ON g.symbol = v.symbol AND v.rn = 1\n  WHERE g.symbol = 'AAPL.NASDAQ'\n),\nlatest_q AS (\n  SELECT symbol, return_on_equity, profit_margin, revenue_growth_yoy,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.fundamentals_quarterly\n  WHERE date >= CURRENT_DATE - INTERVAL '6 months'\n),\nlatest_val AS (\n  SELECT symbol, market_cap, pe_ratio,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.valuation WHERE date >= CURRENT_DATE - INTERVAL '7 days'\n),\nlatest_dd AS (\n  SELECT symbol, ev_ebitda, dividend_yield,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.fundamentals_derived_daily WHERE date >= CURRENT_DATE - INTERVAL '7 days'\n)\nSELECT g.symbol, g.name, g.gics_industry,\n  ROUND(v.market_cap / 1e9, 1) AS market_cap_bln,\n  ROUND(v.pe_ratio, 2) AS pe,\n  ROUND(f.profit_margin * 100, 1) AS margin_pct,\n  ROUND(f.return_on_equity * 100, 1) AS roe_pct,\n  ROUND(f.revenue_growth_yoy * 100, 1) AS rev_growth_pct,\n  ROUND(dd.ev_ebitda, 2) AS ev_ebitda\nFROM shibui.general_info g\nINNER JOIN latest_val v ON g.symbol = v.symbol AND v.rn = 1\nINNER JOIN latest_q f ON g.symbol = f.symbol AND f.rn = 1\nLEFT JOIN latest_dd dd ON g.symbol = dd.symbol AND dd.rn = 1\nCROSS JOIN target t\nWHERE g.gics_industry = t.gics_industry\n  AND g.type = 'Common Stock'\n  AND v.market_cap > t.market_cap * 0.1\nORDER BY v.market_cap DESC LIMIT 15\n```\n\n#### F4: Balance sheet health over time\n```sql\nWITH bs AS (\n  SELECT symbol, date,\n    current_assets, current_liabilities, current_ratio,\n    total_assets, total_liabilities, equity, debt,\n    cash_and_equivalents, debt_to_equity,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.fundamentals_quarterly\n  WHERE symbol = 'AAPL.NASDAQ'\n    AND date >= CURRENT_DATE - INTERVAL '3 years'\n)\nSELECT date,\n  ROUND(current_ratio, 2) AS current_ratio,\n  ROUND(debt_to_equity, 2) AS debt_to_equity,\n  cash_and_equivalents, debt,\n  equity\nFROM bs WHERE rn <= 8\nORDER BY date DESC LIMIT 8\n```\n",
      -  "type": "string"
      -}
  3. Changed1 schema field changed
    • changedInput schema / properties / _content / default
      Previous value: -"## Fundamental Analysis Workflow\n\n### Persona\nYou are a senior equity research analyst. Your analysis should be\nstructured, evidence-based, and balanced. Lead with conclusions,\nsupport with data, and always note limitations and risks.\n\n### Workflow (follow in order)\n1. **Identify**: Look up symbol via general_info. Note gic_sector,\n   gic_sub_industry, full_time_employees, ipo_date.\n2. **Current Snapshot**: Pull highlights + valuation + share_stats\n   for the symbol. Note pe_ratio, profit_margin, roe, market_cap.\n3. **Financial Trends** (last 8 quarters):\n   - Revenue + margin trajectory (income_statement_quarterly)\n   - Balance sheet health: current ratio, debt/equity, cash position\n   - Cash flow: operating CF, FCF, capex intensity, SBC as % of revenue\n4. **Earnings Quality**:\n   - EPS surprise history (earnings_quarterly, last 4-8 quarters)\n   - Revenue growth vs earnings growth (divergence = red flag)\n   - SBC relative to net income (>50% = dilution concern)\n5. **Peer Comparison**:\n   - Find 3-5 peers in same gic_sub_industry with similar market cap\n   - Compare: P/E, profit margin, ROE, revenue growth, FCF yield\n   - Use sector benchmark pattern (P9) for context\n6. **Valuation Assessment**:\n   - P/E vs peers and sector average\n   - EV/EBITDA vs peers (from valuation table)\n   - PEG ratio if available\n   - Note: this data cannot produce a DCF — no forward estimates\n     beyond 1-year EPS. Be honest about this limitation.\n\n### Output Format\nStructure your response as:\n- **Summary** (2-3 sentences: bull case, bear case, overall lean)\n- **Key Metrics** (inline markdown table)\n- **Financial Trends** (what direction are revenues, margins, cash flow heading)\n- **Peer Context** (where does this company sit vs competitors)\n- **Risks & Limitations** (data gaps, staleness, what you can't assess)\n\n### Advanced Query Patterns\n\n#### F1: Quarterly financial trend with YoY and QoQ growth\n```sql\nWITH quarterly AS (\n  SELECT symbol, date, total_revenue, gross_profit, net_income,\n    operating_income, research_development, ebitda,\n    LAG(total_revenue, 1) OVER (PARTITION BY symbol ORDER BY date) AS prev_q_rev,\n    LAG(total_revenue, 4) OVER (PARTITION BY symbol ORDER BY date) AS yoy_rev\n  FROM shibui.income_statement_quarterly\n  WHERE symbol = 'AAPL.NASDAQ' AND date >= CURRENT_DATE - INTERVAL '3 years'\n    AND total_revenue IS NOT NULL\n)\nSELECT date,\n  total_revenue, gross_profit, net_income,\n  ROUND(gross_profit / NULLIF(total_revenue, 0) * 100, 1) AS gross_margin_pct,\n  ROUND(net_income / NULLIF(total_revenue, 0) * 100, 1) AS net_margin_pct,\n  ROUND(research_development / NULLIF(total_revenue, 0) * 100, 1) AS rd_pct,\n  ROUND((total_revenue - prev_q_rev) / NULLIF(prev_q_rev, 0) * 100, 1) AS qoq_pct,\n  ROUND((total_revenue - yoy_rev) / NULLIF(yoy_rev, 0) * 100, 1) AS yoy_pct\nFROM quarterly WHERE prev_q_rev IS NOT NULL\nORDER BY date DESC LIMIT 12\n```\n\n#### F2: Cash flow quality assessment\n```sql\nWITH cf AS (\n  SELECT symbol, date,\n    total_cash_from_operating_activities AS op_cf,\n    capital_expenditures AS capex,\n    free_cash_flow AS fcf,\n    stock_based_compensation AS sbc,\n    dividends_paid,\n    net_borrowings,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.cash_flow_quarterly\n  WHERE symbol = 'AAPL.NASDAQ' AND date >= CURRENT_DATE - INTERVAL '3 years'\n),\ninc AS (\n  SELECT symbol, date, net_income, total_revenue\n  FROM shibui.income_statement_quarterly\n  WHERE symbol = 'AAPL.NASDAQ' AND date >= CURRENT_DATE - INTERVAL '3 years'\n)\nSELECT cf.date, cf.op_cf, cf.fcf, cf.capex, cf.sbc,\n  inc.net_income,\n  ROUND(cf.op_cf / NULLIF(inc.net_income, 0), 2) AS cf_to_earnings_ratio,\n  ROUND(cf.sbc / NULLIF(inc.total_revenue, 0) * 100, 1) AS sbc_pct_of_revenue,\n  ROUND(ABS(cf.capex) / NULLIF(cf.op_cf, 0) * 100, 1) AS capex_intensity_pct\nFROM cf\nINNER JOIN inc ON cf.symbol = inc.symbol AND cf.date = inc.date\nWHERE cf.rn <= 8\nORDER BY cf.date DESC LIMIT 8\n```\n\n#### F3: Peer comparison (same sub-industry, similar size)\n```sql\nWITH target AS (\n  SELECT g.gic_sub_industry, h.market_capitalization_mln\n  FROM shibui.general_info g\n  INNER JOIN shibui.highlights h ON g.symbol = h.symbol\n  WHERE g.symbol = 'AAPL.NASDAQ'\n)\nSELECT g.symbol, g.name, g.gic_sub_industry,\n  h.market_capitalization_mln,\n  ROUND(h.pe_ratio, 2) AS pe,\n  ROUND(h.profit_margin * 100, 1) AS margin_pct,\n  ROUND(h.return_on_equity_ttm * 100, 1) AS roe_pct,\n  ROUND(h.quarterly_revenue_growth_yoy * 100, 1) AS rev_growth_pct,\n  v.enterprise_value_ebitda AS ev_ebitda\nFROM shibui.general_info g\nINNER JOIN shibui.highlights h ON g.symbol = h.symbol\nLEFT JOIN shibui.valuation v ON g.symbol = v.symbol\nCROSS JOIN target t\nWHERE g.gic_sub_industry = t.gic_sub_industry\n  AND g.type = 'Common Stock'\n  AND h.market_capitalization_mln > t.market_capitalization_mln * 0.1\nORDER BY h.market_capitalization_mln DESC LIMIT 15\n```\n\n#### F4: Balance sheet health over time\n```sql\nWITH bs AS (\n  SELECT symbol, date,\n    total_current_assets, total_current_liabilities,\n    cash_and_short_term_investments, total_liab,\n    total_stockholder_equity, long_term_debt, net_debt,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.balance_sheet_quarterly\n  WHERE symbol = 'AAPL.NASDAQ' AND date >= CURRENT_DATE - INTERVAL '3 years'\n)\nSELECT date,\n  ROUND(total_current_assets / NULLIF(total_current_liabilities, 0), 2) AS current_ratio,\n  ROUND(total_liab / NULLIF(total_stockholder_equity, 0), 2) AS debt_to_equity,\n  cash_and_short_term_investments AS cash_stinv,\n  long_term_debt, net_debt,\n  total_stockholder_equity\nFROM bs WHERE rn <= 8\nORDER BY date DESC LIMIT 8\n```\n"New value: +"## Fundamental Analysis Workflow\n\n### Persona\nYou are a senior equity research analyst. Your analysis should be\nstructured, evidence-based, and balanced. Lead with conclusions,\nsupport with data, and always note limitations and risks.\n\n### Workflow (follow in order)\n1. **Identify**: Look up symbol via general_info. Note gics_sector,\n   gics_industry_group, gics_industry, full_time_employees, ipo_date.\n2. **Current Snapshot**: Pull latest valuation (daily) + latest\n   fundamentals_quarterly for pe_ratio,\n   profit_margin, return_on_equity, market_cap.\n3. **Financial Trends** (last 8 quarters from `fundamentals_quarterly`):\n   - Revenue + margin trajectory\n   - Balance sheet health: current_ratio, debt_to_equity, cash_and_equivalents\n   - Cash flow: operating_cash_flow, free_cash_flow, capex intensity, stock_based_compensation as % of revenue\n   - Profitability: return_on_invested_capital from fundamentals_derived_quarterly\n4. **Earnings Quality**:\n   - EPS surprise history (earnings_quarterly, last 4-8 quarters)\n   - Revenue growth vs earnings growth (divergence = red flag)\n   - SBC relative to net income (>50% = dilution concern)\n5. **Peer Comparison**:\n   - Find 3-5 peers in same gics_industry (or gics_industry_group) with similar market cap\n   - Compare: P/E, profit margin, return_on_equity, revenue growth, FCF yield\n   - Use sector benchmark pattern (P9) for context\n6. **Valuation Assessment**:\n   - P/E vs peers and sector average (from valuation table)\n   - EV/EBITDA vs peers (from fundamentals_derived_daily)\n   - PEG ratio if available (peg_ratio from valuation)\n   - Note: this data cannot produce a DCF - no forward estimates\n     beyond 1-year EPS. Be honest about this limitation.\n\n### Output Format\nStructure your response as:\n- **Summary** (2-3 sentences: bull case, bear case, overall lean)\n- **Key Metrics** (inline markdown table)\n- **Financial Trends** (what direction are revenues, margins, cash flow heading)\n- **Peer Context** (where does this company sit vs competitors)\n- **Risks & Limitations** (data gaps, staleness, what you can't assess)\n\n### Advanced Query Patterns\n\n#### F1: Quarterly financial trend with YoY and QoQ growth\n```sql\nWITH quarterly AS (\n  SELECT symbol, date, revenue, gross_profit, net_income, operating_income, research_and_development, ebitda,\n    LAG(revenue, 1) OVER (PARTITION BY symbol ORDER BY date) AS prev_q_rev,\n    LAG(revenue, 4) OVER (PARTITION BY symbol ORDER BY date) AS yoy_rev\n  FROM shibui.fundamentals_quarterly\n  WHERE symbol = 'AAPL.NASDAQ'\n    AND date >= CURRENT_DATE - INTERVAL '3 years'\n    AND revenue IS NOT NULL\n)\nSELECT date, revenue, gross_profit, net_income,\n  ROUND(gross_profit / NULLIF(revenue, 0) * 100, 1) AS gross_margin_pct,\n  ROUND(net_income / NULLIF(revenue, 0) * 100, 1) AS net_margin_pct,\n  ROUND(research_and_development / NULLIF(revenue, 0) * 100, 1) AS rd_pct,\n  ROUND((revenue - prev_q_rev) / NULLIF(prev_q_rev, 0) * 100, 1) AS qoq_pct,\n  ROUND((revenue - yoy_rev) / NULLIF(yoy_rev, 0) * 100, 1) AS yoy_pct\nFROM quarterly WHERE prev_q_rev IS NOT NULL\nORDER BY date DESC LIMIT 12\n```\n\n#### F2: Cash flow quality assessment\n```sql\nWITH q AS (\n  SELECT symbol, date,\n    operating_cash_flow, capex, free_cash_flow, stock_based_compensation, ABS(dividends_paid) AS dividends,\n    net_income, revenue,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.fundamentals_quarterly\n  WHERE symbol = 'AAPL.NASDAQ'\n    AND date >= CURRENT_DATE - INTERVAL '3 years'\n)\nSELECT date, operating_cash_flow, free_cash_flow, capex, stock_based_compensation, dividends, net_income,\n  ROUND(operating_cash_flow / NULLIF(net_income, 0), 2) AS cf_to_earnings_ratio,\n  ROUND(stock_based_compensation / NULLIF(revenue, 0) * 100, 1) AS sbc_pct_of_revenue,\n  ROUND(ABS(capex) / NULLIF(operating_cash_flow, 0) * 100, 1) AS capex_intensity_pct\nFROM q WHERE rn <= 8\nORDER BY date DESC LIMIT 8\n```\n\n#### F3: Peer comparison (same GICS industry, similar size)\n```sql\nWITH target AS (\n  SELECT g.gics_industry, v.market_cap\n  FROM shibui.general_info g\n  INNER JOIN (SELECT symbol, market_cap, ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn FROM shibui.valuation WHERE date >= CURRENT_DATE - INTERVAL '7 days') v ON g.symbol = v.symbol AND v.rn = 1\n  WHERE g.symbol = 'AAPL.NASDAQ'\n),\nlatest_q AS (\n  SELECT symbol, return_on_equity, profit_margin, revenue_growth_yoy,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.fundamentals_quarterly\n  WHERE date >= CURRENT_DATE - INTERVAL '6 months'\n),\nlatest_val AS (\n  SELECT symbol, market_cap, pe_ratio,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.valuation WHERE date >= CURRENT_DATE - INTERVAL '7 days'\n),\nlatest_dd AS (\n  SELECT symbol, ev_ebitda, dividend_yield,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.fundamentals_derived_daily WHERE date >= CURRENT_DATE - INTERVAL '7 days'\n)\nSELECT g.symbol, g.name, g.gics_industry,\n  ROUND(v.market_cap / 1e9, 1) AS market_cap_bln,\n  ROUND(v.pe_ratio, 2) AS pe,\n  ROUND(f.profit_margin * 100, 1) AS margin_pct,\n  ROUND(f.return_on_equity * 100, 1) AS roe_pct,\n  ROUND(f.revenue_growth_yoy * 100, 1) AS rev_growth_pct,\n  ROUND(dd.ev_ebitda, 2) AS ev_ebitda\nFROM shibui.general_info g\nINNER JOIN latest_val v ON g.symbol = v.symbol AND v.rn = 1\nINNER JOIN latest_q f ON g.symbol = f.symbol AND f.rn = 1\nLEFT JOIN latest_dd dd ON g.symbol = dd.symbol AND dd.rn = 1\nCROSS JOIN target t\nWHERE g.gics_industry = t.gics_industry\n  AND g.type = 'Common Stock'\n  AND v.market_cap > t.market_cap * 0.1\nORDER BY v.market_cap DESC LIMIT 15\n```\n\n#### F4: Balance sheet health over time\n```sql\nWITH bs AS (\n  SELECT symbol, date,\n    current_assets, current_liabilities, current_ratio,\n    total_assets, total_liabilities, equity, debt,\n    cash_and_equivalents, debt_to_equity,\n    ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY date DESC) AS rn\n  FROM shibui.fundamentals_quarterly\n  WHERE symbol = 'AAPL.NASDAQ'\n    AND date >= CURRENT_DATE - INTERVAL '3 years'\n)\nSELECT date,\n  ROUND(current_ratio, 2) AS current_ratio,\n  ROUND(debt_to_equity, 2) AS debt_to_equity,\n  cash_and_equivalents, debt,\n  equity\nFROM bs WHERE rn <= 8\nORDER BY date DESC LIMIT 8\n```\n"
  4. Changed1 schema field changed
    • addedOutput schema / description
      Added value: +"Generic wrapper for non-object return types."
  5. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources