Storedge
БесплатноНе проверенMCP server for StorEdge self-storage management platform, enabling agents to manage tenants, units, leads, billing, insurance, tasks, and move-in/out pipelines
Описание
MCP server for StorEdge self-storage management platform, enabling agents to manage tenants, units, leads, billing, insurance, tasks, and move-in/out pipelines via natural language.
README
The first MCP server for StorEdge (Storable Edge) - the self-storage management platform that 5,000+ storage facilities rely on.
Read and write tenants, units, leads, ledgers, move-ins/outs, insurance, tasks, and surcharge calculations for a self-storage facility - straight from Claude, Cursor, or any MCP client.
Why this exists
StorEdge is the operations backbone for tens of thousands of self-storage facilities (under the Storable / Red Nova Labs umbrella). Its REST API at api.storedgefms.com powers tenant management, lead tracking, billing, insurance enrollment, task workflows, and move-in/out pipelines.
The existing integration options all require building OAuth 1.0 signing + paginated list handling + typed-error mapping from scratch every time:
- Tray.ai connector - locked inside Tray's walled garden, no MCP, no local-first.
- Twilio integration - single-purpose, voice-channel only.
- Java/PHP/.NET sample clients (
rednovalabs/storedge-api-client-*) - boilerplate code, no Claude tool surface. - No first-party MCP server - StorEdge has not shipped one.
storedge-mcp is the open MCP surface. One stdio call away, agents can answer "what 10x10 units are available right now?", "create a reservation for unit A-12", "show me who's past due this week", and "calculate the surcharge for a $125 Visa payment".
Quick start
pip install -e .
export STOREDGE_CONSUMER_KEY=... # from StorEdge dashboard
export STOREDGE_CONSUMER_SECRET=... # from StorEdge dashboard
export STOREDGE_FACILITY_ID=<uuid> # optional; tools accept it as arg too
storedge-mcp
In Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"storedge": {
"command": "storedge-mcp",
"env": {
"STOREDGE_CONSUMER_KEY": "...",
"STOREDGE_CONSUMER_SECRET": "...",
"STOREDGE_FACILITY_ID": "..."
}
}
}
}
Tools (26)
Diagnostic
health_check(facility_id?)- verify credentials by listing one tenant. Returns fast-fail if OAuth signing is wrong.
Tenants
list_tenants(facility_id?, per_page?, page?, created_after?, created_before?, updated_since?, only_ids?)list_current_tenants(facility_id?, per_page?, page?)- only currently-active tenantssearch_tenants(account_code?, phone_number?, facility_id?)- by account code OR phone (exactly one)get_tenant(tenant_id, facility_id?)get_tenant_ledgers(tenant_id, facility_id?)- list of a tenant's rental agreementsget_tenant_notes(tenant_id, facility_id?)- operator notes attached to a tenant
Units
list_units(facility_id?, per_page?, page?, only_ids?)- every unit (rented + vacant + offline)list_available_units(facility_id?, per_page?, page?)- only units available for move-inget_unit(unit_id, facility_id?)list_unit_groups(facility_id?, per_page?, page?)- size buckets (5x5, 10x10, etc.)list_unit_types(facility_id?, per_page?, page?)- Parking, Climate, Drive-Up, etc.
Leads
list_leads(view="current", facility_id?, per_page?, page?)- view ∈ {current, reservations, inquiries, follow_up, waitlist, missed_move_ins}get_lead_counts(facility_id?)- open lead counts by statusget_lead(lead_id, facility_id?)create_lead(lead, facility_id?)- create a reservation or inquiryupdate_lead(lead_id, lead, facility_id?)- PATCH an existing lead
Ledgers (rental agreements)
list_current_ledgers(facility_id?, per_page?, page?)get_ledger(ledger_id, facility_id?)get_ledger_delinquency(ledger_id, facility_id?)- overdue balance + days lateget_ledger_invoices(ledger_id, facility_id?)
Insurance
get_insurance_summary(facility_id?)- counts + revenue rollupget_insurance_activity(facility_id?, per_page?, page?)
Tasks
list_tasks(category_id?, facility_id?, per_page?, page?)list_task_categories(facility_id?)create_task(task, facility_id?)complete_task(task_id, facility_id?)
Move-in / move-out pipeline
list_move_ins(facility_id?, per_page?, page?)- in-progress move-inslist_move_outs(facility_id?, per_page?, page?)- scheduled move-outs
Surcharge + invoices
calculate_surcharge(amount_cents, card_type?, facility_id?)- credit-card convenience fee quotelist_invoices_and_ledgers(facility_id?, per_page?, page?)
Auth
OAuth 1.0 one-legged (RFC 5849). Get your consumer key + secret from StorEdge dashboard → Corporate → Settings → API.
storedge-mcp ships its own OAuth 1.0 signer - not authlib's - because authlib's stock OAuth1Auth strips JSON request bodies during signing (silently breaking POST/PATCH/PUT). Our signer computes oauth_body_hash for non-form bodies and includes it in the signature per RFC 5849 §3.4.1.3.
Architecture
Built on industry-leading patterns from encode/httpx, stripe-python, lepture/authlib, boto3, pytest-dev/pytest, and astral-sh/ruff:
- Shared
httpx.AsyncClientwith pooling + transport-level retries. - Typed exception hierarchy (
StoredgeAuthError,StoredgeNotFoundError,StoredgeRateLimitError,StoredgeAPIError,StoredgeConnectionError) carrying structurederror_code(from StorEdge'smeta.error_codeenvelope) andrequest_id. - Application-level retry with exponential backoff + full jitter on 429/5xx, honoring
Retry-After. - isError-compliance - every tool re-raises on failure so FastMCP sets
isError: trueon the wire (Blackwell audit / MCPTox). - JSONL audit logging via
STOREDGE_AUDIT_LOGenv var (or stderr default) - every tool call emits a structured record with redaction forpassword/api_key/tokenfields. - Property-based tests (Hypothesis) for JSON round-trips.
- respx for httpx mocking - no live API calls in tests.
See engineering-playbook.md for the full pattern reference.
Development
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
# Lint + type check + test
ruff check src tests
mypy src tests
pytest
# Coverage
pytest --cov=storedge_mcp --cov-report=term-missing
CI matrix (Python 3.10-3.13 on ubuntu/macos/windows) lives in .github/workflows/ci.yml.
Sister projects
sanjibani publishes MCP servers for one niche vertical SaaS per day. See the full list for the rest:
hawksoft-mcp- independent insurance agenciesopen-dental-mcp- dental practice mgmtezyvet-mcp- veterinaryjobber-mcp- home service / field servicepracticepanther-mcp- legal practice (solo/small)realm-mp-mcp- church / nonprofitfieldroutes-mcp- pest control / lawn carecox-automotive-mcp- auto dealershipqualia-mcp- title and escrowcampspot-mcp- outdoor hospitality (campgrounds)cleancloud-mcp- laundry / dry cleaningplaymetrics-mcp- youth sports clubsforeup-mcp- golf course management
Need a custom MCP for your vertical SaaS stack? → mcp-services.landing.
License
MIT
References
- Storable Edge API docs: https://api.storedgefms.com/
- Storable Edge Swagger JSON: https://api.storedgefms.com/apidoc/schema_swagger_json_v1.json
- OAuth 1.0 RFC: https://datatracker.ietf.org/doc/html/rfc5849
Установка Storedge
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/sanjibani/storedge-mcpFAQ
Storedge MCP бесплатный?
Да, Storedge MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Storedge?
Нет, Storedge работает без API-ключей и переменных окружения.
Storedge — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Storedge в Claude Desktop, Claude Code или Cursor?
Открой Storedge на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Stripe
Payments, customers, subscriptions
автор: Stripemalamutemayhem/unclick-agent-native-endpoints
110+ tools for AI agents spanning social media, finance, gaming, music, AU-specific services, and utilities. Zero-config local tools plus platform connectors. n
автор: malamutemayhemwhiteknightonhorse/APIbase
Unified API hub for AI agents with 56+ tools across travel (Amadeus, Sabre), prediction markets (Polymarket), crypto, and weather. Pay-per-call via x402 micropa
автор: whiteknightonhorsetrackerfitness729-jpg/sitelauncher-mcp-server
Deploy live HTTPS websites in seconds. Instant subdomains ($1 USDC) or custom .xyz domains ($10 USDC) on Base chain. Templates for crypto tokens and AI agent pr
Compare Storedge with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории finance
