Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PSLRA_DBNoSQLite file. Default `~/.pslra-tracker/tracker.db`.
PSLRA_JEVNoSet to `0` to keep the key but force regex only.
PSLRA_API_TOKENNoOptional static bearer token for scripts, HTTP mode only.
PSLRA_PUBLIC_URLNoSame as `--public-url`. The public https address Claude will use.
PSLRA_USER_AGENTNoHow the tracker identifies itself to sources.
TYPESAFE_API_KEYNoOptional. Turns on Jev classification.
COURTLISTENER_TOKENNoOptional. Lifts CourtListener's anonymous rate limit.
PSLRA_AUTH_PASSWORDNoRequired with `--public-url`. The sign-in password for the remote connector.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
refresh_casesA

Run one pass: read the newswires, set aside what is not a filed case, extract ticker / class period / deadline, and merge each announcement into its lawsuit.

sources: any of prnewswire, businesswire, globenewswire (default: all three). days: look-back window. max_fetch: cap on article bodies read per source this run; anything over the cap is deferred to the next run, not dropped. include_courts: also sweep CourtListener for securities dockets (nature of suit 850) and link them to cases. A source that cannot be reached is reported under its name with an error and retried next time.

list_casesA

List tracked securities class actions, soonest lead plaintiff deadline first.

status: open (deadline today or later), expired, no_deadline_found, or all. due_within_days: only cases whose deadline falls within this many days. ticker: exact stock ticker. query: substring of the company name. first_seen_since: ISO date; only cases first seen on or after it (what is new).

get_caseA

Full detail for one case by id, or every case for a ticker: the deadline and how many announcements voted for each date, the class period, every firm that announced it, the linked court docket when one was found, and every source announcement with how it was matched.

search_announcementsB

Search every announcement the tracker has read, including those set aside, with the decision made about each (why it was set aside, or which case it joined and by which rule). kind: filing, reminder, investigation, settlement or other. source: e.g. prnewswire.

list_court_docketsA

Federal dockets filed under nature-of-suit code 850 (Securities/Commodities), from CourtListener. These appear the day a case is filed, typically weeks before any press release.

A filing code is not a classification: code 850 also carries derivative suits, SEC enforcement and individual investor suits. classification is read from the caption and cover sheet only (classified_by says whether a keyword rule or the Jev model decided), so securities_candidate means "not ruled out", and even securities_class_action is unconfirmed until the complaint is read. unmatched_only: dockets not yet linked to a tracked case (possible cases no firm has announced).

source_statusA

Whether the Jev classifier is active, and every source with whether it is switched on, when it last succeeded, its last error, and the newest announcement reached, plus record counts. A source whose newest announcement has not moved for days while others are current has quietly stalled.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation4/5

Most tools have clearly distinct purposes: ingestion, case lookup, case listing, announcement search, docket listing, and source health. The main ambiguity is between get_case and list_cases, since get_case with a ticker returns every case for that ticker while list_cases also lists cases with ticker/filter options.

Naming Consistency4/5

Five of six tools follow a clear verb_noun snake_case pattern: refresh_cases, get_case, list_cases, search_announcements, list_court_dockets. The only deviation is source_status, which is a noun phrase rather than a verb-led action, but the overall convention remains readable and consistent.

Tool Count5/5

Six tools is well-scoped for a focused PSLRA case-tracking server. Each tool covers a distinct part of the workflow: ingestion, case detail, listing, announcement search, docket discovery, and source health.

Completeness4/5

The surface covers ingestion, lookup, listing, announcement search, court docket discovery, and source diagnostics, which is strong for the domain. Minor gaps remain, such as no direct tool to manually create or update a case, but the automated refresh and query tools cover the core lifecycle.

Maintenance

ActivityMaintained
ResponsivenessNo issues