companies_get
Fetch a single company by id (includes employees, deals, addresses, custom fields).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company UUID. |
Fetch a single company by id (includes employees, deals, addresses, custom fields).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company UUID. |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries some burden. It discloses that the response includes related data (employees, deals, addresses, custom fields), which is useful. However, it does not mention performance implications, rate limits, or authorization requirements. Given it's a read operation, the lack of destructive hints is not alarming, but more behavioral context (like pagination or data volume) would be helpful.
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?
The description is a single, compact sentence that front-loads the primary action and resource, then adds the key detail about included related data. There is no fluff or repetition, and it is immediately scannable.
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?
Given the tool is a simple single-entity fetch with one parameter, the description is largely sufficient. It conveys the core purpose and the scope of the response. It could be slightly more complete by noting any side effects (e.g., read-only nature) or edge cases (e.g., error handling for non-existent ids), but these are minor given the simplicity and no output schema needed.
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?
The schema has 100% description coverage for the only parameter (id: Company UUID), so the description adds minimal extra meaning for parameters. However, the description does add context by explaining what data will be returned for that id, which is beyond the schema's simple type definition. Baseline is 3, and the added context on return scope justifies a 4.
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?
Clearly states the action (fetch), the resource (a single company by id), and explicitly lists the included related data (employees, deals, addresses, custom fields). This differentiates it from companies_list (which presumably fetches multiple companies) and other single-entity getters like contacts_get or deals_get.
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?
The description implies when to use it (when you need a company and its related data), but it does not explicitly state when not to use it or mention alternatives. For example, it doesn't say 'use companies_list to fetch multiple companies' or 'use addresses_list for only addresses'. The inclusion of related resources hints at its richer scope, but lacks explicit guidance.
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.