archmax

archmax

archmax is a semantic data layer workbench for AI agents, which is used to manage semantic models, unify multiple database query entries, and securely publish it to external agents through MCP.

Description

Lazy cat OIDC login has been integrated. ##Functional characteristics - Semantic model management: Organize database tables into OSI YAML semantic models with field descriptions, relationships, indicators and examples to reduce AI's direct guessing of words. - Multi-source data federation: Unified access to Postgres, MySQL, MSSQL, SQLite, DuckDB and Iceberg REST Catalog to manage multiple database data from a single project perspective. - MCP publishing capabilities: Generate controlled MCP Endpoint and access Token for each project, allowing compatible clients such as Claude and Cursor to access the semantic layer read-only. - AI-assisted modeling: Automatically discover schemas, complement field descriptions, identify enumerations, and infer relationships through Semantic Model Builder. - Testing and regression: Built-in `Test Agents`,`Test Cases`,`Test Runs`, and `Playground` pages can verify whether the model can really be correctly understood and queried by the agent. - Project settings and version initialization: The Settings page maintains the project name, Slug, MCP page size, and provides Initialize Git and project deletion entries. - Single-container persistence deployment: Following the upstream embedded MongoDB/Redis operation mode, you only need to mount `/data` to save projects, MCP Tokens, release records and cached data. ###Daily usage 1. On the `Data Federation -> Data Sources` page, click `New Connection` and fill in the connection information by data source type. 'archmax' currently supports six types of connections: 'postgres','mysql','mssql','sqlite','duckdb', and 'iceberg'. 2. After the connection is established, click `Re-explore schemas` to let the system rediscover the tables and fields. 3. Go to the 'Semantic Models' page and use the chat-style 'Semantic Model Builder' to supplement business semantics, field descriptions, relationships and indicator definitions. 4. After finishing the organization, click 'Publish' to assemble the current semantic model from the project's 'src/' directory to the 'build/' directory, and then publish it as a consumable version of MCP. 5. If you need to access an external agent, create an MCP Token on the `MCP Access -> Tokens` page and copy the `Published Endpoint` displayed on the page. Note: You must have at least one semantic model before `Create Token` can be submitted; if the pop-up window directly displays `No semantic models in this project.`, Explain that there are no optional model files in the current project. 6. When deploying a lazy cat, the prefix '/mcp/' must be released through 'application.public_path' in 'lzc-manifest.yml'. Otherwise,'/mcp/<slug>/mcp' and '/mcp/<slug>/test/mcp' will be redirected to '/sys/login' by the box entry layer, and external MCP clients cannot directly access it even if they get a token. Currently, after releasing '/mcp/', both 'Published Endpoint' and 'Live-Testing Endpoint' can return MCP protocol responses. 7. To verify the effect of the model, you can use Test Agents, Test Cases, Test Runs, and Playground under the 'Testing' group. 8. On the Settings page, you can maintain Project Identity and MCP Configuration, and execute Initialize Git or Delete project as needed. ###Prepare before MCP access 1. First prepare a real database file or external database connection that can already be read in Browser. The most easily reproduced test data in this warehouse are: `duckdb` file: `/data/external/retail-demo.duckdb` 2. 'MCP Access' only recognizes semantic model files and does not recognize the chat history itself. At least one model YAML must exist in the project data directory, and the recommended path is like: `/data/projects/<projectId>/src/<modelName>.yaml` In the current measurement, if there is no `src/` subdirectory in the project directory, the application will also roll back to read YAML in the project root directory, for example: `/data/projects/<projectId>/retail_customers.min.yaml` 3. If you use splitting the dataset, each dataset can also be placed in: `/data/projects/<projectId>/src/<modelName>/<datasetName>.yaml` 4. The `source` in the model needs to point to the connection path where the actual attachment was successful in the application. The format is: `<connection-slug>. <schema>. <table>` For example, this DuckDB regression can be written as: `retail_demo.main.customers` 5. The sources of 'Published Endpoint' and 'Live-Testing Endpoint' are different: Published Endpoint reads the published models in the project's build/directory; Live-Testing Endpoint temporarily assembles the models in the current src/directory, suitable for joint debugging before official release. 6. Only after completing Publish will Published Endpoint truly get a consumable assembled model. Just seeing the endpoint address does not mean that the endpoint already has model content. 7. When creating Token, at least one semantic model must be selected as the scope. If 'No semantic models in this project.' appears in the pop-up window, You need to make up the model file first, and then go back to the UI to create a token. 8. Even if the token is successfully created, the Published Endpoint/Live-Testing Endpoint must be verified again from the terminal or external MCP client. In this actual measurement, the request needs to include 'Accept: application/json, text/event-stream', then call 'initialize' first, and then call 'mcp-session-id' tools/list '/' tools/call '. ###Notes 1. AI Service API Key When not filled in, Semantic Model Builder, Testing Playground, and automatic title generation are not available, but project management, MCP publishing, and Git initialization functions are still available. 2. `AI Service Base URL` The `Test Agents -&gt; Create Agent` form displays `https://openrouter.ai/api/v1` by default. If you use OpenAI, Azure OpenAI, Olama, or other OpenAI-compatible interfaces, please change the corresponding address; do not fill in an address without a protocol, and do not just fill in a domain name fragment. 3. `Default model` It needs to be consistent with the real model name of the OpenAI-compatible service above, such as `gpt-4.1`,`anthropic/claude-sonnet-4.6`, etc.

Screenshots
Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
App Information
Version
0.1.0
Package Size
62.5 KB
Image Size
632.39 MB
Updated
June 4, 2026
Source Code
archmaxai
Platform Support
PC
Keywords
semantic layerMCPdata federationAI agentsemantic modeldata governance