aluseg-mcp

aluseg-mcp

Enables AI assistants to securely interact with rental management data (leases, rent status, tenant records, tax filings) through a per-user OAuth 2.0 authenticated MCP server, with human-in-the-loop for sensitive actions.

Category
访问服务器

README

Aluseg MCP Server

An open-source, self-hostable Model Context Protocol server for rental management.

Aluseg MCP lets AI assistants (Claude, local LLMs, custom agentic workflows) securely interact with a landlord's own rental data — leases, rent status, tenant records, tax-authority filings — through a standard, auditable interface, instead of ad hoc scraping or fragile custom integrations.

It is built security- and privacy-first: every tool call is made on behalf of one authenticated user, scoped to exactly that user's permissions, and recorded in an immutable audit log — never through a single over-privileged service account.

Status: Early development. The tool specification and reference implementation are under active work. See the roadmap.

License: AGPL-3.0 · Standard: Model Context Protocol (JSON-RPC 2.0)


Why this exists

Rental-management platforms today are closed boxes. Landlords who want their AI assistant to answer "which of my tenants are late on rent this month?" or "draft a lease for this new tenant" have no clean, safe way to connect it — the data is locked behind a web UI with no API, or behind a closed, paywalled one never designed for AI agents.

At the same time, most Model Context Protocol servers connect to business systems using a single master service account — convenient for a developer's laptop, but unacceptable for a multi-tenant SaaS handling regulated personal and financial data. One leaked token, and an AI agent can read or act on every account.

Aluseg MCP addresses both gaps:

  • Open & self-hostable. Released under AGPL-3.0 as a standalone, containerized service. Any landlord, property manager, or developer can run it against their own data — independent of Aluseg's hosted infrastructure. No vendor lock-in.
  • Per-user authority, not a master key. The AI agent authenticates as a specific user via OAuth 2.0 and can only ever do what that user is allowed to do.
  • Safe by default on regulated actions. High-stakes tools (generating a legal contract, filing with the tax authority, initiating a payment) are gated by attribute-based access control and explicit, human-in-the-loop consent.

Architecture

Aluseg MCP is a decoupled gateway. It exposes MCP tools to AI clients and translates them into authenticated calls against a rental-management backend — it never talks to a database directly, and it holds no platform-wide credentials.

+-----------------------------------------------------------------------+
|                            LLM / AI Client                            |
|          (Claude Desktop, Cursor, custom agentic workflows)           |
+-----------------------------------------------------------------------+
                                   |
                                   | JSON-RPC 2.0 (stdio / SSE)
                                   v
+-----------------------------------------------------------------------+
|                         Aluseg MCP Server                             |
|   - Exposes tools to AI agents (verify_parties, generate_lease, ...)  |
|   - Stateless, containerized, self-hostable (OCI image)               |
|   - Per-user OAuth 2.0 auth + ABAC policy + immutable audit log       |
+-----------------------------------------------------------------------+
                                   |
                                   | Authenticated HTTPS (user-scoped token)
                                   v
+-----------------------------------------------------------------------+
|                    Rental-management backend API                      |
|   (Aluseg SaaS, or any backend implementing the open tool schema)     |
+-----------------------------------------------------------------------+

Because the server is decoupled and stateless, it can run anywhere — a landlord's own machine, a small VPS, or alongside the backend — supporting data portability rather than central dependency.


Exposed tools

The server exposes a small, deliberately-scoped set of tools. Each carries an explicit privacy/security constraint.

Tool Purpose Key inputs Constraint
verify_parties Verify the identity of landlord and tenant landlord_nif, tenant_nif Requires OAuth 2.0 auth; parses eIDAS digital signatures
generate_lease Draft a standardized rental contract from verified metadata property_id, parties_id, rent_value, duration Restricted to verified owners; returns a signable draft, never auto-executes
notify_tax_authority File a lease with the tax authority (AT) signed_contract_hash Requires active, explicit, time-bounded user consent
propose_unpaid_insurance Assess default risk and propose rent-default insurance tenant_consent_token, monthly_rent Requires explicit, time-bounded consent; GDPR-compliant, uses only permitted data
get_rent_status Read rent-payment status for a property/period property_id, period Read-only; scoped to the authenticated user's properties

Read-only tools resolve to data the user can already see. Write/action tools (generate_lease, notify_tax_authority) produce drafts or require human confirmation — the agent proposes, the human commits.

The full machine-readable tool schema lives in spec/ and is intended to be an open standard other rental backends can implement, so PropTech developers can build interoperable tools instead of reinventing incompatible integrations.


Security & privacy model

This is the core of the project, not an afterthought.

  • User-level OAuth 2.0 delegation. The AI agent never operates under a global API key. It presents a token tied to one landlord or tenant; the server validates it and enforces that the agent can only touch resources that specific user is authorized for.
  • Attribute-based access control (ABAC). Before executing a sensitive tool, the server evaluates contextual attributes (user role, document sensitivity, consent state) — not just "is this user logged in."
  • Human-in-the-loop on irreversible actions. Issuing a legal contract or initiating a payment always requires an explicit confirmation step. The agent cannot autonomously execute legally or financially binding actions.
  • Immutable audit logging. Every tool call records the user identity, tool name, input parameters, and returned data in a tamper-evident log — supporting GDPR traceability and accountability.
  • Data minimization. Tools return only what the task requires; risk assessment uses permitted, consented data only.

Getting started

⚠️ Not yet ready for production use. These instructions describe the target developer setup.

# Clone
git clone https://github.com/peltierclem/aluseg-mcp.git
cd aluseg-mcp

# Configure (backend URL + OAuth client credentials)
cp .env.example .env
$EDITOR .env

# Run with Docker
docker compose up

# ...or run locally
npm install
npm run dev

Then register the server with your MCP client (e.g. Claude Desktop) by pointing it at the server's stdio command or SSE endpoint. See docs/clients.md (coming soon).


Roadmap

  • [ ] Publish the open MCP tool specification (spec/)
  • [ ] Reference server: JSON-RPC transport (stdio + SSE)
  • [ ] OAuth 2.0 per-user authentication
  • [ ] ABAC policy engine for sensitive tools
  • [ ] Immutable audit logging
  • [ ] Read-only tools (get_rent_status, party lookups)
  • [ ] Action tools with human-in-the-loop (generate_lease, notify_tax_authority)
  • [ ] Containerized release (OCI image) + self-hosting guide
  • [ ] Submit to public MCP server directories

Contributing

Contributions, issues, and discussion are welcome. Please open an issue to discuss significant changes before submitting a pull request. By contributing, you agree your contributions are licensed under AGPL-3.0.


License

Licensed under the GNU Affero General Public License v3.0 — see LICENSE.

AGPL-3.0 is deliberate: because this is a network service, anyone who runs a modified version as a hosted service must also publish their modifications. This keeps the MCP server and its security patterns an open commons, while leaving separate backend implementations that merely call this server over the network unaffected.


Acknowledgements

This work is developed in the context of the Next Generation Internet initiative, which supports an open, trustworthy, and human-centric internet.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选