Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Cosmos Semantic

by WiliamRosaversion 0.3.0i★ –iRuns on your computer
Registry nameio.github.WiliamRosa/cosmos-semantic

Install

Overview

Description from the maker (original English)

Governed metrics, business rules and a glossary for AI agents, with evidence on every answer.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: COSMOS_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: COSMOS_API_KEY, COSMOS_DEV_API_KEYS

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "cosmos-semantic": {
      "command": "uvx",
      "args": [
        "cosmos-semantic",
        "mcp",
        "--model",
        "--connections"
      ],
      "env": {
        "COSMOS_API_KEY": "your-value",
        "COSMOS_DEV_API_KEYS": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add cosmos-semantic --env COSMOS_API_KEY=your-value --env COSMOS_DEV_API_KEYS=your-value -- uvx cosmos-semantic mcp --model --connections

Fill in the empty values before running it.

This one needs values on its command line, so copy the settings and fill them in.

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "cosmos-semantic": {
      "command": "uvx",
      "args": [
        "cosmos-semantic",
        "mcp",
        "--model",
        "--connections"
      ],
      "env": {
        "COSMOS_API_KEY": "your-value",
        "COSMOS_DEV_API_KEYS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one needs values on its command line, so copy the settings and fill them in.

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "cosmos-semantic": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "cosmos-semantic",
        "mcp",
        "--model",
        "--connections"
      ],
      "env": {
        "COSMOS_API_KEY": "your-value",
        "COSMOS_DEV_API_KEYS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • COSMOS_API_KEY secret required env
    The caller's key; its user context feeds the model's row filters
  • COSMOS_DEV_API_KEYS env
    YAML file with development keys (local use); production uses an OIDC provider

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account WiliamRosa, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 18513 servers in this category
  • Published to the registry more recently than 93% of the other 18513 servers in this category
  • Basic checks equal to or better than 100% of the other 18513 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Cosmos Semantic safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: COSMOS_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 3 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Cape Winelands Visit Planner

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

by formulahendryEarly↓ 66/wk★ 440Updated 14 months ago

Runs on your computer

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

by desktop-commanderGrowing★ 211Updated 3 days ago

Runs in the cloud✓ desktopcommander.app

Cape Winelands Visit Planner

Cape Winelands wine farm finder and day-route planner

by aiagenttools.co.zaEarlyUpdated today

Runs in the cloud✓ aiagenttools.co.za

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Cosmos Semantic

An open-source semantic layer with an ontology at its core, so AI agents and apps get the same number on every database, with the proof in every answer.

[Live demo of the console](https://wiliamrosa.github.io/cosmos-semantic-platform/) · Quickstart · Docs · Article (em português)

AI agents that write SQL over raw tables return numbers that look right and that nobody can explain: "revenue" has three definitions, "active customer" means 60 days to one team and 90 to another. Cosmos Semantic defines metrics, business rules and concepts once, serves them to agents over MCP instead of letting them guess SQL, and attaches evidence to every answer.

Multi-databaseOne model, the same number on Databricks, Snowflake, Oracle, SQL Server, Postgres, MySQL, MariaDB and DuckDB, checked by the test suite on every change
OntologyA bilingual business glossary (SKOS), versioned business rules with owners and tests, and a knowledge graph of teams, systems and processes
Built for AI agentsA native MCP server: agents find the concept, ask for a governed metric and get deterministic SQL; personal data never reaches them
Verifiable numbersEvery answer carries the expanded formula, rules, row filters, reference date and hashes; cosmos replay tells whether a number changed and why
ReconciliationCompares a governed metric with the legacy SQL a team already uses and names the likely cause of each divergence
Open, no lock-inApache 2.0, its own engine, and import from dbt, Power BI, Cube and Apache Ossie

The YAML format uses the dbt Semantic Layer vocabulary and ships a JSON Schema; Cube and dbt are import sources and export targets, not dependencies. The core is Apache 2.0 within an open-core model (ADR 0005).

Status: phases 0 to 3 are implemented: the engine, the ontology (glossary and business rules), the REST API, the MCP server, OIDC identity, verifiable numbers (evidence, replay, reconciliation, impact, bootstrap), business context (rule versions, usage and cost, knowledge graph, Power BI import, AI-assisted discovery, the retail pack, SKOS export) and the read-only console. See the roadmap.

Quickstart

pip install "cosmos-semantic[duckdb,testdata]"

cosmos init demo && cd demo cosmos demo-data cosmos query revenue average_order_value --by orders.status --evidence cosmos explain rule:active_customer

That is a governed metric with its evidence (formula, rules, policies, as_of and hashes) in about a minute, on a local DuckDB file. The quickstart continues with business rules, row filters, personal data and connecting an AI agent over MCP. Extras: duckdb, postgres, sqlserver, mysql (MySQL and MariaDB), oracle, databricks, snowflake, server (REST and MCP), ai (cosmos suggest), testdata.

Console

cosmos serve also serves a read-only console at /console, in English or Portuguese, for people who decide rather than build:

  • metric health and ownership;
  • business processes as graphs colored by health;
  • the catalog in business words;
  • every audited answer, with a button to reproduce it;
  • usage and cost per agent.

cosmos check records rule tests and reconciliations against legacy reports, so the console shows health over time.

Development

Requires Python 3.11+ and uv. From a clone of this repository:

uv sync --all-extras

Generate synthetic e-commerce data into a local DuckDB (data/ecommerce.duckdb)

uv run cosmos demo-data -c examples/ecommerce/connections.yml # --locale pt_BR for Brazilian data with CPF

Validate the example model

uv run cosmos validate -m examples/ecommerce/semantic

Revenue and average order value by status

uv run cosmos query revenue average_order_value --by orders.status \ -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml

Same query as CSV (raw values, header + one row per result row) for spreadsheets and scripts

uv run cosmos query revenue average_order_value --by orders.status --csv \ -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml

Metrics from different models, with the user's row filter; --show-sql prints the generated SQL

uv run cosmos query revenue paid_value customer_count --by customers.region -u region=Midwest --show-sql \ -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml

Business rules as a filter and as a grouping; --as-of pins "today"

uv run cosmos query customer_count --where "{rule.active_customer}" --by customers.segment \ -u region=Northeast --as-of 2026-10-22 -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml

Evidence envelope: formulas, rules, policies, as_of and hashes; then replay the audited query

export COSMOS_AUDIT_LOG=data/audit.jsonl uv run cosmos query average_order_value --by customers.segment --where "{rule.active_customer}" -u region=Northeast --evidence -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml uv run cosmos replay -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml

Reconcile a governed metric with legacy SQL or another model, and explain the divergence

uv run cosmos reconcile revenue --by orders.status --sql legacy_revenue.sql -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml uv run cosmos reconcile --cases examples/ecommerce/divergence_zoo.yml -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml

What a change affects, and who queried it (also: --changes-from )

uv run cosmos impact rule:active_customer -m examples/ecommerce/semantic --audit data/audit.jsonl

Past numbers under the rule in effect then, or under today's rule

uv run cosmos query customer_count -w "{rule.active_customer}" --as-of 2026-06-30 --rules-as-of 2026-10-23 -u region=Midwest -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml

Usage and estimated cost per metric, user, agent and data source (rates: cost in connections.yml)

uv run cosmos usage --audit data/audit.jsonl -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml

The business knowledge graph: owners, source systems and processes (Mermaid, DOT or JSON)

uv run cosmos graph --focus process:order_to_cash -m examples/ecommerce/semantic uv run cosmos impact system:payment_gateway -m examples/ecommerce/semantic

AI-assisted discovery: concepts, rules, metrics and descriptions, validated by the engine, for review

(repeat --source to require that each suggestion runs on every database the model serves)

uv run cosmos suggest --source local -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml -o suggestions.yml

Industry pack mapped onto your tables by name (draft + report for review)

uv run cosmos pack list uv run cosmos pack apply retail --source local --schema public -c examples/ecommerce/connections.yml -o semantic/retail.yml

The business glossary as SKOS/RDF for data catalogs (turtle, jsonld or ntriples)

uv run cosmos export skos -m examples/ecommerce/semantic -o glossary.ttl --base https://data.example.com/glossary/

Draft a model from the database catalog (keys, joins, measures, LGPD suggestions), then review it

uv run cosmos bootstrap -c examples/ecommerce/connections.yml -o semantic/draft.yml

Business rule examples (on DuckDB, without touching the data sources) and reference queries

uv run cosmos test -m examples/ecommerce/semantic uv run cosmos reference

Import models from other tools

uv run cosmos import cube path/to/model -o semantic/imported.yml uv run cosmos import dbt path/to/dbt/models --schema analytics -o semantic/dbt.yml uv run cosmos import ossie model.yaml -o semantic/ossie.yml uv run cosmos import powerbi model.bim -o semantic/powerbi.yml # or a TMDL folder

REST API and MCP

cosmos serve starts the REST API at /v1 and the MCP server at /mcp in the same process; interactive docs are at /docs.

# Production: tokens from the OIDC provider (Cosmos only validates, never issues)

export COSMOS_OIDC_ISSUER=https://login.microsoftonline.com/ /v2.0 export COSMOS_OIDC_AUDIENCE=api://cosmos-semantic

Development: API keys bound to a fixed context (a file with keys: { : {subject, user}})

export COSMOS_DEV_API_KEYS=dev-keys.yml

uv run cosmos serve -m examples/ecommerce/semantic -c examples/ecommerce/connections.yml curl -X POST localhost:8080/v1/query -H "X-API-Key: " -H "content-type: application/json" \ -d '{"metrics": ["revenue"], "dimensions": ["customers.segment"]}'

Remote MCP clients use /mcp as an OAuth protected resource: requests without a valid token get HTTP 401 with a WWW-Authenticate header pointing to /.well-known/oauth-protected-resource, which names the identity provider (set COSMOS_PUBLIC_URL behind a proxy).

For local MCP clients (Claude Desktop, Claude Code), use the stdio transport: cosmos mcp -m ... -c ... with COSMOS_API_KEY set. The tools are search_concepts, explain, list_members, query and show_sql. Every call runs as the user who owns the token; personal data never reaches agents.

Data sources

Local Postgres: docker compose -p cosmos-semantic -f deploy/docker-compose.yml up -d, then cosmos demo-data --target postgres and cosmos reference --source postgres. To also run the tests on Postgres, set COSMOS_PG_URI=postgresql://cosmos:cosmos@localhost:15432/cosmos.

Local SQL Server: docker compose -p cosmos-semantic -f deploy/docker-compose.yml --profile sqlserver up -d and COSMOS_MSSQL_URI='mssql+pymssql://sa:Cosmos!Passw0rd@localhost:14330/master'. Every data source accepts a schema_map in connections.yml (for example public: dbo) to use the same model with different schemas.

Local MySQL, MariaDB and Oracle Database Free: docker compose -p cosmos-semantic -f deploy/docker-compose.yml --profile mysql --profile mariadb --profile oracle up -d,

Only the beginning is shown; read the rest in the repo

Ask PopNx