Skip to main content
Glama

us-lobbying-mcp-server

Uslobbying Get Client Profile

uslobbying_get_client_profile
Read-onlyIdempotent

Resolve client relationship records by client_name in mode resolve (default), then use mode profile with explicit client_ids and years. Select candidates[].id, preserving secondary client_id as source data. IDs identify registrant relationships, not a verified corporate identity. Follow collecting cursors before interpreting separate income and expense ledgers. Typed rows preserve every audit filing; pass a selected filing UUID to uslobbying_search_filings for its complete record. Optional canvas datasets support SQL.

Input Schema

NameRequiredDescriptionDefault
modeNoresolve (default) finds client_name candidates; profile requires selected client_ids and years. Omit on continuation.
yearsNoRequired explicit analytical year scope; sorted and deduplicated.
cursorNoContinue the original scope; other query fields may be omitted.
row_setsNoInline analytical sets; omit for all sets. Selection never limits acquisition, totals or SQL staging. Omitted sets remain available from a new call with another selection or staged tables. Continue with omitted or equivalent row_sets.
canvas_idNoReuse this canvas only after complete analytical acquisition.
max_pagesNoSource pages per call; positive integers clamp to five, default one for discovery, five for analysis.
page_sizeNoUpstream rows per page; positive integers clamp to 25, default 25.
client_idsNoRequired explicit relationship record IDs from candidates[].id in profile mode; candidates[].client_id is a secondary source number.
client_nameNoRequired literal name in resolve mode.
record_pathNoJSON Pointer to a stored value; empty selects the root.
record_limitNoMaximum object entries or array items, clamped to 25; text fragments use the response byte budget.
record_handleNoTenant/tool-bound deferred record handle.
record_offsetNoKey, item or Unicode-code-point offset.

Output Schema

NameRequiredDescriptionDefault
modeNoClient resolution or selected relationship analysis; absent on stored-record retrieval.
errorNoPresent when the call failed. Absent on success.
firmsNoFirm breakdowns in this window.
yearsNoExplicit requested years.
offsetNoFinal record delivery offset.
sourceNoOfficial source system.
statusNoSource acquisition status, separate from row delivery.
datasetNoComplete SQL metadata on the first final window and its replay.
noticesNoLimitations and success notices.
coverageNoAcquisition progress, independent of delivery.
guidanceNoNext profile-mode selection step.
canvas_idNoTenant-scoped canvas access token.
truncatedNoMore data is available through next_cursor or record_handles; no source data was discarded.
activitiesNoSelected activities in this window; no money columns.
candidatesNoAll matching relationships; never auto-merged.
client_idsNoCaller-selected client relationship IDs.
query_toolNoQuery or retrieve materialized table rows.
selectionsNoVersion-selection decisions in this window.
attributionNoRequired verbatim attribution for LDA data.
issue_codesNoOverlapping issue breakdowns in this window.
methodologyNoAccounting limitations.
next_cursorNoNext acquisition or output window cursor.
raw_filingsNoAll acquired versions in this window, including selected versions.
retrieved_atNoRetrieval ISO timestamp.
describe_toolNoInspect exact table schemas before SQL.
record_windowNoLossless stored parent window.
total_recordsNoExact final record count when known.
annual_ledgersNoComplete-year ledgers in this window; absent while collecting.
record_handlesNoDeferred complete parents.
retrieval_toolNoTool that retrieves this parent.
row_set_totalsNoExact all-set totals after acquisition completes.
delivery_limitsNoClamped controls for this call; an empty map means no clamp. Immediate cursor replay retains its original values.
output_completeNoWhether all result rows have been delivered.
row_set_offsetsNoSelected-set rows delivered or deferred before this window; others zero.
canvas_availableNoSQL canvas support is enabled.
records_deferredNoOversized parents available through handles.
records_returnedNoComplete records delivered in this window.
selected_filingsNoComplete selected filings in this window.
attribution_basisNoWhole filings mentioning an issue; buckets overlap.
cursor_expires_atNoContinuation expiry ISO timestamp.
effective_filtersNoNormalized effective scope.
targeted_entitiesNoTargeted entities in this window.
snapshot_source_urlsNoOfficial snapshot URLs.
snapshot_retrieved_atNoFARA snapshot retrieval timestamp.
snapshot_last_modifiedNoUpstream Last-Modified header.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/open-world, but the description adds non-obvious behavioral caveats: IDs identify registrant relationships rather than verified corporate identity, typed rows preserve every audit filing, and cursors must be collected before interpreting separate income/expense ledgers. These are real behavioral disclosures beyond the structured fields, though pagination and response-size behavior are only in the schema.

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 dense and front-loaded with the core workflow in the first sentence and refinements (cursors, filing UUID handoff, canvas SQL) after. It is jargon-heavy but each sentence carries information; minor tightening could improve it.

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?

For a 13-parameter, two-mode tool with an output schema and read-only annotations, the description covers the workflow, the ID caveat, cursor handling, and the handoff to search_filings. Return-value details are delegated to the output schema appropriately; only minor gaps (e.g., canvas staging details) remain.

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?

Schema coverage is 100% so the baseline is 3, but the description adds genuine meaning: it clarifies that candidates[].id should be selected while the secondary client_id is preserved as source data, and explains the resolve/profile mode split. That goes beyond restating schema field descriptions.

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

Purpose4/5

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

The description states a specific verb and resource ('Resolve client relationship records by client_name') and clearly delineates the two modes (resolve vs profile). It names one downstream sibling (uslobbying_search_filings) but does not distinguish itself from the other search_* siblings, so it is clear but not fully differentiated.

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

Usage Guidelines4/5

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

It gives an explicit two-step workflow (resolve by client_name first, then profile with explicit client_ids and years) and tells the agent to follow collecting cursors before interpreting ledgers. It routes the agent to uslobbying_search_filings for complete filing records, though it does not explicitly say when NOT to use this tool versus the other sibling searches.

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.