MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Knowledge & memory

NC General Statutes

Search North Carolina's General Statutes, read any section by citation, track how it changed.

Checks passed
12 / 22

2 failed · 8 not measured

Median response
677 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
11

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 677 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name NC General Statutes.

  • Pass
    Lists tools

    tools/list returned 11 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 677 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 677 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    9 of 41 parameters have a description (22%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-10-13T19:02:59.993921Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using NC General Statutes

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http nc-general-statutes https://mcp.ncstatutes.com/mcp

Capabilities

Tools 11

amendment_history

When a North Carolina (NC) statute section was enacted and every time it was amended. Use for "how often has G.S. 14-33 changed" or "when was this last amended". Returns one entry per session law mined from the section's own history note, grouped by year, plus first-enacted year and total amendment count. Each amendment is listed once even when the section has several versions; an entry marked `not_yet_in_force` is an enacted law whose version of the text has not taken effect yet. These are STATUTORY dates from the legislature's record — not when this database saw the text change. For that use recent_law_changes; for the wording itself use get_statute or diff_statute.

Discovered
chapter_activity

How much legislative churn a North Carolina (NC) statute chapter has seen. Use for "which parts of Chapter 14 keep changing". Returns amendment counts by year, the most-amended sections with their totals, and counts of pending and repealed sections. Omit `chapter` for a corpus-wide view. Counts are STATUTORY, from history notes — not observations. For one section use amendment_history; for upcoming text use pending_changes.

Discovered
cross_references

Which North Carolina (NC) statutes this section cites, which cite it, and which agency rules implement it. Use for "what does G.S. 14-72.1 depend on", "what else references it", or "what rules were adopted under G.S. 150B-21.2". OUTBOUND is what the section's own text cites; INBOUND is every section citing it — the direction you cannot get by reading one statute — plus `implementing_rules`: NC Administrative Code rules that cite it as their authority. Section-level only: a reference to 20-141(j1) is an edge to 20-141. Chapter-wide and "this Article" references are not edges. For the text itself use get_statute.

Discovered
diff_statute

Word-level diff of a North Carolina (NC) statute section between two versions. `mode="pending"` compares the text in force against an enacted-but-not-yet-effective variant — use this for "what will change on 1 October". `mode="observed"` compares versions this database has actually recorded, optionally between two dates. CANNOT show text from before the ingest's first observation: observed history begins then, so most sections have only one version and return diff: null. For earlier change dates use amendment_history; for pending text use pending_changes.

Discovered
get_rule

Read a North Carolina Administrative Code (NCAC) rule — a state agency regulation. Returns the rule's text, heading, status (current, temporary, emergency, repealed, expired, transferred or reserved), its history (adopted, amended, …, by date), the G.S. sections it cites as AUTHORITY, and links to the rule on OAH. Give a chapter instead ("26 NCAC 03") to list that chapter's rules. Use for agency rules; use get_statute for the General Statutes the legislature passes. To find which rules implement a statute, use cross_references on the statute.

Discovered
get_statute

Full text of one North Carolina (NC) General Statutes section, by citation. Use for "what does G.S. 14-72.1 say". Accepts any spelling — "14-72.1", "G.S. 14-72.1", "§ 14-72.1". Returns catchline, body, history note, and when it was first enacted and last amended. `as_of` gives the text observed on a past date; `pending` lists variants enacted but not yet effective. Carries `codified_through`, `session_laws_through` and a `legislation_note` naming any enacted act that touches this section outside the codified text. An uncodified override ("Notwithstanding G.S. ...") is never codified, so it is reported regardless of the watermark. PENDING BILLS ARE NOT COVERED — a ratified bill is not law and appears in neither source, so an empty note is not evidence nothing passed. `as_of` RESOLVES AGAINST OBSERVED VERSIONS, NOT EFFECTIVE DATES — it answers "what did this database hold on that date", so it cannot reach text from before the first ingest run. For "what took effect on 1 October" use recent_law_changes(source="effective"). Section-level only — ask for "20-141", not "20-141(j1)". The Rules of Evidence and of Civil Procedure are each one statute (G.S. 8C-1, G.S. 1A-1) holding many rules; ask for a rule as "8C-1, Rule 104" or "1A-1, Rule 12" (N.C. R. Evid. / N.C. R. Civ. P. forms work). Asking for 8C-1 or 1A-1 itself lists the rules. For WHEN it changed use amendment_history; for WHAT changed use diff_statute.

Discovered
pending_changes

North Carolina (NC) statute text already enacted but not yet effective. Use for "what changes to Chapter 14 are coming". Returns each section's current text alongside the future variant, its effective date, and by default a diff of the two. Distinguishes an AMENDMENT (current text exists) from a NEW SECTION (nothing in force yet, so no diff). Only counts variants dated in the future. For text in force now use get_statute; for already-enacted history use amendment_history or recent_law_changes.

Discovered
recent_law_changes

Changed North Carolina (NC) statutes, by effective date, observation or session year. source="effective" answers "what took effect on 1 October" from ncleg's own effective dates — use it for that, and bound a single day with since=until. It looks FORWARD too, so it also answers "what takes effect next quarter". source="statutory" is the legislature's record from history notes, back to the 1800s, dated by year. source="observed" is only when this database saw text change — ncleg's publishing schedule, not the law's, and no substitute for effective dates. "both" returns statutory + observed. For one section use amendment_history.

Discovered
rule_history

When a North Carolina Administrative Code (NCAC) rule was adopted, amended or repealed, and exactly what changed. Returns OAH's history events (dated: adopted, amended, temporary or emergency adoption, readopted, repealed, expired, transferred, recodified) and the versions of the text this server has stored, with a word-level diff between two of them — the latest two by default, or the versions in force on `from_date` and `to_date` (YYYY-MM-DD). `format` is "unified", "html" or "both". Stored versions begin with the first weekly crawl, so older changes have dates but no diff.

Discovered
search_rules

Search North Carolina Administrative Code (NCAC) rules — state agency regulations — by topic. Use when you know the subject but not the rule: "how long to file a contested case", "child care staff ratios", "septic permit requirements". Narrow with `title` ("15A") or `chapter` ("15A NCAC 18A", or "18A" together with `title`). If you have a citation, use get_rule instead. Returns ranked rules with highlighted fragments; read one with get_rule. Results are ordered the same way as search_statutes: by how many search words a rule contains, then how much of its heading they make up, then rank. For the General Statutes the legislature passes, use search_statutes.

Discovered
search_statutes

Search North Carolina (NC) statutes by topic, keyword or phrase. Use this when you know the SUBJECT but not the citation — "what's the NC law about leaving a dog in a hot car", "failure to appear penalty", "when can I expunge a misdemeanor". If you already have a citation, use get_statute instead. Returns ranked sections with highlighted fragments showing why each matched, not full text: pick the one you want and call get_statute for it. Supports quoted "exact phrases", -excluded terms and `or`. `match_mode` says how the query was read: "all_terms" (every word), "all_terms_with_synonyms" (every word, but the words as typed matched nothing or only weakly, so statutory synonyms were accepted — "car" for "motor vehicle", "leaving" for "confined"; listed in `synonyms_used`), "any_of" (the query used `or`), "any_terms" (nothing matched every word, so any word or synonym was accepted) or "citation" (the query was a bare citation, so it was looked up directly; when the section doesn't exist, the nearest real sections by number come back as `suggestions`). The loose modes only return sections that contain at least one of your words. Results are ordered by `terms_matched` — how many of the search words a section contains, a quoted phrase counting only when it appears as a phrase — then by `catchline_terms_matched`, how many are in the section's own heading, then by `catchline_coverage`, how much of that heading the search words make up (1.0 is an exact title, so "DWI" finds "Impaired driving" before longer sections that merely mention it), then by rank. Court shorthand is expanded automatically and case-insensitively — FTA, DWLR, PJC, AWDW and similar become the statutory wording, because the statute book spells the phrase out and never uses the abbreviation. The expansion is reported back as `expanded_query`. Shorthand that names one offense lists that offense's section first, marked `primary_for` (FTA → 15A-543, DWI → 20-138.1). Searches the law in force today, at section level. A low top rank means the corpus probably has no section on point — NC simply has no statute on some subjects, and saying so is a better answer than the nearest loose word match.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected677 ms11