Skip to main content
Glama

Business Overview MCP

Point it at a codebase. Get back what the software actually does, who is allowed to do it, and where the rules are missing.

An MCP server that reads source code and answers the questions a founder, a product owner, or a new engineer actually asks: what features exist, what can each role do, what data do we hold, and what did we build that nobody uses?

It was written for a specific problem. AI coding agents now ship features faster than anyone can keep track of them. The code works, but nobody holds the full picture any more: which roles exist, what each one can reach, which rules are enforced on the server and which only in the UI. This reads the code and rebuilds that picture, with a file and line number behind every claim.

No LLM is required. Everything below is extracted from source with parsers, so it is fast, free, and deterministic. Claude is optional, and only adds the narrative layer on top.

scan_project root=/path/to/project     →  features, roles, endpoints, data, stack
generate_report root=/path/to/project  →  a shareable HTML report

Report overview

What you get

A role × feature access matrix. Who can reach what, at a glance. ● full access, ◐ partial, ○ none.

Access matrix

Findings that point at real problems, each with a file and line: rules enforced only in the browser, roles defined but never checked, write endpoints with no authentication, inconsistent rules on the same resource, tables nothing reads.

Findings

A data model you did not have to draw. Entities, fields, keys and relations, recovered from whichever ORM the project uses.

Data model

Plus a feature inventory, use cases per role, a C4 container diagram, a module dependency graph, and per-endpoint sequence diagrams. Diagrams come out as Mermaid or PlantUML, so they render in GitHub, VS Code, Notion and Confluence, and the report is a single self-contained HTML file you can email to someone non-technical.

Related MCP server: Codebase Insights MCP Server

Install

Node 20+, or Docker if you prefer not to install anything.

git clone https://github.com/fadiroot/business-overview-mcp.git
cd business-overview-mcp
npm install
npm run build

Claude Code

claude mcp add business-overview -- node /absolute/path/to/business-overview-mcp/dist/index.js

Then ask it in plain language:

Use business-overview to scan /path/to/my/project and tell me what each role can do.

Or run one of the bundled prompts: business_overview, feature_deep_dive, access_review.

Claude Desktop, Cursor, and other MCP clients

{
  "mcpServers": {
    "business-overview": {
      "command": "node",
      "args": ["/absolute/path/to/business-overview-mcp/dist/index.js"]
    }
  }
}

Docker

docker build -t business-overview-mcp .
claude mcp add business-overview -- \
  docker run -i --rm -v /path/to/your/projects:/workspace business-overview-mcp

Your code is mounted at /workspace, so call the tools with root: "/workspace/my-project".

Try it in one minute

This repository ships a small demo application, examples/nimbus-lms, with a NestJS-style API, a Prisma schema, a React frontend, and five planted problems. Scan it and you should find every one of them:

scan_project    root=<repo>/examples/nimbus-lms
audit_findings  root=<repo>/examples/nimbus-lms

Every screenshot above is that demo, unedited.

Tools

Tool

What it answers

scan_project

What is this, what is it built with, what are the features? Start here.

extract_endpoints

Every endpoint with the guards, roles and permissions protecting it. Filter by feature, by role, or to unprotected ones only.

extract_access_control

Roles, permissions, guards, path rules, backend and frontend checks, and the access matrix.

extract_data_model

Entities, fields, relations and enums.

list_use_cases

What each actor can accomplish, grouped by feature.

audit_findings

Over-build and access gaps, ranked by severity.

explain_feature

One feature end to end, with a sequence diagram of its main flow.

generate_diagram

erd, use_case, architecture, role_access, overview, module_dependencies, feature_map, sequence.

generate_report

The full HTML and Markdown report.

What it reads

Detection is heuristic, built on parsers rather than a language server, so it runs in seconds on a large repository and degrades gracefully when it meets something it does not recognise.

Supported

Endpoints

Express, Fastify, Koa, Hono, NestJS (controllers and resolvers), Next.js route handlers and pages/api, tRPC, FastAPI, Flask, Django and Django REST, Laravel, Spring MVC, ASP.NET Core, Gin, Echo, Chi, Fiber, Rails, GraphQL SDL

Data model

Prisma, TypeORM, Mongoose, Drizzle, Sequelize, Knex, SQLAlchemy, SQLModel, Django ORM, Eloquent, Laravel migrations, JPA and Hibernate, GORM, raw SQL DDL, GraphQL types

Access control

Role enums and constants, NestJS guards and decorators, Express middleware, FastAPI dependencies (followed through their own chains), Flask and Django decorators and permission classes, Laravel middleware and Spatie, Gates and Policies, Spring @PreAuthorize and request matchers, ASP.NET [Authorize], CASL, Casbin, inline user.role === "admin" checks, Next.js middleware matchers, Angular and Vue route guards

Frontend rules

<RequireRole>-style components, v-if, *ngIf, Blade directives, Django templates, conditional rendering on a role. Tracked separately, because a rule enforced only in the browser is not a rule.

Optional: the narrative layer

list_use_cases and generate_report accept mode: "claude". With ANTHROPIC_API_KEY set, the extracted facts go to Claude, which merges raw endpoints into real business use cases and returns what each role can and cannot do, which features look questionable, and the questions the owner should answer. Without a key, both tools fall back to the deterministic output and say so.

claude mcp add business-overview -e ANTHROPIC_API_KEY=sk-ant-... -- \
  node /absolute/path/to/business-overview-mcp/dist/index.js

Limitations

Worth knowing before you act on the output.

  • "Public" means no guard was recognised, not proof that an endpoint is open. Custom auth wrappers can be missed. Verify high-severity findings against the file and line given.

  • Role to permission mappings held in a database (Spatie tables, for example) cannot be resolved from source. Those cells show ?.

  • Features are inferred from directory structure. Feature folders, layered and hexagonal layouts, and monorepos are handled; unusual layouts may group oddly.

  • Diagrams cap how much they draw to stay readable. Pass feature to zoom into one area.

Development

npm run build
npm run smoke   # analyse the test fixtures and print everything
npm test        # drive the server over MCP and assert the results

fixtures/ holds two small projects used by the tests, one NestJS and Prisma, one FastAPI and SQLAlchemy. examples/nimbus-lms is the larger demo.

Issues and pull requests are welcome, especially for frameworks that are not detected yet. A fixture that reproduces the gap is the most useful thing you can send.

License

MIT

Available Tools

9 tools
audit_findingsAudit findingsC

Over-build and access-control gaps: unprotected writes, roles/permissions defined but never checked, orphan entities, UI-only restrictions, inconsistent restrictions, duplicate endpoints, size outliers, features without behaviour.

Inputs: root (required), format, refresh, severity.

explain_featureExplain featureA

Deep dive on one feature: purpose signals, endpoints, use cases, roles, entities, files, findings and a sequence diagram for its main write endpoint.

Inputs: root (required), feature (required), refresh.

extract_access_controlExtract access controlC

Roles, permissions, guards/policies, path-level rules, backend and frontend access checks, and the role × feature access matrix.

Inputs: root (required), format, refresh, include_checks.

extract_data_modelExtract data modelB

Entities, fields and relations from Prisma, TypeORM, Mongoose, Drizzle, Sequelize, Knex, SQLAlchemy, Django, Eloquent, Laravel migrations, JPA, GORM, SQL DDL and GraphQL SDL.

Inputs: root (required), format, feature, refresh.

extract_endpointsExtract endpointsB

HTTP/GraphQL/tRPC endpoints with the guards, roles and permissions that protect them. Supports Express-style routers, NestJS, Next.js, tRPC, FastAPI, Flask, Django (+DRF), Laravel, Spring, ASP.NET Core, Go routers, Rails and GraphQL SDL.

Inputs: root (required), role, format, feature, +2 more.

generate_diagramGenerate diagramA

Generate a diagram as Mermaid or PlantUML source. Types: erd (data model), use_case, architecture (C4 container), role_access (roles → features), overview (actors → features → data), module_dependencies (import graph between features), feature_map (mindmap), sequence (one endpoint's request flow). Writes .mmd/.puml + .html viewer to out_dir and returns instant preview links (mermaid.live, kroki.io, plantuml.com).

Inputs: root (required), type (required), write, format, +7 more.

generate_reportGenerate enterprise reportA

Write a self-contained HTML report (plus Markdown and optional JSON facts) with executive summary, feature inventory, actors & roles, use cases, role × feature access matrix, restrictions, ERD, C4 architecture, module dependencies, endpoint catalogue and findings. mode=claude adds Claude's narrative analysis and owner questions.

Inputs: root (required), mode, formats, out_dir, +1 more.

list_use_casesList use casesA

Business use cases derived from endpoints + roles. mode=heuristic is instant and deterministic; mode=claude asks Claude to merge/rename them into real business use cases with preconditions, flows, restrictions and a feature assessment (needs ANTHROPIC_API_KEY on the server).

Inputs: root (required), mode, actor, format, +2 more.

scan_projectScan projectA

Index a codebase: languages, frameworks, databases, external services, features (modules) and headline counts of endpoints, entities, roles and findings. Run this first.

Inputs: root (required), format, refresh.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 9 tools

    Disambiguation5/5

    Each tool targets a distinct phase or concern: scanning, extracting a specific artifact, explaining a feature, auditing, diagramming, and reporting. The only potential overlap is between extraction tools and diagram generation, but one extracts facts and the other visualizes them, so the boundaries are clear.

    Naming Consistency5/5

    All tool names follow a consistent lowercase snake_case verb_noun pattern: scan_project, extract_data_model, explain_feature, generate_diagram, generate_report. The verbs are specific and match the action each tool performs, making the set predictable.

    Tool Count5/5

    Nine tools is well-scoped for a codebase analysis and reporting server. Each tool earns its place, covering ingestion, analysis, and output generation without redundancy or bloat.

    Completeness5/5

    The tool surface covers the full analysis pipeline from initial project scan, through data model/endpoint/access control extraction, to use cases, findings, diagrams, and final reports. There are no obvious dead ends or missing capabilities for the stated business-overview purpose.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Analyzes codebases to generate dependency graphs and architectural insights across multiple programming languages, helping developers understand code structure and validate against architectural rules.
      6
      49 npm
      20
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Analyzes API codebases from GitHub and Bitbucket repositories to generate Postman collections, business reports, and detailed code insights. Supports multiple frameworks including FastAPI, Spring Boot, Flask, Express, and OpenAPI/Swagger specifications.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI-powered security scanning of codebases through conversational analysis, allowing users to assess, threat model, code review, DAST test, and generate security reports using natural language with Claude.
      MIT