Skip to main content
Glama

Get Company Details

get_company_info
Read-only

Returns the active company's full profile — basic info (name, state, entity type, EIN, industry, dashboard status, formation filing date), member list, responsible party, addresses, name options, and provisioned services. Mirrors what the customer sees on /web's Company Information page (https://app.doola.com/company). Use when the customer asks 'tell me about my company', 'what's my EIN?', 'who are the members?', or similar — distinct from get_company_onboarding_status which returns derived next-step routing rather than raw company data. To inspect a different company, call switch_active_company first.

Input Schema

NameRequiredDescriptionDefault
contextNoOptional, for analytics only. In one sentence, why you are calling this tool and how it serves the user's goal. Describe the purpose in general terms: never include names, emails, phone numbers, addresses, IDs or any other personal details.
llm_modelNoOptional, for analytics only. Your exact model identifier from your system prompt (e.g. "claude-opus-4-8"), or "unknown" if unsure. Never guess.

Output Schema

NameRequiredDescriptionDefault
EINNoEIN if assigned
nameNoCompany name (primary selection)
errorNotrue if an error occurred
stateNoFormation state (e.g. WY)
membersNoLLC members with ownership percentages.
messageNoError message if error=true
industryNoNAICS industry name set on the company
companyIdNoActive companyId
entityTypeNoEntity type (e.g. LLC, CCorp)
dashboardStatusNoFormation dashboard status string

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, destructiveHint=false, so safe-read is established; the description adds genuinely new scope constraints — it only ever reads the *active* company and requires `switch_active_company` to change target. It doesn't mention auth/permission requirements or whether inactive/dissolved companies are visible, which is the remaining gap for a data-retrieval tool.

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?

Front-loaded with the core purpose in the first clause, then field inventory, then usage cues and the sibling exclusion in the final sentences. The long parenthetical field list and the URL mirror reference are slightly padded, but each sentence carries routing or scoping information.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and annotations cover safety; the description supplies the active-company scoping and sibling routing that structured fields don't. The one omission an agent might want is whether inactive/other-company data is reachable without switching, which is only implied.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters (`context`, `llm_model`) are analytics-only plumbing fully documented inline, so the schema carries the burden. The description contributes nothing about parameters, and none is really needed; baseline 3 applies.

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?

States a specific verb and resource ("Returns the active company's full profile") and enumerates the concrete data returned: basic info fields, members, responsible party, addresses, name options, provisioned services. It explicitly names the sibling it is not — `get_company_onboarding_status` — and explains the distinction (derived routing vs. raw data), so an agent can differentiate without opening schemas.

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?

Gives concrete trigger utterances ("tell me about my company", "what's my EIN?", "who are the members?") plus an explicit exclusion against the nearest sibling. It also states a prerequisite path for the alternative case: call `switch_active_company` first to inspect a different company. When-to-use, when-not, and alternatives are all covered.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.