Skip to main content
Glama

US compliance and books health

List compliance obligations

list_compliance_obligations
Read-onlyIdempotent

START HERE. Given whatever you know about a company, return the federal and state compliance obligations that apply, ordered by urgency with overdue items first, plus the specific questions that unblock the rest. Call it immediately with partial facts rather than interviewing the user first: it is designed for incomplete input, and every fact you are missing comes back as one precise question instead of the dozen generic ones you would otherwise ask. Then answer those and call it again. Defaults to a short actionable view; relay it roughly as written rather than expanding it into an essay, and pass detail='full' only when the user asks for evidence tiers and remediation detail. Covers US federal plus CA, CO, DE, FL, GA, IL, MA, NJ, NY, PA, TX and WA; every other state is reported honestly as not yet covered. This never tells you whether you are compliant, only what to check.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detailNoDefault 'brief': what applies, when it is due, and the questions, with no evidence or remediation detail. Around a third the length of 'summary' and it is what a founder can actually act on. 'summary' adds one check and one next step per item. 'full' adds every evidence tier, innocent explanation and remediation step and runs to several thousand words, so use it only when the user asks for that depth. Prefer staying brief and calling get_evidence_recipe or explain_obligation for the one or two items that actually matter.
answersNoAnswers to the yes/no threshold questions this tool asks, keyed by the threshold id shown in the question, e.g. { "foreign-accounts-over-10k": false, "ny-sales-over-500k": false }. Without this the same questions repeat forever and the obligations behind them can never resolve. Omit a key you genuinely do not know.
tax_yearNoTax year under review. Defaults to last calendar year.
sells_saasNoWhether the product is SaaS. New York taxes SaaS as prewritten software.
entity_typeNoLegal entity type.
company_nameNoOptional, and the only identifying thing this tool records. Median stores it to see which companies use this tool and may follow up. It changes nothing about the answer, so omit it if the user has not agreed to share it. Send the legal entity name only, never an address, EIN or anything from a document.
revenue_bandNo
sales_statesNoStates with customers.
foreign_ownedNoWhether any non-US person owns 25% or more. Leave unset if genuinely unknown.
payroll_modelNoCritical. An employer of record holds state registrations under its own entity, so the answer flips entirely on this.
presence_typeNoPer-state presence, e.g. { NY: 'virtual-mailbox' }.
registered_inNoWhether the company is already registered to do business in a state, e.g. { NY: false }. Drives obligations that only begin at registration.
formation_dateNoISO date the entity was formed.
employee_statesNoStates where W-2 employees work.
fiscal_year_endNoMM-DD, e.g. '12-31'. Defaults to 12-31.
formation_stateNoTwo-letter state of formation, e.g. 'DE'.
extensions_filedNoWhether a tax extension was filed, keyed 'US' for federal and by state code, e.g. { US: true, NY: false }. OMIT a key you are unsure about: no deadline is asserted for an unknown key, because assuming an extension tells a late filer they have months in hand.
operating_statesNoStates where the company operates.
payroll_providerNoThe provider's name only, e.g. 'Deel', 'Gusto', 'Rippling'. Not account numbers, not employee details, not anything else.
contractor_statesNoStates where 1099 contractors work.
formation_platformNoDecides whether a bundled first-year registered agent explains a missing fee.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations include readOnlyHint=true and idempotentHint=true, which the description does not contradict (the tool only returns information and asks questions, no mutation). The description adds valuable behavioral context beyond annotations: it explains the iteration loop (call again with answers), the coverage limitation (only certain states covered, others reported honestly as not yet covered), and the critical limitation that it 'never tells you whether you are compliant, only what to check.' It also discloses that company_name is recorded for analytics ('Median stores it to see which companies use this tool and may follow up' - a transparency plus). The only minor gap is it does not explicitly state that calling without answers will still return questions, but the iteration loop implies that. Given annotations cover safety, a 4 is appropriate for the rich added context.

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 a single substantial paragraph, which is dense but well-structured and front-loaded with the most critical instruction ('START HERE'). Every sentence earns its place: the entry-point directive, the iteration loop, the default view guidance, the state coverage limitation, and the compliance scope disclaimer. It is not verbose or repetitive, but it is long (over 150 words). For a tool with 21 parameters and high complexity, this length is justified. However, it could arguably be split into clearer sub-sections, but the narrative flow is logical. A 4 is appropriate for being appropriately sized, though it is on the upper edge of conciseness.

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 tool's high complexity (21 parameters, nested objects, no output schema), the description is remarkably complete. It explains the core behavior (returns obligations and questions), the iteration protocol, the default output format and when to deviate, the geographic coverage limitation, and the tool's non-verdict nature. It also implicitly explains the purpose of the 'answers' parameter in breaking the question loop, which is critical for successful use. The only potential gap is that it does not describe the exact format of the return value, but since there is no output schema, the description's statement that it returns 'compliance obligations... plus the specific questions' is sufficient for an agent to know what to expect. This is a model of contextual completeness for a complex tool.

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

Parameters4/5

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

The input schema already provides extensive descriptions for each parameter (95% coverage), so the baseline is 3. The tool description itself adds significant parameter-level guidance: it mentions the 'detail' parameter and when to pass 'full', it highlights 'payroll_model' as 'Critical' (though that is in the schema description), and it emphasizes the iteration behavior tied to the 'answers' parameter. Notably, the description references the 'answers' parameter's role in breaking the loop ('Without this the same questions repeat forever'). However, the most valuable parameter semantics live in the schema, not the description, so a 4 is fair given the description supplements rather than replaces the schema. The description's mention of 'detail' and the 'answers' loop are meaningful additions beyond the schema.

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 is exceptionally clear: 'START HERE... return the federal and state compliance obligations... ordered by urgency with overdue items first, plus the specific questions that unblock the rest.' It names the verb (return/list), the resource (compliance obligations), the scope (federal and state, covering US plus 12 specific states), and the ordering behavior. It also differentiates from siblings by saying 'START HERE' and explicitly noting it is the entry point for the workflow, while siblings like explain_obligation, get_evidence_recipe, and list_books_checks serve downstream needs. The purpose is unambiguous and distinct.

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 when-to-use and when-not-to-use guidance: 'Call it immediately with partial facts rather than interviewing the user first' and 'it is designed for incomplete input.' It instructs the agent to iterate: 'Then answer those and call it again.' It also specifies when not to use certain parameters ('pass detail='full' only when the user asks for evidence tiers and remediation detail') and names alternatives ('Prefer staying brief and calling get_evidence_recipe or explain_obligation for the one or two items that actually matter'). This is exemplary usage guidance, far exceeding the minimum.

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.

TDQS

A4/5.0
Disambiguation4/5

Tools mostly demand exactly one job: the list/explain/score path is clearly labeled per domain, and the START-HERE markers guide entry points. The fuzzy spots are get_conf_lefts and get_evidence_recipe (both refinement steps after list_compliance_obligations) plus list_services vs get_company_overview (they overlap on what Median does); these are distinguishable from the descritions but are the kinds of pairs that could send an agent the wrong way.

Naming Consistency5/5

All twelve names follow the same verb_noun snake_case convention with consistent verbs: list the collections (_lists), get facts/computed refinements, explain single-item detail, and score the assessment. The pair structure (list vs explain vs proof) makes the intent predictable from the name for the first decode.

Tool Count4/5

Twelve tools is right within the ideal for a domain-focused server: seven true domain tools (compliance + books) and five content/take-usational helpers. The content cluster (services, overview, pricing, blog, blog_post) is a bit tangential to a compliance/books mission, but this is a company-fronting server, so the zone works with a reason.

Completeness4/5

Both workflows close their loop: compliance has list → explain → confounders → evidence, and books has list → explain → score, with no obvious dead-end in either. Minor residuals exist (no explicit tool for showing covered versus non-covered states, other collaboration across the two domains), but an agent can work out these as of today's.