Skip to main content
Glama
awalcutt

Washington State Legislature MCP Server

by awalcutt

get_bills_by_year

Retrieve all bills from a specific year, with optional filters for agency (House or Senate) and active status.

Instructions

Retrieve all bills from a specific year with optional filtering.

This function retrieves all legislation for a year and allows filtering by agency (House or Senate) and active status.

Args: year: Year in format "YYYY" (e.g., "2025") (optional, defaults to current) agency: Filter by originating agency ("House" or "Senate") (optional) active_only: If True, only return active bills

Returns: Dict containing list of bills matching the criteria

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearNo
agencyNo
active_onlyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior3/5

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

With no annotations, the description must fully disclose behavior. It describes retrieval and filtering, implying a safe read operation. However, it lacks details on potential side effects, rate limits, or any authentication requirements.

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 well-structured with a clear short description and docstring format for arguments and returns. It is concise but could omit the docstring style for even more brevity.

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 retrieval tool with three optional parameters and an output schema, the description covers the essential functionality. It explains what the return value contains (dict with list of bills), which is sufficient given the output schema exists.

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

Parameters5/5

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

The input schema has no descriptions for parameters (coverage 0%). The description fully explains each parameter: year format, agency values ('House' or 'Senate'), and active_only boolean. This adds significant meaning beyond the schema.

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 it retrieves all bills from a specific year with optional filtering. However, it does not differentiate from sibling tools like search_bills, which might also retrieve bills.

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 like search_bills or get_bill_info. The description does not include any when-to-use or when-not-to-use criteria.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/awalcutt/wa-leg-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server