Technical Platform Overview

Three components.
One platform.

Veyo consists of an MCP Server for AI assistants, a Portal for project management, and an On-Premise edition for code security. Here's everything under the hood.

MCP Server Portal On-Premise
Two editions

Cloud for instant access.
On-premise for your code.

The cloud edition gives every user instant access to the official Business Central base application. When you need to analyse your own custom code, deploy the included on-premise edition — your source code never leaves your network.

</>

Cloud — Standard BC Access

Sign up and immediately query the official Business Central base application code. Every version, locale, and cumulative update — already ingested and ready.

  • Instant access, nothing to install
  • Every BC version (BC14 through BC26)
  • Per-locale and cumulative update matching
  • 14 query tools via MCP

On-Premise — Your Custom Code

Want to analyse your own AL and C/AL extensions? Deploy the included on-premise edition on your infrastructure. Your custom code is parsed and stored entirely within your network.

  • Source code never leaves your network
  • Included for every registered user
  • Single binary — one command to deploy

Compare Across Both

Combine cloud and on-premise data to run upgrade analysis between standard BC versions, or compare your custom code against the target you're upgrading to.

  • Side-by-side version comparison
  • Breaking change detection
  • Deprecated API surface diff
  • Event publisher/subscriber changes
MCP Server

Give your LLM
true codebase context

Veyo MCP connects any MCP-compatible AI assistant directly to your parsed Business Central codebase. 14 specialised query tools. Exact, structured data. Zero hallucinations.

Compatible with

Claude Desktop Claude Code ChatGPT GitHub Copilot Cursor Windsurf Any MCP Client
01 — Install

One npm command

Install the Veyo MCP package globally. It ships as a single Node.js executable that connects to your Veyo instance via API key.

$ npm install -g @anthropic/veyo-mcp
// or npx for zero-install usage
02 — Configure

Add to your AI client

Point your MCP client at the Veyo server. Provide your API key and project ID. Configuration takes one line in your client's JSON config.

"veyo": {
  "command": "veyo-mcp",
  "args": ["--api-key", "vk_..."]
}
03 — Query

Ask your AI anything

Your AI assistant automatically discovers all 14 tools and uses them contextually. Ask questions in natural language — the tools handle the structured query.

"What procedures in Sales-Post
handle invoice posting?"
Query Tools

14 purpose-built tools
for BC code intelligence

Each tool is designed for a specific class of query. Your AI discovers them automatically via MCP and uses the right one for each question.

consolidated_upgrade_report

Consolidated Upgrade Report

The most powerful tool. Runs event subscription analysis, dependency checks, and SaaS incompatibility scans in a single call to produce a complete upgrade risk assessment for any object.

dependency_explorer

Dependency Explorer

Map all external dependencies for an object. Surface breaking changes between versions or explore the complete dependency graph, including deep transitive analysis.

event_flow_tracker

Event Flow Tracker

Find all subscribers wired to a specific event publisher. Trace the full execution chain from an event through every custom and standard handler.

deprecated_code_explorer

Deprecated Code Explorer

Surface deprecated patterns, obsolete API usage, and risky upgrade tags across your codebase. Prioritises critical issues and includes solution suggestions when available.

saas_incompatibility_explorer

SaaS Incompatibility Explorer

Identify code patterns incompatible with Business Central SaaS. Essential for partners planning cloud migration — get a clear picture of what needs to change before you start.

data_model_rebuilder

Data Model Rebuilder

Analyse table structures and relationships. Traverse foreign key chains to understand how entities connect. Includes field details, relations, and extension impacts on the data model.

table_field_analyzer

Table Field Analyser

Deep-dive into any table's field definitions. Get data types, properties, option strings, and validation rules — for the whole table or a specific field.

extension_finder

Extension Finder

Find all extensions targeting a base object: TableExtensions, PageExtensions, EnumExtensions, and more. Understand what custom code modifies standard behaviour.

object_name_resolver

Object Name Resolver

Search for Business Central objects by name with fuzzy matching. Resolve names to IDs and types. Never guess an object ID again.

procedure_lister

Procedure Lister

Browse all procedures in an object at a glance, or inspect a specific one with the full body, variables, and parameters. Covers procedures, triggers, and events.

upgrade_tag_explorer

Upgrade Tag Explorer

Find ObsoleteState and ObsoleteReason tags for objects and fields. Track what Microsoft has marked for deprecation and the timeline for removal.

event_publisher_explorer

Event Publisher Explorer

List all event publishers defined in any object. Discover integration points your extensions can subscribe to — across one object or your entire codebase.

page_field_analyzer

Page Field Analyser

Analyse fields displayed on a page, or reverse-lookup: find all pages that show a specific table column. Go from data to UI or UI to data in seconds.

page_layout_tool

Page Layout Tool

Retrieve the full hierarchical layout tree for any page. Returns the nested structure of areas, groups, repeaters, and field controls with their AL properties.

Version awareness

Source and target —
always in context

Every query is version-scoped

Every tool accepts a version_target parameter: either "source" (your current version) or "target" (what you're upgrading to).

This means your AI can compare procedure signatures across versions, find what changed in a table between BC22 and BC24, or identify which event publishers were removed in the target.

With the on-premise edition, your LLM also gets access to the standard Business Central base application code for the exact locale, version, and cumulative update.

// Query source version
procedure_lister({
  object_type: "Codeunit",
  object_name: "Sales-Post",
  version_target: "source"
})
 
// Compare with target version
procedure_lister({
  object_type: "Codeunit",
  object_name: "Sales-Post",
  version_target: "target"
})
 
// AI compares both results automatically
Security

API-key
authenticated

// MCP config
 
api_key: vk_your_api_key
project_id: your_project_id
 
// That's it. Your AI is connected.

One key, scoped to your project

The MCP server authenticates via API key, scoped to specific projects. A key can only access the projects it's been assigned to.

Generate, rotate, and revoke keys at any time through the Portal. Each key tracks usage so you always know what's active.

Get started

Up and running
in under two minutes

Install the package, generate an API key in the Portal, add the config to your AI client.

Claude Desktop
Claude Code
Cursor
Environment Variables
// claude_desktop_config.json
{
  "mcpServers": {
    "veyo": {
      "command": "npx",
      "args": [
        "-y", "veyo-mcp",
        "--api-url", "https://your-instance.com",
        "--api-key", "vk_your_api_key",
        "--project-id", "your_project_id"
      ]
    }
  }
}
Portal

Manage everything
from one place

The Veyo Portal is where you set up projects, connect repositories, monitor ingestion, manage credentials, and control team access.

Project Wizard

Step-by-step project creation: name your project, connect source and target repositories, assign credentials, and trigger your first ingestion.

Multi-Repository Projects

Each project supports multiple repositories with distinct roles: source version, target version, and custom extensions. Compare any combination.

Repository Connections

Connect GitHub and Azure DevOps repositories using encrypted PATs. Credential resolution cascades: repository, project, then user scope.

Real-Time Job Monitoring

Watch ingestion progress live via Server-Sent Events. Track job status, file counts, error rates, and batch completion across all your projects.

API Key Management

Generate, rotate, and revoke API keys scoped to specific projects. Track usage with last-used timestamps and request counts.

Team & RBAC

Invite team members and assign roles per project: Owner, Admin, Member, or Viewer. Control who can ingest, query, and manage settings.

Workflow

From repository
to AI-ready in minutes

01 — Create Project

Define your analysis scope

Name your project and choose your organisation. The wizard guides you through each step with validation and helpful defaults.

Project: Contoso BC24 Upgrade
Org: Contoso Partners Ltd
Type: Upgrade Analysis
02 — Connect Sources

Add your repositories

Point to your GitHub or Azure DevOps repos. Assign each as source (current version) or target (upgrade version). Add credentials — encrypted at rest with Fernet.

Source: github.com/contoso/bc22-custom
Target: github.com/contoso/bc24-custom
Auth: Encrypted PAT
03 — Ingest & Monitor

Watch the parsing happen

Trigger ingestion and watch progress in real-time. The system detects changes per-commit, downloads only modified files, and parses them through 20+ extractors.

1,243 files downloaded
12 semantic tables populated
Ready for MCP queries
Dashboard

Monitor your
entire operation

Ingestion Dashboard

Live Job Tracking

See every ingestion job in real-time: pending, downloading, processing, completed, or failed. Jobs stream updates via SSE so the dashboard is always current.

Project Overview

Project Health at a Glance

Each project card shows connected repositories, last ingestion timestamp, file counts, and active API keys. Drill into any project for full configuration and history.

Credential Vault

Encrypted Credential Storage

PATs and API tokens are encrypted with Fernet symmetric encryption. Credentials are scoped and resolved hierarchically: repository > project > user.

System Repositories

Shared BC Base Application

Organisation-level system repositories make standard Business Central base application code available to all projects. Set up once, share across your team.

Multi-tenancy

Organisations, projects,
and data isolation

Complete data separation

Every project gets a unique collection prefix that namespaces all 12 semantic tables. Project A cannot see Project B's data — even within the same organisation.

Organisations group users and projects under a single billing and management boundary. Members can be assigned different roles per project within the org.

System repositories (shared BC base application code) are scoped to the organisation level, so all projects in an org can reference the same standard code without duplicating ingestion.

Organisation: Contoso Partners
System Repo: BC24 W1 Base (shared)
System Repo: BC22 W1 Base (shared)
Project: Client A Upgrade
prefix: p_a1b2c3
roles: 3 members, 1 viewer
Project: Client B Development
prefix: p_d4e5f6
roles: 2 members, 2 admins
Architecture

How the pieces fit together

A hub-and-spoke design with the Orchestrator at the centre. PostgreSQL is the data store and the job queue — no external brokers.

AI Integration
MCP Server
Backplane
Orchestrator
Worker
Ingestor
Web UI
Portal
Storage
PostgreSQL
App DB + Semantic DB
Sources
GitHub / Azure DevOps
Ready to start

Give your AI the context
it's been missing

Stop working around hallucinations. Start building with confidence.

Install Veyo MCP See the benefits