Unofficial .NET toolkit for TenantCloud, a rental property management platform. Query your data from a .NET client, the tenantcloud command line, an interactive REPL, or an MCP-enabled AI agent.
This is not an official TenantCloud product. TenantCloud does not provide a public API; this library works against their internal endpoints.
| Component | Type | Description |
|---|---|---|
Yllibed.TenantCloudClient |
NuGet | Core library: API client, token store abstractions, OS-native secure storage |
Yllibed.TenantCloudClient.Cdp |
NuGet | Chromium browser authentication, token refresh and optional interactive sign-in |
Yllibed.TenantCloudClient.Tool |
.NET Tool | tenantcloud CLI, interactive REPL and MCP server for AI agents |
tenantcloud-* |
Release archive | Self-contained and portable builds of the same tool |
The libraries target .NET 8 and .NET 10. The .NET Tool and portable archive require .NET 10. Platform-specific tenantcloud archives are self-contained ReadyToRun builds. Browser authentication requires a supported Chromium browser, not Firefox or Safari. See authentication prerequisites.
The 3.0 line is currently in prerelease. See the stable release checklist and known limitations. Existing applications should read Migrating to v3.
- Client Library — Quick start, DI setup, API reference, filters, paginated sources
- MCP Server — Installation, auto-configuration for AI agents, available tools
- Authentication — CDP flow, SecureTokenStore, FileTokenStore, custom providers
- Release Process — Stable release criteria, versioning and publication
- Rate limiting — Request pacing, HTTP 429 retries, configuration and errors
using Yllibed.TenantCloudClient;
using Yllibed.TenantCloudClient.Cdp;
using var tokenProvider = new CdpTokenProvider(new CdpTokenProviderOptions
{
TokenStore = new SecureTokenStore(),
AllowInteractiveLogin = true,
});
using var client = new TcClient(tokenProvider);
var user = await client.GetUserInfo(CancellationToken.None);Install both NuGet packages for this example. For dependency injection, see the client guide.
Install the current v3 prerelease as a global .NET Tool:
dotnet tool install --global Yllibed.TenantCloudClient.Tool --prereleaseAfter a stable release is available, omit --prerelease. To always run the latest prerelease once, without keeping an installation, use .NET 10's dnx:
dnx Yllibed.TenantCloudClient.Tool --prerelease --yes -- list propertiesThen use the same command for the CLI and REPL:
tenantcloud login
tenantcloud list properties --json --result:page-size=20
tenantcloudThe last command opens the REPL. Enter list, then properties; .. returns to the parent context. See pagination before aggregating results across pages.
Self-contained and portable ZIPs remain available from GitHub Releases. For the portable archive, replace tenantcloud with dotnet /path/to/tenantcloud.dll.
Configure a durable installation:
# Choose the client you use
tenantcloud install claude-desktop
tenantcloud install claude-codeTo make the MCP client resolve the latest Tool version whenever it starts, add --dnx to either command.
Restart the client, then ask: "List my TenantCloud properties" or "Who are my tenants?"
Other MCP clients, and portable installations, use manual stdio configuration. The server command is tenantcloud mcp serve; invoking tenantcloud without arguments starts the REPL instead. Version 3 renames the public command from tc-mcp to tenantcloud; see the migration notes.
MIT