Hemlane MCP
by @earlvanze
Operate Hemlane using HAR-derived GraphQL patterns and browser session artifacts. Use when analyzing Hemlane HAR files, extracting GraphQL operations from He...
clawhub install hemlaneπ About This Skill
name: hemlane description: Operate Hemlane using HAR-derived GraphQL patterns and browser session artifacts. Use when analyzing Hemlane HAR files, extracting GraphQL operations from Hemlane traffic, documenting Hemlane mutations/queries, or performing/reconstructing Hemlane workflows like referrals, tenant replies, work orders, transactions, requests, and maintenance updates from saved browser captures.
Hemlane
Use this skill for Hemlane reverse-engineering and repeatable browser-captured workflows.
Included HAR coverage
Readreferences/har-summary.md first when you need a quick map of what the saved Hemlane HAR files contain.Saved flows consolidated into this skill:
Default workflow
1. Identify which business action is needed: referral, tenant reply, work order, requests, transactions, or maintenance update. 2. Readreferences/har-summary.md to find the closest HAR.
3. Read references/graphql-operations.md to find the relevant GraphQL operation names, variables, and query excerpts.
4. If you need fresh extraction or normalization from HAR files, use scripts/extract_hemlane_graphql.py.
5. Prefer reconstructing stable GraphQL requests over brittle browser clicking.
6. Preserve auth and CSRF requirements; never hardcode secrets into the skill.Auth rules
CDP Auth Capture
Use scripts/capture_hemlane_auth_via_cdp.py to capture fresh auth headers from an authenticated Brave browser session via CDP.
Requirements
--remote-debugging-port=9222)Usage
python3 skills/hemlane/scripts/capture_hemlane_auth_via_cdp.py \
--endpoint-kind get-properties \
--out-file /tmp/hemlane-auth.json
Endpoint Kinds
get-properties - Property listget-tenants - Tenant listget-transactions - Financial transactionsget-maintenance - Maintenance requestssend-tenant-reply - Tenant messagingsubmit-referral - HubSpot referral formwork-order-comment - Work order commentsmaintenance-comment - Maintenance commentsMCP Server
Hemlane MCP server provides tools for common operations via MCP protocol.
Location
mcp/server.py - FastMCP server wrapping existing scriptsTools Provided
capture_auth - Capture auth headers from browser CDPsend_tenant_reply - Send tenant replysubmit_referral - Submit referralpost_workorder_comment - Post work order commentpost_maintenance_comment - Post maintenance commentextract_rent_roll - Extract rent roll dataquery_recurring_payment_requests - Query active/expired recurring rent/payment requests from Financials HARquery_financials_operation - Replay read-oriented Financials GraphQL operations from financials HAR samples, including page navigationlist_graphql_operations - List available GraphQL opsConfiguration
Added toconfig/mcporter.json:
{
"mcpServers": {
"hemlane": {
"command": "python3",
"args": ["/home/umbrel/.openclaw/workspace/skills/hemlane/mcp/server.py"],
"transport": "stdio"
}
}
}
What this skill is good for
Files
references/har-summary.md - per-HAR inventory and auth header observationsreferences/graphql-operations.md - extracted GraphQL operations and sample variable payloadsscripts/extract_hemlane_graphql.py - reusable extractor for future HAR filesscripts/capture_hemlane_auth_via_cdp.py - CDP auth capture from browsermcp/server.py - MCP server for tool accessreferences/operation-catalog.json and references/operation-catalog.csv - clean operation catalog exportsreferences/runbooks.md - explicit runbooks for referral submit, tenant reply, maintenance/work-order comment, and transaction lookupreferences/*.har - preserved original Hemlane HAR capturesscripts/build_hemlane_catalog.py - regenerate catalog from HAR filesReplay scaffold
Usereferences/replay-scaffold.md and scripts/replay_hemlane_graphql.py when you need to move from HAR analysis to safe request replay. Start with --dry-run and provide cookies/CSRF via env vars only.Task-level wrappers
Use these wrappers for the highest-value Hemlane workflows before dropping down to the generic replay scaffold:scripts/submit_hemlane_referral.pyscripts/post_hemlane_workorder_comment.pyscripts/post_hemlane_maintenance_request_comment.pyscripts/send_hemlane_tenant_reply.pyscripts/capture_hemlane_auth_via_cdp.pyLease Generation Mutations
Captured from lease_hemlane.com.har:
| Operation | Type | Purpose |
|-----------|------|---------|
| ODCreateLeaseAgreement | Mutation | Create lease agreement for tenant group |
| ODCreateLeaseAgreementTemplate | Mutation | Create e-sign packet from lease |
| ODLeaseAgreementRevertEsignPacket | Mutation | Revert/cancel e-sign packet |
Create Lease Agreement
mutation ODCreateLeaseAgreement($input: LeaseAgreementCreateInput!) {
leaseAgreementCreate(input: $input) {
error
leaseAgreement {
id
status
tenantGroup { id }
survey
createdAt
}
}
}
Variables:
tenantGroupId (required) - The tenant group IDsurvey (optional) - Additional disclosures, etc.Create E-Sign Packet
mutation ODCreateLeaseAgreementTemplate($input: EsignDocumentCreateLeaseAgreementTemplateInput!) {
esignDocumentCreateLeaseAgreementTemplate(input: $input) {
error
esignPacket {
id
sourceSignable { ... on LeaseAgreement { id status } }
}
}
}
Wrapper Script
Use scripts/create_hemlane_lease.py for lease generation:
python3 scripts/create_hemlane_lease.py \
--tenant-group-id "53cf1ff2-56d7-41e5-a0bd-9d3cc2a99aab" \
--auth-file /tmp/hemlane-auth.json \
--create-esign
Files Added
references/lease-mutations.graphql - Lease generation mutationsscripts/create_hemlane_lease.py - Lease creation wrapperNew MCP read tools (2026-05-01)
HAR-derived read wrappers added to mcp/server.py:
query_catalog_operation β generic read-only replay from references/operation-catalog.json; refuses mutations/write-like operations.get_context_values β wraps ODGetContextValues for owner dashboard context/properties.get_tenant_groups β wraps ODTenantsAndLeasesTenantGroups for tenant/lease views.get_maintenance_requests β wraps ODMaintenanceRequests.get_transactions β wraps TransactionsNextCursorQuery using the financials replay script.See README.md for setup, auth model, and HAR reverse-engineering workflow.
π‘ Examples
python3 skills/hemlane/scripts/capture_hemlane_auth_via_cdp.py \
--endpoint-kind get-properties \
--out-file /tmp/hemlane-auth.json
Endpoint Kinds
get-properties - Property listget-tenants - Tenant listget-transactions - Financial transactionsget-maintenance - Maintenance requestssend-tenant-reply - Tenant messagingsubmit-referral - HubSpot referral formwork-order-comment - Work order commentsmaintenance-comment - Maintenance commentsβοΈ Configuration
Added to config/mcporter.json:
{
"mcpServers": {
"hemlane": {
"command": "python3",
"args": ["/home/umbrel/.openclaw/workspace/skills/hemlane/mcp/server.py"],
"transport": "stdio"
}
}
}