Skip to content

WellState Labs SB 1150 Screening (read-only)

com.wellstatelabs/sb1150-screeningwellstatelabs.comstreamable-httpv1.1.0Scanned

Signed Texas SB 1150 screens. Cost proxies, not ARO, not legal determinations, not bond amounts.

9 tools: 3 change things and 6 only read.

Tools: 0 delete, 0 irreversible, 3 write, 6 read.
  • Reads private data · 3
  • Reads text others write · 1
  • Can send data out · 0
  • No findings

Anlyon alternative

3 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

9 tools

Changes things 3Claude Code: ask
  • screen_bookScreens a surety broker's book of up to 25 Railroad Commission of Texas operator numbers (principals) with the surety-book-v1 semantics: one row per principal in request order with…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Screens a surety broker's book of up to 25 Railroad Commission of Texas operator numbers (principals) with the surety-book-v1 semantics: one row per principal in request order with the P-5 letter verbatim (A labelled active, D delinquent, any other letter unlabelled), claims on file, AFFECTED on the evaluation date, approaching within 24 months, the Commission-published cost proxy with the priced claim count and the rate label read from the publication's cost_rate_basis (a fiscal year's Commission rates, or the publication's own label verbatim when it establishes no table year), unpriced claims, the Full Wellbore flagged counts (a cross-check only) and the 16 TAC §3.78 blanket floor from inactive wells only (a lower bound, not a bond amount). Book totals are given only where a sum is valid; unpriced claims and the floors are NOT_SUMMED, with the reason. Wellbores two principals of the book both claim are disclosed with the claims and cost the totals count more than once. A principal not in the publication refuses the whole book rather than leave a row out.

    Annotations the server declares

    • title: Screen a surety book of principals
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • screen_operatorsScreens up to 200 Railroad Commission of Texas operator numbers at once and returns one row per requested operator, in request order: inactive wellbores on the IWAR, affected, appr…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Screens up to 200 Railroad Commission of Texas operator numbers at once and returns one row per requested operator, in request order: inactive wellbores on the IWAR, affected, approaching by 2042-09-01 (compliance-plan horizon), contested, review and shared claims, Commission-published plugging cost on affected wellbores with its rate label, unpriced affected count, on editions that carry the Full Wellbore cross-check the affected claims whose wellbore that file flags as plugged (a cross-check only; it changes no outcome, count or cost), the crossing schedule by bucket (empty buckets left out of the rows), the raw P-5 status code, and a 16 TAC §3.78 blanket-assurance floor computed from inactive wells only (a lower bound, not a bond amount). Operators not in the publication come back as found:false rows. Includes totals over the found rows.

    Annotations the server declares

    • title: Screen a list of operators
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • verify_publicationRecomputes the publication root hash from the manifest copy bundled with this server, reports the SHA-256 and byte count of each manifest data file as verified against the manifest…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Recomputes the publication root hash from the manifest copy bundled with this server, reports the SHA-256 and byte count of each manifest data file as verified against the manifest when the server was built (all files, or the given paths), and re-hashes every bundled derived index file against its build attestation. Also returns the manifest URL and file URL template for an independent check, and the manifest's Full Wellbore cross-check counts when the edition carries them.

    Annotations the server declares

    • title: Verify publication hashes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 6Show 6 read-only tools
  • get_operator_exposureReturns one operator's SB 1150 screening exposure from the publication, by six-digit Railroad Commission of Texas operator number: wellbore claim counts (affected, approaching by 2…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_operator_exposure" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "return" and "file": it reads files.
    • untrusted-inputThe description's first sentence says "return" and "review": it reads comments, which other people can write.
    Description, as the server wrote it
    Returns one operator's SB 1150 screening exposure from the publication, by six-digit Railroad Commission of Texas operator number: wellbore claim counts (affected, approaching by 2042-09-01 (compliance-plan horizon), review, contested, shared), the Commission-published plugging cost summed over affected wellbores with its rate label, the crossing schedule by year as published and, on editions that carry the Full Wellbore cross-check, the affected claims whose wellbore that file flags as plugged (a cross-check only; it changes no outcome, count or cost).

    Annotations the server declares

    • title: Get operator SB 1150 exposure
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_plug_recordReturns the publication's plug record (contract 1.4.0 and later): W-3 plug dates on the Railroad Commission of Texas Full Wellbore file, counted by the calendar year the operator r…Reads private dataNo findings

    Why it is in this group

    • The name "get_plug_record" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "return" and "file": it reads files.
    Description, as the server wrote it
    Returns the publication's plug record (contract 1.4.0 and later): W-3 plug dates on the Railroad Commission of Texas Full Wellbore file, counted by the calendar year the operator reported and by district, as published. Without a district it returns the statewide count for each year and each district's count for each year. With a district it returns that district's years with state-funded plug numbers, well types and district bases. With rows_limit it pages the per-wellbore rows one district and one year's count is made of, each with the line of the Full Wellbore file it was read from. Every response carries the publication's claims with their labels (DOCUMENTED_FACT, INFERENCE, UNKNOWN), the two UNKNOWN claims that travel with every count, and the publication's statement of what the record is not. This server computes no figure from these counts and combines none with the screening counts. On an edition without a plug record the plug_record field is null.

    Annotations the server declares

    • title: Get the plug record
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_publicationDescribes the WellState SB 1150 screening publication served here: root hash, publication id, contract (schema) version, evaluation date, the Railroad Commission of Texas source fi…Reads private dataNo findings

    Why it is in this group

    • The name "get_publication" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "describe" and "file": it reads files.
    Description, as the server wrote it
    Describes the WellState SB 1150 screening publication served here: root hash, publication id, contract (schema) version, evaluation date, the Railroad Commission of Texas source file with its SHA-256, the screening rule parameters and headline counts, the Commission rate table the plugging costs were computed from, the manifest's Full Wellbore cross-check counts and, from contract 1.4.0, the plug record's basis with its claims and their labels (DOCUMENTED_FACT, INFERENCE, UNKNOWN), each when the edition carries it. The verified field is true when the bundled copy of the manifest recomputes to the pinned root hash and the derived-data attestation matches the digest pinned at build time.

    Annotations the server declares

    • title: Get publication details
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_wellReturns one wellbore's screening record by its 8-digit API number as the Commission's Inactive Well Aging Report records it (county code + unique number, no 42 state prefix): lease…No findings

    Why it is in this group

    • The name "get_well" says "get": a word for reading.
    Description, as the server wrote it
    Returns one wellbore's screening record by its 8-digit API number as the Commission's Inactive Well Aging Report records it (county code + unique number, no 42 state prefix): lease, well number, district, county, months inactive, oldest well record date (RRC), screening outcome, date affected, per-operator evaluations, Commission-published plugging cost with the per-foot rate it was computed from (fiscal year, district, USD per foot) when the edition publishes it, the Full Wellbore plug flag and latest W-3 plug date as a cross-check when the edition carries it (it changes no outcome, count or cost), and source line references.

    Annotations the server declares

    • title: Get wellbore screening record
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_operator_wellsLists one operator's wellbore claims from the publication, filtered by outcome (AFFECTED, APPROACHING or ALL; default AFFECTED) and sorted by Commission-published plugging cost des…No findings

    Why it is in this group

    • The name "list_operator_wells" says "list": a word for reading.
    Description, as the server wrote it
    Lists one operator's wellbore claims from the publication, filtered by outcome (AFFECTED, APPROACHING or ALL; default AFFECTED) and sorted by Commission-published plugging cost descending, unpriced wellbores last, then by API number. Returns one page of at most 100 rows plus the number matching and the Commission-published cost total over all matching rows (the same on every page). When more rows remain, next_cursor is set: pass it back as cursor, with the same operator_number and outcome, for the next page. A cursor is bound to the publication root that issued it.

    Annotations the server declares

    • title: List an operator's wellbores
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_operatorsFinds operators whose Railroad Commission of Texas name contains the given text, case-insensitive.No findings

    Why it is in this group

    • The name "search_operators" says "search": a word for reading.
    Description, as the server wrote it
    Finds operators whose Railroad Commission of Texas name contains the given text, case-insensitive. Returns up to 20 matches with operator number, display name, wellbore claims and affected count, ordered by affected count descending, then by name.

    Annotations the server declares

    • title: Search operators by name
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.

Reads private data3
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write1
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http sb1150-screening https://mcp.wellstatelabs.com/mcp
claude mcp add --transport http sb1150-screening https://mcp.wellstatelabs.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__sb1150-screening__get_publication",
      "mcp__sb1150-screening__get_operator_exposure",
      "mcp__sb1150-screening__search_operators",
      "mcp__sb1150-screening__get_well",
      "mcp__sb1150-screening__list_operator_wells",
      "mcp__sb1150-screening__get_plug_record"
    ],
    "ask": [
      "mcp__sb1150-screening__verify_publication",
      "mcp__sb1150-screening__screen_operators",
      "mcp__sb1150-screening__screen_book"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as sb1150-screening. Review it before you use it.

Capability tags behind 3 rules
  • mcp__sb1150-screening__get_publication private-data
  • mcp__sb1150-screening__get_operator_exposure private-data, untrusted-input
  • mcp__sb1150-screening__get_plug_record private-data

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.wellstatelabs/sb1150-screening/verify?hash=1962e7544ac04a4567f5cf15fa8eb2014ea8b02888ad8ca0edd5a28672b4f931" | jq -e '.changed == false'

Pinned hash 1962e7544ac0, from Oct 30, 2026, 07:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.wellstatelabs/sb1150-screening/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.wellstatelabs/sb1150-screening
[![anlyon.dev](https://anlyon.dev/badge/com.wellstatelabs/sb1150-screening.svg)](https://anlyon.dev/servers/com.wellstatelabs/sb1150-screening)

Source: MCP Registry. Synced Oct 30, 2026, 07:17 UTC.