get_table_schema
Use BEFORE run_sql when you're unsure which columns a table has.
Look up column definitions (name, type, description) for a data table.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| table_name | Yes |
Use BEFORE run_sql when you're unsure which columns a table has.
Look up column definitions (name, type, description) for a data table.
| Name | Required | Description | Default |
|---|---|---|---|
| table_name | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context by clarifying the output content (column definitions with name, type, description) and its role as a prerequisite to run_sql. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler. The usage recommendation comes first, followed by a precise statement of what the tool returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only schema lookup with one parameter and a complete enum of tables, the description adequately covers return fields and timing. It could mention error or edge-case behavior, but those are not essential given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needed to compensate, but it only vaguely refers to 'a data table.' The enum in the schema lists the valid table names, but the description adds little meaning beyond what the parameter name already implies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Look up') with a clear resource ('column definitions') and even states what is returned ('name, type, description'). The 'Use BEFORE run_sql' clause helps distinguish this tool from the primary query sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use the tool ('BEFORE run_sql' when unsure which columns a table has) and names run_sql as the alternative. It does not fully discuss when not to use it or contrast it with list_tables, but the guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool has a clearly distinct purpose: company_search is qualitative discovery, run_sql is quantitative querying, news_search covers news, sec_report_list/search handle filings, ticker_lookup resolves identifiers, and list_tables/get_table_schema/fiscal_utility support exploration. Cross-references between tools (e.g., company_search explicitly defers to run_sql) prevent confusion.
Most tools follow a predictable noun_verb or noun_noun pattern (company_search, news_search, ticker_lookup, run_sql, list_tables, get_table_schema). sec_report_list and sec_report_search are clearly related with descriptive suffixes. Minor deviation: fiscal_utility is vaguer than its siblings, but the pattern is otherwise consistent.
9 tools is right-sized for a financial data platform — enough for comprehensive coverage (search, query, schema, news, filings) without redundancy. Each tool serves a distinct purpose and the count fits the domain well.
The tool set forms a coherent workflow: ticker_lookup → company_search/run_sql for fundamentals, news_search for events, sec_report_list/search for filings, and list_tables/get_table_schema for schema discovery. The only minor gap is the absence of a direct 'company profiles' tool separate from company_search, but run_sql covers quantitative needs adequately. The surface is complete for a read-only financial analysis MCP.