Cottage-food law by state and county, Crosodo products, checkout links, credential checks.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The Menu Frame catalog: free state-law report ($0) plus agent checkout SKUs. The public site sells Cottage Pro ($15 one time, lifetime access) at /cottage-pro. Notes the reusable 50%-off promotion code. Does not create a checkout session.
This tool takes no arguments.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http mcp https://crosodo.com/api/mcp
The Menu Frame catalog: free state-law report ($0) plus agent checkout SKUs. The public site sells Cottage Pro ($15 one time, lifetime access) at /cottage-pro. Notes the reusable 50%-off promotion code. Does not create a checkout session.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}County-level cottage-food requirements for a US state + county from Crosodo's structured county dataset (contacts, verification status, local URLs, state summaries). Unknown states or counties return an error — never invented data. Cottage food laws change. This summary is generated from Crosodo's hand-maintained dataset — it is not legal advice. Verify with your county before selling.
| Argument | Type | Description |
|---|---|---|
| state* | string | 2-letter USPS abbrev (PA) or state slug (pennsylvania) |
| county* | string | County name or slug (lancaster or Lancaster County) |
{
"type": "object",
"required": [
"state",
"county"
],
"properties": {
"state": {
"type": "string",
"description": "2-letter USPS abbrev (PA) or state slug (pennsylvania)"
},
"county": {
"type": "string",
"description": "County name or slug (lancaster or Lancaster County)"
}
},
"additionalProperties": false
}Cottage-food / home-bakery requirements for a US state from Crosodo's hand-maintained dataset: sales cap, registration, allowed products, statute, and agency links. Accepts a 2-letter abbrev (VA) or slug (virginia). Unknown states return an error — never invented data. Cottage food laws change. This summary is generated from Crosodo's hand-maintained dataset — it is not legal advice. Verify with your county before selling.
| Argument | Type | Description |
|---|---|---|
| state* | string | 2-letter USPS abbrev (VA) or state slug (virginia) |
{
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"description": "2-letter USPS abbrev (VA) or state slug (virginia)"
}
},
"additionalProperties": false
}Creates a Stripe Checkout session server-side and returns { checkoutUrl, product, sessionId }. Hand the URL to the user; payment completes on Stripe's hosted page. This never charges. product: permit_guide | certified_exam | unlimited_pass. permit_guide and unlimited_pass are county-specific (state + county required). Pass idempotencyKey so agent retries cannot double-create sessions.
| Argument | Type | Description |
|---|---|---|
| string | Buyer email, prefilled at Stripe Checkout | |
| state | string | Required for permit_guide and unlimited_pass (2-letter abbrev or slug) |
| county | string | Required for permit_guide and unlimited_pass (name or slug) |
| product* | string | Purchasable product id from list_products |
| idempotencyKey | string | Client-generated key; retries with the same key reuse the Stripe session |
{
"type": "object",
"required": [
"product"
],
"properties": {
"email": {
"type": "string",
"description": "Buyer email, prefilled at Stripe Checkout"
},
"state": {
"type": "string",
"description": "Required for permit_guide and unlimited_pass (2-letter abbrev or slug)"
},
"county": {
"type": "string",
"description": "Required for permit_guide and unlimited_pass (name or slug)"
},
"product": {
"enum": [
"permit_guide",
"certified_exam",
"unlimited_pass"
],
"type": "string",
"description": "Purchasable product id from list_products"
},
"idempotencyKey": {
"type": "string",
"description": "Client-generated key; retries with the same key reuse the Stripe session"
}
},
"additionalProperties": false
}Public lookup of a Crosodo Certified credential (format CC-{ST}-{YY}-{XXXX}, e.g. CC-VA-26-1042). Returns public fields only (holder display name, dates, status). Unknown, expired, or revoked credentials return an error. No auth.
| Argument | Type | Description |
|---|---|---|
| certId* | string | Credential ID, e.g. CC-VA-26-1042 |
{
"type": "object",
"required": [
"certId"
],
"properties": {
"certId": {
"type": "string",
"description": "Credential ID, e.g. CC-VA-26-1042"
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 31, 2026.