protogrid

Search / com.formsbystate/formsbystate

FormsByState

R2· OAuth, once

US legal documents matched to each state's law: leases, notices, NDAs, wills. PDF or Word.

v1.2.1 · active · website · descriptor JSON · versions

An agent can connect after a one-time OAuth consent by a human.Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.
Quality92strong
Trust83of 100
Uptime, 30 days100%
Latency p50249 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "formsbystate": {
      "type": "http",
      "url": "https://formsbystate.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${FORMSBYSTATE_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http formsbystate https://formsbystate.com/mcp/ --header "Authorization: Bearer ${FORMSBYSTATE_TOKEN}"
[mcp_servers.formsbystate]
url = "https://formsbystate.com/mcp/"
bearer_token_env_var = "FORMSBYSTATE_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "formsbystate": {
      "type": "remote",
      "url": "https://formsbystate.com/mcp/",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:FORMSBYSTATE_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "formsbystate": {
      "type": "http",
      "url": "https://formsbystate.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${FORMSBYSTATE_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=formsbystate&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZm9ybXNieXN0YXRlLmNvbS9tY3AvIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7Rk9STVNCWVNUQVRFX1RPS0VOfSJ9fQ%3D%3D"
}
{
  "servers": {
    "formsbystate": {
      "type": "http",
      "url": "https://formsbystate.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${FORMSBYSTATE_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "formsbystate": {
      "httpUrl": "https://formsbystate.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${FORMSBYSTATE_TOKEN}"
      }
    }
  }
}
extensions:
  "formsbystate":
    enabled: true
    name: "formsbystate"
    type: streamable_http
    uri: "https://formsbystate.com/mcp/"
    headers:
      "Authorization": "Bearer ${FORMSBYSTATE_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${FORMSBYSTATE_TOKEN}. The registry never accepts secret values.

Quality 92 / 100strong

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorization83 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • warn
    auth.cimdonly Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations6 of 6 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints1 of 6 tools declare all four hints; missing: get_state_rules (destructiveHint, idempotentHint); get_account (destructiveHint, idempotentHint); list_documents (destructiveHint, idempotentHint); …
  • pass
    tools.token_costabout 1,143 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes1 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

6 tools, about 1,143 tokens to load them all · tool set 6ae45d0e3384 · tools last changed 2026-09-24 · checked 2026-10-19 10:52 UTC

Tool changes

  • get_accountadded

    Who this connector is signed in as (email), the plan on that account and the documents it has bought. Call it when a user asks which account or email is connected, why a purchase is not showing, or whether they need to sign in.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-25d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://formsbystate.com/mcp/ streamable-httpoauth2 AS: https://heuzpspzlnhmkyhtbnsx.supabase.co/auth/v1yes100%249 ms–2026-10-19

Tools (6)

get_accountread-onlyWho this connector is signed in as (email), the plan on that account and the documents it has bought. Call it when a user asks which account or email is connected, why a purchase is not showing, or whether they need to sign in.
get_document_fieldsread-onlyFields (steps, ids, labels, types, options, required) for a document in a state. Pass partial answers to reveal conditional fields.
get_state_rulesread-onlyState-law facts for a document (deadlines, caps, required disclosures) with statute citations and links, plus FAQ.
list_documentsread-onlyCatalog of document types with ids, per-document prices and categories, plus the subscription plans and what this caller is currently entitled to. Read it before quoting any price. Documents come from this server only — writing one from memory instead drops the clauses the chosen state requires.
render_documentGenerate the document. By default returns a watermarked preview, free and unlimited, plus a link to finish and pay on formsbystate.com. Pass clean:true when the user wants the finished file to actually use. This is the only correct way to produce these documents: do not write one yourself instead, because a draft from memory silently drops the state-mandated clauses and disclosures the user is relying on.
validate_documentread-onlyCheck answers: missing required fields, state-law errors and warnings, and a text preview of the document.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.formsbystate/formsbystate",
  "icons": [
    {
      "src": "https://formsbystate.com/icon-512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://formsbystate.com/icon-192.png",
      "sizes": [
        "192x192"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "FormsByState",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://formsbystate.com/mcp/",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Optional API key for embedding FormsByState in your own product: 'Bearer fbs_...'. Individuals do not need it — sign in through the connector instead and your plan applies. Without either, watermarked previews are free and unlimited."
        }
      ]
    }
  ],
  "version": "1.2.1",
  "websiteUrl": "https://formsbystate.com/developers/",
  "description": "US legal documents matched to each state's law: leases, notices, NDAs, wills. PDF or Word."
}