Skip to main content
Glama

find_fields

Locate database fields in EMS systems using keyword search, hierarchical browsing, or deep traversal to identify data elements for querying and analysis.

Instructions

Find fields in a database. Three modes available:

  • search: Fast keyword search (default). Requires search_text. Does NOT work on entity-type databases.

  • browse: Navigate field group hierarchy. Use group_id to drill down.

  • deep: BFS traversal across all field groups. Requires search_text. Works on ALL databases including entity-type. Slower (multiple API calls).

Results show numbered references [N] that can be used directly in query_database, get_field_info, etc. Field names also work.

Args: ems_system_id: EMS system ID. database_id: Database ID or name (e.g. "FDW Flights"). mode: "search" (fast keyword), "browse" (navigate groups), or "deep" (BFS). search_text: Search keyword (required for search and deep modes). group_id: Field group ID to navigate into (browse mode only). max_results: Maximum results (search/deep modes, default: 50). max_depth: Maximum traversal depth (deep mode, default: 5, max: 10). max_groups: Maximum API calls (deep mode, default: 50, max: 200). show_ids: If True, show full IDs inline instead of numbered references.

Returns: Fields with names, types, and IDs (or numbered references).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ems_system_idYes
database_idYes
modeNosearch
search_textNo
group_idNo
max_resultsNo
max_depthNo
max_groupsNo
show_idsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: performance differences ('fast' vs 'slower'), API call implications ('multiple API calls' for deep mode), constraints ('Does NOT work on entity-type databases' for search mode), and output format ('numbered references [N]' usable in other tools). It lacks details on error handling or permissions, but covers most operational aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (overview, mode details, args, returns) and uses bullet points for readability. Every sentence adds value, such as explaining mode differences or parameter interactions. It could be slightly more front-loaded by stating the core purpose more prominently, but overall it's efficient and informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (9 parameters, multiple modes) and no annotations, the description is highly complete. It covers input semantics, behavioral context, output usage ('Results show numbered references'), and ties to sibling tools. The presence of an output schema means return values are documented elsewhere, so the description appropriately focuses on usage and integration.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate fully. It adds significant meaning beyond the bare schema: explains each mode's purpose, which parameters are required for which modes (e.g., 'search_text' required for search/deep), default values and limits (e.g., 'max_depth: default: 5, max: 10'), and practical usage notes (e.g., 'group_id to drill down' in browse mode). This transforms cryptic parameter names into actionable guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find fields in a database' with three specific modes (search, browse, deep). It distinguishes from siblings like 'get_field_info' (which likely retrieves details for a known field) and 'query_database' (which uses fields for queries), making the scope explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use each mode: 'search' for fast keyword searches (not on entity-type databases), 'browse' for navigating field groups, and 'deep' for BFS traversal (works on all databases, slower). It also mentions alternatives like using results in 'query_database' or 'get_field_info', helping the agent choose appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other 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/mattsq/ems-mcp'

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