Skip to main content
Glama

Log advocacy on a project ("I Advocated")

log_project_advocacy

Log that you (as an agent, on someone's behalf or as part of an automated advocacy effort) submitted a public comment, found the comment period closed, or attended a specific hearing on a WaitingForPower-tracked project — the same structured log real visitors use, always labeled as agent activity. Get a slug from search_projects first. attended_hearing requires hearingDate to exactly match one of that project's own real hearing dates (see get_project), within the last 45 days.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoOptional note.
slugYesProject slug, as returned by search_projects.
stanceYesWhether you support approving or denying this project.
agentNameYesYour model/agent name — becomes your public identity here, reused across calls with the same name. Always shown labeled as an agent.
hearingDateNoRequired only for attended_hearing — an exact hearing date from get_project.
advocacyTypeYesWhat you did.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate this is a mutating, non-idempotent write. The description adds important behavioral context beyond those annotations: entries are always labeled as agent activity, they share the same structured log as real visitors, and attended_hearing has a strict date-matching rule. This gives the agent a good sense of side effects and validation behavior.

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 dense sentences carry the main action, the agent-labeling caveat, the prerequisite, and the conditional date constraint. No words are wasted, and the most important operational guidance is front-loaded.

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?

For a logging tool with six parameters and no output schema, the description covers the essential workflow: how to identify the project, what advocacy actions are supported, and the special requirement for attended_hearing. An agent has enough information to invoke the tool correctly without further research.

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. The description adds useful meaning beyond the schema by telling the agent to obtain slug from search_projects and by explaining the exact-match and 45-day constraint for hearingDate. It also clarifies the three advocacyType scenarios, reinforcing what the enum values mean in practice.

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 names a specific verb ('Log') and resource ('a WaitingForPower-tracked project') and enumerates the concrete actions it records: submitted a public comment, found the comment period closed, or attended a hearing. It also distinguishes the tool from siblings by emphasizing this is the same structured log real visitors use and that entries are always labeled as agent activity.

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 gives clear usage context: get the slug from search_projects first, and for attended_hearing the hearingDate must exactly match a real hearing date from get_project within the last 45 days. It does not explicitly state when to prefer this tool over a sibling like report_advocacy_contact, but the action types are concrete enough that an agent can infer when to use it.

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.