DoorLoop MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.6.3Updated Nov 7, 2026

Read DoorLoop properties, units, leases, tenants and payments; create tasks and task updates.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFinanceBusiness & Commerce

Overview

AI-generated overview

Hosted DoorLoop connector that lets an assistant read properties, units, leases, tenants and payments, and create tasks and task updates.

What you can do
  • Look up the connected DoorLoop user and company users
  • List and read properties, portfolios, units, owners and vendors
  • List and read leases, lease tenants, tenants and prospects
  • List rent payments and lease charges, including unpaid balances
  • List and read tasks, work orders, tenant and owner requests
  • Create tasks and post updates on existing tasks (write tools)
When to use it
Useful for property managers who want to ask questions about their DoorLoop portfolio in chat, such as tenants with outstanding balances, leases ending soon, or open work orders at a given property, and to log tasks and task updates without opening DoorLoop.
Requirements
Remote MCP endpoint added by URL only; sign-in is via OAuth, and on first connect you supply a DoorLoop API key (from DoorLoop settings), which the server stores per user. No local install, no keys in config files. A free plan allows 50 tool calls per month; paid plans raise the limit.
Before you install
Two tools write to DoorLoop: creating tasks and posting task updates, which can change status, priority, due date or assignees and may notify people. The server stores your DoorLoop API key and sees all data those credentials can reach. Paid plans are billed through a checkout link, and cancellation gives no refund for the current period.

Installation

In SourceWeft

  1. Open DoorLoop MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fdoorloop/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "doorloop-by-usefulapi": {
      "type": "http",
      "url": "https://doorloop.usefulapi.io/mcp"
    }
  }
}

README

DoorLoop MCP by usefulapi

Use your DoorLoop account from Claude, Cursor, or any MCP client. Hosted, no local install: connect with your own credentials.

Live endpoint: https://doorloop.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://doorloop.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http doorloop https://doorloop.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "doorloop": {      "url": "https://doorloop.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your DoorLoop credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/doorloop/

On first connect you provide a DoorLoop API key (DoorLoop → Settings → Zapier & API Keys). The server validates it and stores it per user. No keys go in config files.

Tools

ToolTypeWhat it does
doorloop_get_current_userreadGet current user
doorloop_list_propertiesreadList properties
doorloop_get_propertyreadGet a property
doorloop_list_unitsreadList units
doorloop_get_unitreadGet a unit
doorloop_list_leasesreadList leases
doorloop_get_leasereadGet a lease
doorloop_list_lease_tenantsreadList lease tenants
doorloop_list_tenantsreadList tenants
doorloop_get_tenantreadGet a tenant
doorloop_list_lease_paymentsreadList lease payments
doorloop_list_lease_chargesreadList lease charges
doorloop_list_tasksreadList tasks
doorloop_get_taskreadGet a task
doorloop_list_ownersreadList owners
doorloop_list_vendorsreadList vendors
doorloop_list_portfoliosreadList portfolios
doorloop_list_usersreadList users
doorloop_list_accountsreadList accounts
doorloop_create_taskwriteCreate a task
doorloop_post_task_updatewritePost an update on a task
doorloop_usage_statusmetaUsage status (free-tier meter)
doorloop_request_featuremetaRequest a missing feature
doorloop_upgrademetaUpgrade to Pro or Pro+
doorloop_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with doorloop_upgrade (it returns a Stripe Checkout link). Cancel any time with doorloop_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running doorloop_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT — see LICENSE. Documentation only; the server is hosted.

Source: servers/doorloop/README.md at commit 4046075

Tools

21

doorloop_get_current_user

Get current user

Get the DoorLoop user that created this API key. Good first call to confirm the connection. DoorLoop API: GET /users/me.

Takes no parameters.

doorloop_list_properties

List properties

List properties (buildings) with address, class and portfolio. DoorLoop API: GET /properties.

Parameterstextclassgroupownersort_bypage_sizepage_numbersort_descending

doorloop_get_property

Get a property

Get one property by id. DoorLoop API: GET /properties/{propertyId}.

Parametersproperty_idrequired

doorloop_list_units

List units

List rental units with rent, bedrooms and status. Without filter_active the API returns active units only. DoorLoop API: GET /units.

Parameterstextgroupowneractivesort_bypropertypage_sizepage_numbersort_descending

doorloop_get_unit

Get a unit

Get one unit by id. DoorLoop API: GET /units/{unitId}.

Parametersunit_idrequired

doorloop_list_leases

List leases

List leases with dates, rent, status and outstanding balance. Use calculatedStatus or situation to find at-risk or late leases. DoorLoop API: GET /leases.

Parameterstermtextunitgroupownerstatustenantsort_bypropertypage_sizesituationend_date_to+9 more

doorloop_get_lease

Get a lease

Get one lease by id. DoorLoop API: GET /leases/{leaseId}.

Parameterslease_idrequired

doorloop_list_lease_tenants

List lease tenants

List tenants joined to their leases, with move-in and move-out dates. Best way to map tenants to leases. DoorLoop API: GET /leases/tenants.

Parameterstextgroupleasestatussort_bypropertypage_sizepage_numbermovedInAt_tomovedInAt_fromsort_descending

doorloop_list_tenants

List tenants

List tenants and prospects with contact details. DoorLoop API: GET /tenants.

Parameterstexttypeunitgroupleasesort_bypropertypage_sizepage_numbersort_descending

doorloop_get_tenant

Get a tenant

Get one tenant by id. DoorLoop API: GET /tenants/{tenantId}.

Parameterstenant_idrequired

doorloop_list_lease_payments

List lease payments

List rent payments received on leases. DoorLoop API: GET /lease-payments.

Parametersleaseownerdate_tosort_bypropertydate_frompage_sizepage_numbersort_descending

doorloop_list_lease_charges

List lease charges

List charges (rent, fees, late fees) billed on leases. Use totalBalanceGreaterThan to find unpaid charges. DoorLoop API: GET /lease-charges.

Parametersunitleaseownerdate_tosort_bypropertydate_frompage_sizepage_numberlateFeeChargessort_descendingtotalBalanceGreaterThan

doorloop_list_tasks

List tasks

List tasks, work orders, tenant requests and owner requests. DoorLoop API: GET /tasks.

Parameterstexttypeunitstatussort_bypropertypage_sizedueDate_topage_numbercreatedAt_todueDate_frompropertyGroup+3 more

doorloop_get_task

Get a task

Get one task by id. DoorLoop API: GET /tasks/{taskId}.

Parameterstask_idrequired

doorloop_list_owners

List owners

List property owners. DoorLoop API: GET /owners.

Parameterstextgroupactivesort_bypropertypage_sizepage_numbersort_descending

doorloop_list_vendors

List vendors

List maintenance vendors. DoorLoop API: GET /vendors.

Parametersactivesort_bypropertypage_sizeopenBalancepage_numbersort_descendinginsurance_expires_before

doorloop_list_portfolios

List portfolios

List portfolios (property groups). DoorLoop API: GET /property-groups.

Parameterssort_bypage_sizepage_numbersort_descending

doorloop_list_users

List users

List DoorLoop users of the company. DoorLoop API: GET /users.

Parameterssort_bypage_sizepage_numbersort_descending

doorloop_list_accounts

List accounts

List chart-of-accounts entries. DoorLoop API: GET /accounts.

Parameterstypesort_bypage_sizepage_numberleaseChargeItemsort_descending

doorloop_create_task

Create a task

WRITE: create a task in DoorLoop. INTERNAL_TASK needs requested_by_user, TENANT_REQUEST needs requested_by_tenant, OWNER_REQUEST needs requested_by_owner, WORK_ORDER needs assigned_to_vendor. Notifications are off unless you set them. Each call creates a new task. DoorLoop API: POST /tasks.

Parameterstyperequiredunitstatusrequiredsubjectrequireddue_dateprioritypropertydescriptionnotify_tenantnotify_assigneesassigned_to_usersrequested_by_user+4 more

doorloop_post_task_update

Post an update on a task

WRITE: post a message on an existing task and optionally change its status, priority, due date or assignees. Each call adds a new update. Notifications are off unless you set them. DoorLoop API: POST /tasks/update.

Parametersstatusmessagerequiredtask_idrequireddue_dateprioritynotify_tenantnotify_assigneesassigned_to_users

Version history

9
  1. v1.6.3LatestNov 7, 2026
  2. v1.5.3Nov 5, 2026
  3. v1.5.2Nov 5, 2026
  4. v1.5.1Nov 4, 2026
  5. v1.5.0Nov 3, 2026
  6. v1.4.1Nov 3, 2026
  7. v1.3.0Nov 1, 2026
  8. v1.1.0Oct 31, 2026
  9. v1.0.0Oct 31, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations