SJ Storage MCP
Read-only MCP server providing public information about SJ Storage facilities, including availability snapshots, unit prices, deposits, hours, location, policies, and FAQ search capabilities without requiring authentication.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://sjstorage.net/mcpWhat its tools do
10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to sjstorage.net ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Check current storage unit availability and prices
- Retrieve facility location, directions, and access hours
- Search published FAQs and site content
- View storage features and rental policies
Source and maintenance
Protocol and capabilities
- Server
- net.sjstorage/site 1.1.1
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 10 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
10 advertised
check_availability — Check storage availability
Read-only: checks the SJ Storage public availability feed for unit types, sizes, monthly rent, deposits and open counts. Optional unit type or size matches the current feed or the published sizes. A published size absent from the feed is not listed as open right now. The snapshot is shared for about 60 seconds. Nothing is held or reserved; the reserve step rechecks. Missing types are not treated as zero.
{
"type": "object",
"examples": [
{}
],
"properties": {
"unit": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Type code, label or size from the feed, or a published size such as 8x20 or 12x30. Omit to list reported types."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"unitTypes",
"checkedAt",
"availabilityUrl",
"notice"
],
"properties": {
"notice": {
"type": "string"
},
"checkedAt": {
"type": "string"
},
"unitTypes": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"label",
"size",
"monthlyRentCents",
"depositCents",
"openCount",
"currency"
],
"properties": {
"size": {
"type": "string"
},
"type": {
"type": "string"
},
"label": {
"type": "string"
},
"currency": {
"type": "string"
},
"openCount": {
"type": "integer"
},
"depositCents": {
"type": "integer"
},
"monthlyRentCents": {
"type": "integer"
}
},
"additionalProperties": false
}
},
"availabilityUrl": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Check storage availability",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_units_and_prices — Unit sizes, prices and deposits
The two storage unit sizes SJ Storage rents (8x20 drive-up outdoor container, 12x30 powered indoor unit) with monthly rent and refundable deposit exactly as the site publishes them, from the Storage Units in Twin Falls page and the rates table on the availability page. Optionally one unit. It never states whether a unit is open: current availability is on the availability page it links.
{
"type": "object",
"examples": [
{
"unit": "12x30"
}
],
"properties": {
"unit": {
"enum": [
"8x20",
"12x30"
],
"type": "string",
"description": "One unit size; omit for both."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"units",
"url",
"ratesPage",
"availability",
"notice"
],
"properties": {
"url": {
"type": "string"
},
"note": {
"type": "string"
},
"intro": {
"type": "string"
},
"units": {
"type": "array",
"items": {
"type": "object",
"required": [
"unit",
"heading",
"text",
"table",
"ratesTable"
],
"properties": {
"text": {
"type": "string"
},
"unit": {
"type": "string"
},
"table": {
"type": "object",
"required": [
"Unit",
"Size",
"Type",
"Monthly rent",
"Deposit"
],
"properties": {
"Size": {
"type": "string"
},
"Type": {
"type": "string"
},
"Unit": {
"type": "string"
},
"Deposit": {
"type": "string"
},
"Monthly rent": {
"type": "string"
}
}
},
"heading": {
"type": "string"
},
"ratesTable": {
"type": "object",
"required": [
"Unit Type",
"Size",
"Monthly Rate",
"Deposit",
"Key Features"
],
"properties": {
"Size": {
"type": "string"
},
"Deposit": {
"type": "string"
},
"Unit Type": {
"type": "string"
},
"Key Features": {
"type": "string"
},
"Monthly Rate": {
"type": "string"
}
}
}
}
}
},
"notice": {
"type": "string"
},
"ratesPage": {
"type": "object",
"required": [
"url",
"note"
],
"properties": {
"url": {
"type": "string"
},
"note": {
"type": "string"
},
"intro": {
"type": "string"
}
}
},
"availability": {
"type": "object",
"required": [
"url",
"text"
],
"properties": {
"url": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
}
}{
"title": "Unit sizes, prices and deposits",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_location — Location and directions
Where SJ Storage is (225 Blake St S, Twin Falls, ID 83301) as the site describes it, the Google Maps directions link the site publishes, its approximate drive times from Twin Falls landmarks, and its pages for nearby towns (Kimberly, Filer, Hansen, Jerome, Buhl).
{
"type": "object",
"examples": [
{}
],
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"address",
"directions",
"contactPage",
"description",
"driveTimes",
"towns",
"notice"
],
"properties": {
"faq": {
"type": "object",
"required": [
"n",
"question",
"answer",
"url"
],
"properties": {
"n": {
"type": "integer"
},
"url": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"required": [
"text",
"href"
],
"properties": {
"href": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
},
"answer": {
"type": "string"
},
"question": {
"type": "string"
}
}
},
"towns": {
"type": "array",
"items": {
"type": "object",
"required": [
"text",
"href"
],
"properties": {
"href": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
},
"notice": {
"type": "string"
},
"address": {
"type": "string"
},
"directions": {
"type": "string"
},
"driveTimes": {
"type": "object",
"required": [
"intro",
"url",
"rows",
"note"
],
"properties": {
"url": {
"type": "string"
},
"note": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"distance",
"driveTime"
],
"properties": {
"from": {
"type": "string"
},
"distance": {
"type": "string"
},
"driveTime": {
"type": "string"
}
}
}
},
"intro": {
"type": "string"
}
}
},
"contactPage": {
"type": "string"
},
"description": {
"type": "array",
"items": {
"type": "string"
}
},
"descriptionUrl": {
"type": "string"
}
}
}{
"title": "Location and directions",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_hours — Gate and access hours
Gate and access hours as the site publishes them: the hours on the contact page and the FAQ answers on gate hours, 24/7 and 24-hour access, weekends and holidays. The site publishes one set of hours (the gate hours); it lists no separate office hours.
{
"type": "object",
"examples": [
{}
],
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"contactPage",
"gate",
"faq",
"notice"
],
"properties": {
"faq": {
"type": "array",
"items": {
"type": "object",
"required": [
"n",
"question",
"answer",
"url"
],
"properties": {
"n": {
"type": "integer"
},
"url": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"required": [
"text",
"href"
],
"properties": {
"href": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
},
"answer": {
"type": "string"
},
"question": {
"type": "string"
}
}
}
},
"gate": {
"type": "object",
"required": [
"name",
"text",
"url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"text": {
"type": "string"
}
}
},
"notice": {
"type": "string"
},
"contactPage": {
"type": "object",
"required": [
"url",
"label",
"text"
],
"properties": {
"url": {
"type": "string"
},
"text": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
}{
"title": "Gate and access hours",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_features — Features and fit
What every unit includes as the site lists it (gated keypad entry and its hours, 24/7 video surveillance, drive-up loading, month-to-month lease signed online, payment options, power in the 12x30), the homepage amenities list, and the site's own "good fit / look elsewhere" lists (it has no small lockers, no climate control and no 24-hour gate access).
{
"type": "object",
"examples": [
{}
],
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"features",
"amenities",
"fit",
"notice"
],
"properties": {
"fit": {
"type": "object",
"required": [
"url",
"goodFit",
"lookElsewhere"
],
"properties": {
"url": {
"type": "string"
},
"intro": {
"type": "string"
},
"goodFit": {
"type": "object",
"required": [
"heading",
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "string"
}
},
"heading": {
"type": "string"
}
}
},
"lookElsewhere": {
"type": "object",
"required": [
"heading",
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "string"
}
},
"heading": {
"type": "string"
}
}
}
}
},
"notice": {
"type": "string"
},
"features": {
"type": "object",
"required": [
"heading",
"url",
"items"
],
"properties": {
"url": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"text"
],
"properties": {
"name": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
},
"heading": {
"type": "string"
}
}
},
"amenities": {
"type": "object",
"required": [
"heading",
"url",
"items"
],
"properties": {
"url": {
"type": "string"
},
"intro": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"text"
],
"properties": {
"name": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
},
"heading": {
"type": "string"
}
}
}
}
}{
"title": "Features and fit",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_policies — Policies as published
What the site says about a policy, quoted from its FAQ and pages: deposit, fees, lease term and moving out, missed payments, what you need to rent, prohibited items and use, insurance, climate control, access and authorized users. Where a term is not published (late fee amounts, notice periods, proration), the answer quotes the site's own statement that the signed rental agreement governs it. Omit `topic` for the list of topics.
{
"type": "object",
"examples": [
{
"topic": "deposit"
}
],
"properties": {
"topic": {
"enum": [
"deposit",
"fees",
"lease-term",
"late-payment",
"what-you-need",
"prohibited-items",
"insurance",
"climate-control",
"access-and-authorized-users"
],
"type": "string",
"description": "One policy topic; omit for the list of topics."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"topics",
"notice"
],
"properties": {
"faq": {
"type": "array",
"items": {
"type": "object",
"required": [
"n",
"question",
"answer",
"url"
],
"properties": {
"n": {
"type": "integer"
},
"url": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"required": [
"text",
"href"
],
"properties": {
"href": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
},
"answer": {
"type": "string"
},
"question": {
"type": "string"
}
}
}
},
"label": {
"type": "string"
},
"topic": {
"type": "string"
},
"notice": {
"type": "string"
},
"topics": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"label"
],
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
},
"specials": {
"type": "object",
"required": [
"url",
"lead"
],
"properties": {
"url": {
"type": "string"
},
"lead": {
"type": "string"
}
}
},
"rentalAgreement": {
"type": "object",
"required": [
"url",
"heading",
"paragraphs"
],
"properties": {
"url": {
"type": "string"
},
"heading": {
"type": "string"
},
"paragraphs": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}{
"title": "Policies as published",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}how_to_rent_and_pay — How to rent and how to pay
How to rent a unit, as the site describes it (check availability, sign the lease online, pay the first month and deposit, bring a lock and move in), the payment methods it accepts, its online payment page. Links only: this tool never reserves a unit, signs a lease, reads an account or takes a payment.
{
"type": "object",
"examples": [
{}
],
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"steps",
"stepsUrl",
"availability",
"paymentPage",
"contact",
"notice"
],
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"required": [
"step",
"name",
"text"
],
"properties": {
"name": {
"type": "string"
},
"step": {
"type": "integer"
},
"text": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"required": [
"text",
"href"
],
"properties": {
"href": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
}
}
}
},
"notice": {
"type": "string"
},
"contact": {
"type": "object",
"required": [
"phone",
"email",
"url"
],
"properties": {
"url": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
}
}
},
"stepsUrl": {
"type": "string"
},
"paymentPage": {
"type": "object",
"required": [
"url",
"heading",
"text"
],
"properties": {
"url": {
"type": "string"
},
"text": {
"type": "array",
"items": {
"type": "string"
}
},
"heading": {
"type": "string"
},
"embeddedPortal": {
"type": "string"
}
}
},
"availability": {
"type": "object",
"required": [
"url",
"text"
],
"properties": {
"url": {
"type": "string"
},
"text": {
"type": "string"
}
}
},
"paymentMethods": {
"type": "object",
"required": [
"n",
"question",
"answer",
"url"
],
"properties": {
"n": {
"type": "integer"
},
"url": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"required": [
"text",
"href"
],
"properties": {
"href": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
},
"answer": {
"type": "string"
},
"question": {
"type": "string"
}
}
},
"rentalAgreement": {
"type": "object",
"required": [
"url",
"text"
],
"properties": {
"url": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
}
}{
"title": "How to rent and how to pay",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_contact — Contact
How to reach SJ Storage as the contact page publishes it: phone (208) 420-6328, email, the contact page and its form, the street address with its Google Maps link, the hours, and the Facebook and Instagram pages. This tool does not send messages. To save the person typing, the form can be opened prefilled: https://sjstorage.net/contact?unit=12x30&message=<URL-encoded text>#contact (unit is 8x20 or 12x30, both optional) fills only the topic and the message; the person adds their own name and email and presses Send.
{
"type": "object",
"examples": [
{}
],
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"phone",
"phoneHref",
"email",
"contactPage",
"address",
"directions",
"hours",
"notice"
],
"properties": {
"form": {
"type": "string"
},
"email": {
"type": "string"
},
"hours": {
"type": "string"
},
"phone": {
"type": "string"
},
"notice": {
"type": "string"
},
"address": {
"type": "string"
},
"facebook": {
"type": "string"
},
"instagram": {
"type": "string"
},
"phoneHref": {
"type": "string"
},
"directions": {
"type": "string"
},
"contactPage": {
"type": "string"
}
}
}{
"title": "Contact",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_faq — Search the FAQ
The site's FAQ answers as published: the FAQ page (50 questions) and the questions on the Storage Units in Twin Falls page. Search by words ("deposit", "RV", "lock", "24 hour access"), or omit the query to return the first five answers.
{
"type": "object",
"examples": [
{
"query": "deposit"
}
],
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "At most this many answers (default 5, maximum 10)."
},
"query": {
"type": "string",
"pattern": "\\S",
"maxLength": 200,
"minLength": 1,
"description": "Words to look for; omit for the first five answers."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"queryWords",
"results",
"total",
"url",
"notice"
],
"properties": {
"url": {
"type": "string"
},
"total": {
"type": "integer"
},
"notice": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"n",
"question",
"answer",
"url"
],
"properties": {
"n": {
"type": "integer"
},
"url": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"required": [
"text",
"href"
],
"properties": {
"href": {
"type": "string"
},
"text": {
"type": "string"
}
}
}
},
"answer": {
"type": "string"
},
"question": {
"type": "string"
}
}
}
},
"queryWords": {
"type": "array",
"items": {
"type": "string"
}
}
}
}{
"title": "Search the FAQ",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_site — Search the site
Find pages on sjstorage.net by words (every page in its sitemap: units and prices, sizing guide, space calculator, RV and boat, powered units, commercial, town pages, comparisons, blog, FAQ, contact and the legal pages). Returns up to `limit` pages with title, link and the page's own description, best match first.
{
"type": "object",
"examples": [
{
"query": "what fits in a 12x30"
}
],
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "How many pages at most (1 to 10, default 5)."
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Words to look for, e.g. \"winter RV storage\"."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"queryWords",
"results",
"notice"
],
"properties": {
"notice": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"url",
"description",
"matched"
],
"properties": {
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"matched": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"type": "string"
}
}
}
},
"queryWords": {
"type": "array",
"items": {
"type": "string"
}
}
}
}{
"title": "Search the site",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 549 ms
- 95th percentile latency
- 549 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 549 ms · metadata changed · 10 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http sj-storage-mcp https://sjstorage.net/mcpCodex
codex mcp add sj-storage-mcp --url https://sjstorage.net/mcpCursor
{
"mcpServers": {
"sj-storage-mcp": {
"url": "https://sjstorage.net/mcp"
}
}
}Cline
{
"mcpServers": {
"sj-storage-mcp": {
"type": "streamableHttp",
"url": "https://sjstorage.net/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"sj-storage-mcp": {
"type": "http",
"url": "https://sjstorage.net/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http sj-storage-mcp https://sjstorage.net/mcpClaude Desktop
https://sjstorage.net/mcpWindsurf
{
"mcpServers": {
"sj-storage-mcp": {
"serverUrl": "https://sjstorage.net/mcp"
}
}
}Let your agent find its tools
Find servers like SJ Storage MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other commerce servers
Do you run SJ Storage MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.