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.
- 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/mcpclaude mcp add --transport http sb1150-screening https://mcp.wellstatelabs.com/mcpRun 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.
{
"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.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/com.wellstatelabs/sb1150-screening)Source: MCP Registry. Synced Oct 30, 2026, 07:17 UTC.