Model Context Protocol · npm package

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.

Install Veyo MCP See all 14 tools

Compatible with

Claude Desktop Claude Code ChatGPT GitHub Copilot Cursor Windsurf Any MCP Client
How it works

One server, all your AI tools,
all your codebase data

The MCP server sits between your AI assistant and the Veyo Orchestrator. It translates natural tool calls into precise semantic queries.

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_...",
    "--project-id", "..."
  ]
}
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 and what
events do they publish?"
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. Pass an object type and name/ID to get a complete upgrade risk assessment.

dependency_explorer

Dependency Explorer

Map all external dependencies for an object. Filter to show only breaking changes between versions, or get the complete dependency graph. Supports scan_dependencies for deep transitive analysis.

event_flow_tracker

Event Flow Tracker

Find all subscribers wired to a specific event publisher. Trace the execution chain from an event through all custom and standard handlers. Filter by event name for precision.

deprecated_code_explorer

Deprecated Code Explorer

Surface deprecated patterns, obsolete API usage, and risky upgrade tags. Filter by severity to focus on critical issues first. 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. Filter by object type, name pattern, or specific objects.

data_model_rebuilder

Data Model Rebuilder

Analyse table structures and relationships. Traverse foreign key chains at configurable depth. Includes field details, relations, and extension impacts on the data model.

table_field_analyzer

Table Field Analyser

Deep-dive into a specific table's field definitions. Get data types, properties, option strings, and validation rules. Filter to a specific field by name or ID.

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. Set max_results and min_score to control precision.

procedure_lister

Procedure Lister

Two modes: browse (compact list of all procedures in an object) and inspect (full body, variables, parameters for a specific procedure). Filter by type: procedure, trigger, or event.

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 a specific object. Discover integration points your extensions can subscribe to. Supports wildcard search across objects.

page_field_analyzer

Page Field Analyser

Analyse fields displayed on a page, or reverse-lookup: find all pages that show a specific table column. Filter by source table for precise results with common field names.

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 — not just your custom extensions.

// 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

Session-attested,
API-key authenticated

// Authentication flow
 
1. API key validates identity
2. Session token + challenge issued
3. HMAC-SHA256 request signing
4. Heartbeat keeps session alive
5. Auto-expire after 5min inactivity
 
// Headers per request:
X-API-Key: vk_...
X-Session-Token: sess_...
X-Client-Signature: hmac(...)
X-Project-ID: proj_...

Every request is verified

The MCP server uses API key authentication scoped to specific projects. On top of that, a session attestation layer using HMAC-SHA256 signing ensures that every query comes from a legitimate client.

Sessions automatically expire after 5 minutes of inactivity. Heartbeats keep active sessions alive. API keys can be rotated at any time through the Portal.

Each API key tracks usage: last used timestamp and request count. Scoping ensures a key can only access the projects it's been assigned to.

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"
      ]
    }
  }
}

Where do I get an API key?

Log in to the Veyo Portal, navigate to your project's API Keys page, and generate a new key. The key is scoped to the project and tracks usage automatically. You'll also find your Project ID on the project settings page.

Ready to start

Give your AI the context
it's been missing

Stop working around hallucinations. Start building with confidence.

Install now Back to Platform