Skip to main content
Glama
LovroBubanic

Semantic BI MCP

by LovroBubanic

Semantic BI MCP

Model Context Protocol (MCP) server that gives AI assistants a safe, correct data-analyst capability over business metrics - without raw SQL improvisation.

Talk to your data in plain English. Get answers that are always correct and can never break anything.

What makes this different

Most data MCPs expose a raw SQL runner and let the model improvise. That miscounts, mis-joins, ignores soft-deletes, and can mutate or leak data.

This project does the opposite: a semantic layer. Every business metric is defined once as vetted SQL in lib/metrics.ts and exposed as an MCP tool. The model assembles answers from correct building blocks. Guardrails (read-only, caps, PII masking, audit log) are first-class features.

Related MCP server: MCP SQL Server

Architecture

One Next.js app, four layers:

Layer

Path

Purpose

MCP server

app/api/[transport]/route.ts

Tools, resources, prompts at /api/mcp

Semantic layer

lib/

sql.js dataset, metrics, guards, audit, auth

LangChain agent

app/api/chat/route.ts

gpt-4o-mini -> MCP over HTTP

Chat UI

app/page.tsx + components/

Live tool-call visualization

Tech stack

  • Next.js 15 (App Router), TypeScript, Tailwind CSS 4

  • MCP: mcp-handler + @modelcontextprotocol/sdk@^1.26

  • Data: sql.js (WASM SQLite, serverless-safe)

  • Agent: @langchain/mcp-adapters, @langchain/langgraph, @langchain/openai

  • Deploy: Vercel Pro + Fluid compute

Quick start

See INSTALLATION.md for full setup including environment variables.

npm install
cp .env.example .env.local   # fill in keys
npm run dev

MCP capabilities

Tools (11)

Tool

Description

get_mrr

Monthly Recurring Revenue

get_arr

Annual Recurring Revenue

get_churn_rate

Subscription churn %

get_active_subscriptions

Active/trialing count by tier

get_new_customers

New customer acquisitions

get_revenue_by_plan

Paid revenue by plan

get_customer_count

Active customer count

get_net_revenue_retention

NRR between two months

safe_query

Read-only SELECT on whitelisted views

list_metrics

Metric catalog

get_audit_log

Recent tool invocations

Resources (3)

  • dataset://schema - table/view definitions

  • semantic-layer://catalog - metric catalog JSON

  • dataset://stats - dataset overview

Prompts (3)

  • executive-summary - monthly SaaS health summary

  • mrr-trend-analysis - compare two months

  • churn-investigation - structured churn analysis

Security

See SECURITY.md for the full security audit and status.

Project docs

License

Neural LB - portfolio / demo use. Dataset is fictional (Northwind SaaS).

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/LovroBubanic/Semantic-BI-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server