Skip to main content
Glama
JonnyWaffles

va-lis-mcp

by JonnyWaffles

get_member

One member's roster record: name, chamber, party, district, status, contact.

Instructions

One member's roster record: name, chamber, party, district, status, contact.

Reads the session roster, which is the authoritative source (LIS's by-id endpoint answers nothing for some sitting members). Use get_member_committees for seats, get_member_bills for patronage, get_member_votes for the voting record, and get_member_office for the district office.

Input Schema

NameRequiredDescriptionDefault
member_idYes
session_codeYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that it reads the session roster and that LIS's by-id endpoint returns nothing for some sitting members, which is a real behavioral quirk an agent should know. It does not cover error/not-found behavior or whether lookups are cheap, which keeps it from a 5.

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-loads the return payload before the routing guidance, and the sibling list, while long, is dense and earns its place. Slightly list-heavy but no filler sentences.

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?

An output schema exists so return values need not be described, and the sibling routing is complete. However, the two required parameters have zero documentation in either schema or description, leaving an agent without guidance on how to supply session_code 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% for both required parameters (member_id, session_code) and the description adds nothing about them – no explanation of where session_code comes from, whether it is required for historical lookups, or valid formats. With two undocumented required params, the description fails to compensate for the schema gap.

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?

Names the specific resource (one member's roster record) and enumerates the fields returned (name, chamber, party, district, status, contact), which makes it immediately distinguishable from siblings like list_members or get_member_votes. It also states the underlying source (the session roster).

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 routes the agent: get_member_committees for seats, get_member_bills for patronage, get_member_votes for voting record, get_member_office for district office. This is a textbook when-to-use-this-vs-alternatives block.

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