cicada.guide plugin docs

Troubleshooting

Common problems when using the plugin, with the fix for each.

The server doesn't show up, or shows as disconnected

Run /mcp in Claude Code. The plugin's server is listed as guide-public.

  1. Check the server is up. From a terminal, curl https://public.cicada.guide/health should return {"status":"ok"}. If it doesn't, the hosted server is down and nothing on your side will fix it. Try again later, or open an issue.
  2. Check the plugin is installed and enabled. /plugin opens the plugin manager. To reinstall, run the two install commands below the list, one at a time.
  3. Reload plugins. Run /reload-plugins, or quit and restart Claude Code.
  4. Check your network. Claude Code must reach https://public.cicada.guide over HTTPS. A corporate proxy or firewall that blocks it shows up as a failed connection, not as a tool error.
In Claude Code
/plugin marketplace add cicada-guide/plugin
/plugin install cicada-guide@cicada-guide

No sign-in is ever needed. If a host asks you to authenticate to guide-public, the host has made a mistake; the server accepts anonymous callers.

Slash commands are missing

/help should list /cicada-guide:research-legislation, /cicada-guide:voting-record, and /cicada-guide:contact-legislator. If they're missing, the plugin isn't enabled in this session: check it in /plugin, then run /reload-plugins. The always-on skill has no command; it loads by itself when you ask about state legislation.

A call fails with "has not been loaded yet"

Some hosts list MCP tools by name only until the model loads their definitions, and a call made before that fails in the client. The plugin tells Claude to load a tool's definition before the first call. If it happens anyway, ask Claude to load the tool and retry.

Rate limit errors (HTTP 429)

Anonymous callers are limited to 60 calls a minute, counted per IP address. Past that, a call fails with "Rate limit exceeded. Retry in 60 seconds."

  • Claude tells you when the limit is hit and resumes after a minute. Retrying straight away uses up the next window too.
  • Large sweeps, such as a topic across many states, run faster as a few narrower requests.
  • Callers behind one shared IP address (an office network, a CI runner, a VPN) share one limit.

An answer looks cut off

List results come in pages fitted under 25,000 characters, and long bill text comes in parts. A truncated response is not the complete answer. Ask Claude to page through the rest, or narrow the request to one session, one chamber, or a date range.

Tool errors

Errors come back as tool results, not as a crash, in one of two shapes:

Error: …
The server understood the call but couldn't answer it, for example a votes query with no filter, or a search too broad for the time limit. The message names the problem: narrow the request or add the missing filter.
MCP error -32602
The call passed a parameter the tool doesn't accept. It's usually a guessed parameter name: ask Claude to check the tool reference and retry.

An empty result is not an error. It means nothing matched; try a broader search.

Cards don't appear

Cards render only in hosts that support MCP Apps. A text-only host, such as Claude Code in the terminal, shows no card, and that's expected: every answer is written from the data tools so it stands on its own. If you expected a card in a host that does render them:

  • Check that the call ran. A card appears only when Claude calls show_bill, show_official, show_person_record, or search_bills. A topic search that lists several bills doesn't end with a bill card until you pick one.
  • Check for an error. A card call that failed puts nothing on screen.
  • Subagent results name a card rather than showing one. If the card didn't appear afterward, ask Claude to show it.

Contact details, chamber, or district are "not on record"

The plugin reports only what the tools return. Most officials have no contact details on record, and some have no recorded seat. Claude says so rather than guessing: it never builds an email address or phone number from a pattern, and doesn't search the web for one unless you ask. The state legislature's own website is another place to look.

The answer names the wrong legislator

Legislators with the same name are different people. Name the state, the party, or a session or bill the person voted on, and Claude can tell them apart. When the records can't settle it, the plugin lists the candidates rather than guessing.

No tool maps an address or district to a legislator, so asking about "my senator" without a name gets a question back: give the legislator's name and state. If you don't know the name, look it up on your state legislature's website.

Still stuck

Open an issue at github.com/cicada-guide/plugin/issues. Include the question you asked, what happened, and the error text if there was one. Keep personal details out of it. Security issues go through the security policy instead.