Skip to main content
Glama

Server Details

Stock trades of U.S. Congress & executive-branch officials, with conflict flags. Read-only.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 3.7/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct operation: aggregates provides summary stats, search_trades for general search, list_recent_trades for recent entries, get_person_trades by individual, get_ticker_activity by ticker, and list_conflicts for flagged conflicts. No overlapping functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case: list_ for listing, get_ for retrieval, search_ for searching, and aggregates as a descriptive noun. No mixing of conventions or inconsistent verbs.

Tool Count5/5

With 6 tools, the server is well-scoped for a trades disclosure API. Each tool covers a core operation (search, list recent, by person, by ticker, conflicts, aggregates) without being excessive or sparse.

Completeness4/5

The tool set covers primary read operations and provides filtering via shared parameters. Minor gaps include no explicit 'get single trade by ID' or a tool to list available branches/roles, but the core workflow is well-supported for typical queries.

Available Tools

6 tools
aggregatesA
Read-onlyIdempotent
Inspect

Summary stats over the filtered set: totals, branch split, most-active officials, top tickers bought/sold (per individual stock), top sectors bought/sold, potential conflict count, date range. Accepts the same branch/role/since/until/type/ticker filters as search — pass branch=congress + role=Senate + since=YYYY-MM-DD to scope. Use this BEFORE paginating search_trades when you only need ranked counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoChamber (Senate/House) or title substring
typeNoDirection: "buy", "sell", or "exchange" (case-insensitive)
sinceNo
untilNo
branchNoEither "congress" or "executive" (case-insensitive)
tickerNo
Behavior4/5

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

Annotations mark it as readOnlyHint and idempotentHint, which the description aligns with. The description adds that it returns aggregated statistics, not raw data. No further behavioral details (e.g., performance) are needed given annotations.

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

Conciseness5/5

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

Two succinct sentences. First sentence lists what is returned; second provides usage context and example. No extraneous words.

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 no output schema, the description sufficiently covers return contents. It also ties into the sibling context by referring to search_trades. Minor gap: does not clarify if the stats are counts or monetary values.

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 50%, but the description adds meaning by naming all six parameters (branch, role, since, until, type, ticker) and relating them to a known search filter set. The example clarifies how to use role, branch, and since together.

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 it provides 'Summary stats over the filtered set' and enumerates specific aggregations (totals, branch split, top tickers, etc.). This distinguishes it from sibling tools like search_trades which return individual records.

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?

Explicitly instructs to use this before paginating search_trades when only ranked counts are needed. Provides an example filter combination (branch=congress + role=Senate + since=YYYY-MM-DD).

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

get_person_tradesA
Read-onlyIdempotent
Inspect

All disclosed trades for a named member of Congress or executive-branch official.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
limitNo
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint. The description adds minimal behavioral context beyond stating 'All disclosed trades,' which implies comprehensive results. No contradictions, but limited added value.

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

Conciseness5/5

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

The description is a single concise sentence that efficiently communicates the tool's purpose with no wasted words. It is front-loaded and earns its place.

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

Completeness3/5

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

Given the tool's simplicity (2 params, no output schema), the description covers the core purpose but omits details like the optional limit parameter and return format. Minimal but adequate for a straightforward tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It implicitly clarifies the 'name' parameter as the person's name, but does not describe the 'limit' parameter or any format details. Adds some meaning but insufficient.

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 returns all disclosed trades for a named person, specifying both the resource (trades) and the scope (named member of Congress or executive-branch official). It distinguishes from siblings like search_trades which is more general.

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?

The description indicates when to use the tool: when you have a specific person's name and want all their trades. It does not explicitly mention when not to use it or alternative tools, but the context is clear.

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

get_ticker_activityB
Read-onlyIdempotent
Inspect

Which officials have disclosed trades in a given ticker.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYes
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description does not contradict them. However, it adds minimal behavioral context beyond stating the purpose, such as no mention of pagination, sorting, or output format. With annotations covering safety, a score of 3 is appropriate for the limited added value.

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

Conciseness5/5

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

The description is a single, concise sentence with no extraneous information. Every word adds value, and it is front-loaded with the core action, earning a top score for efficiency.

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

Completeness2/5

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

Despite low complexity (2 params, no output schema), the description fails to specify return values (e.g., list of officials, trade details). Without output schema, the description should compensate but does not, leaving the agent without crucial information for invoking the tool correctly.

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

Parameters2/5

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

Schema description coverage is 0%, meaning the description carries full burden. It clarifies that 'ticker' is the stock symbol, but provides no meaning for the optional 'limit' parameter (e.g., max number of results). This leaves ambiguity for the agent.

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 explicitly states the tool returns officials who have disclosed trades for a given ticker. It uses a specific verb ('disclosed trades') and resource ('officials'), clearly distinguishing it from sibling tools like get_person_trades (trades by person) and list_recent_trades (recent trades).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. Context signals list sibling tools (e.g., search_trades, get_person_trades), but the description lacks any comparison or exclusion criteria, leaving the agent to infer appropriateness.

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

list_conflictsB
Read-onlyIdempotent
Inspect

Trades flagged as a potential conflict (company sector overlaps the official's committee or agency). Accepts branch/role/since/until filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNo
limitNo
sinceNo
untilNo
branchNoEither "congress" or "executive" (case-insensitive)
Behavior4/5

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

The description adds context beyond annotations by explaining the conflict logic (company sector overlaps official's committee or agency). This clarifies the filtering mechanism. No contradiction with readOnlyHint or idempotentHint.

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 concise with two sentences: first states purpose, second lists filters. No filler text. Front-loaded with core functionality.

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

Completeness3/5

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

While it explains the conflict criterion and mentions filters, it lacks details on return format, pagination, response structure, or how filters interact. Adequate for a read-only list tool but missing behavioral expectations.

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

Parameters2/5

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

With only 20% schema description coverage (only branch has details), the description lists four parameter names (branch, role, since, until) but omits 'limit' and lacks any semantic detail beyond the names. This does not compensate for the schema gaps.

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?

Clearly states the tool lists trades flagged as potential conflicts due to sector overlaps. The description is specific and differentiates from siblings like list_recent_trades or search_trades by focusing on conflict status. However, it could be slightly more explicit about the verb (e.g., 'list').

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like search_trades or list_recent_trades. The description only mentions accepted filters but does not indicate context, prerequisites, or exclusions.

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

list_recent_tradesA
Read-onlyIdempotent
Inspect

The most recently disclosed trades — newest first. Accepts the same branch/role/since/until/type filters as search_trades so an agent can scope to a chamber or window in one call.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoChamber (Senate/House) or title substring
typeNoDirection: "buy", "sell", or "exchange" (case-insensitive)
limitNo
sinceNoISO date lower bound
untilNoISO date upper bound
branchNoEither "congress" or "executive" (case-insensitive)
Behavior4/5

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

The description adds ordering behavior ('newest first') and filtering capabilities beyond the annotations. Annotations already declare readOnlyHint=true and idempotentHint=true, so the description provides complementary behavioral context without contradiction.

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

Conciseness5/5

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

Two sentences, no wasted words. Front-loaded with the core purpose ('most recently disclosed trades — newest first'). Every sentence adds value by defining scope and filter compatibility.

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 simple list tool with optional filters and no output schema, the description is sufficiently complete. It explains the ordering, filter reusability, and relationship to a sibling tool. A marginal improvement could explicitly mention that limit is optional, but the schema covers that.

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 83% (5 of 6 parameters have descriptions). The tool description only mentions the filter parameters collectively without adding new meaning. Baseline score of 3 is appropriate as the schema already does the heavy lifting.

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 returns the most recently disclosed trades in newest-first order. It distinguishes from the sibling search_trades by noting it accepts the same filters but is focused on recent trades.

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?

The description explicitly notes that the tool accepts the same filters as search_trades, implying an agent can use it to scope to a chamber or window in one call. However, it does not explicitly state when to use this tool over alternatives or when not to use it.

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

search_tradesB
Read-onlyIdempotent
Inspect

Search disclosed trades by person, ticker, branch, role (Senate/House/title), buy/sell, conflict flag, minimum dollar amount, and date window. Returns newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoChamber for Congress (Senate / House) or title substring for executive (President / Secretary / Administrator…), case-insensitive
typeNoTransaction direction: "buy", "sell" (includes partial sales), or "exchange". Case-insensitive.
limitNoMax results per page (default 100, capped 500)
sinceNoISO date lower bound (disclosure/trade date)
untilNoISO date upper bound
branchNoEither "congress" or "executive" (case-insensitive)
offsetNoSkip the first N matching rows — pair with limit to page through large result sets
personNoMember or official name (substring, case-insensitive)
tickerNoStock ticker, e.g. NVDA (case-insensitive)
conflictNoOnly trades flagged as a potential conflict
minAmountNoMinimum upper-bound of the disclosed dollar range
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds only the ordering detail 'Returns newest first.' No other behavioral traits (e.g., pagination behavior, rate limits, effect of filters) are disclosed beyond what annotations provide. This is adequate given the annotations.

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

Conciseness5/5

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

The description is a single concise sentence that efficiently enumerates key filters and ordering. No wasted words, and it is front-loaded with the verb and resource.

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

Completeness2/5

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

Given the absence of an output schema, the description does not explain what fields are returned in the results (e.g., trade date, amount, asset type). It only states 'Returns newest first', leaving the agent to guess the response structure. For a tool with 11 parameters and no output schema, this is insufficient.

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?

All 11 parameters have descriptions in the input schema (100% coverage), so the description adds minimal new information. It merely re-lists some parameter categories without enhancing meaning. Baseline 3 is appropriate.

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 clearly states the tool searches disclosed trades with specific filters (person, ticker, branch, role, buy/sell, conflict, etc.) and returns results newest first. The verb 'search' and list of filters make the purpose clear, but it does not explicitly differentiate from sibling tools like get_person_trades or list_recent_trades.

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

Usage Guidelines2/5

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

The description lists many filters but provides no guidance on when to use this tool versus alternatives. It does not mention scenarios where one of the sibling tools (e.g., get_ticker_activity, list_conflicts) would be preferable, nor does it specify prerequisites or exclusions.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources