Skip to main content
Glama

AL-Go MCP Server

A Model Context Protocol (MCP) server that provides intelligent access to AL-Go documentation, workflows, and domain expertise for Business Central development automation.

Repository

🔗 GitHub Repository: https://github.com/louagej/al-go-mcp-server 📦 npm Package: https://www.npmjs.com/package/al-go-mcp-server

Related MCP server: Dynamics 365 Business Central Admin MCP Server

Features

  • Domain Specialists: 16 AL-Go expert profiles covering every major workflow area (app creation, CI/CD, release management, testing, deployment, and more)

  • Knowledge Integration: Links specialists to AL-Go scenarios, workshop content, GitHub Discussions, and resolved Issues

  • Ranked Search: BM25 relevance ranking (with title and path boosts) for documentation, issues, discussions, and cross-source semantic search

  • Knowledge Graph: Visualize relationships between specialists and knowledge sources, with cluster detection

  • Smart Caching: One shared cache for all GitHub data (docs: 24h, discussions: 6h, issues: 12h) with hit/miss statistics; documentation is downloaded without using the GitHub API rate limit

  • AL-Go Documentation: Search through comprehensive AL-Go guides and workflow templates

  • Optional Authentication: GitHub token support for higher rate limits and full API access

Installation

With npm

# Install globally for command line usage
npm install -g al-go-mcp-server

# Or use directly with npx (no installation required)
npx al-go-mcp-server

Usage

You can configure the AL-Go MCP server in two ways:

Add to your User MCP Configuration for access across all projects in the same VS Code profile:

Note: User settings are profile-specific. The server will be available for all projects opened with the same VS Code profile (e.g., "Node.js", "Default", etc.).

  1. Open VS Code Command Palette (Ctrl+Shift+P)

  2. Run "MCP: Open User Configuration"

  3. Add the server configuration:

{
  "servers": {
    "al-go-docs": {
      "type": "stdio",
      "command": "npx",
      "args": ["--yes", "al-go-mcp-server@latest"]
    }
  },
  "inputs": []
}

Option 2: Project Settings

Add to your project's .vscode/mcp.json for project-specific configuration:

{
  "servers": {
    "al-go-docs": {
      "type": "stdio",
      "command": "npx",
      "args": ["--yes", "al-go-mcp-server@latest"]
    }
  }
}

Provide a GitHub token for higher rate limits, and to enable discussion and issue search:

{
  "servers": {
    "al-go-docs": {
      "type": "stdio",
      "command": "npx",
      "args": ["--yes", "al-go-mcp-server@latest"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here"
      }
    }
  }
}

AL_GO_MCP_GITHUB_TOKEN is accepted as an alternative to GITHUB_TOKEN.

Claude Code

Add the server for all your projects:

claude mcp add --scope user al-go-docs -e GITHUB_TOKEN=your_github_token_here -- npx --yes al-go-mcp-server@latest

Specialist Agents (Optional)

The 16 specialists can be installed as agents in Claude Code (~/.claude/agents) and VS Code Copilot Chat (your VS Code user prompts folder, e.g. %APPDATA%CodeUserprompts on Windows), so they are available in every project.

Install once from the command line:

npx --yes al-go-mcp-server@latest --install-agents          # every client found on this machine
npx --yes al-go-mcp-server@latest --install-agents=claude   # Claude Code only
npx --yes al-go-mcp-server@latest --install-agents=vscode   # VS Code only

Or let the server keep them up to date on every start by setting AL_GO_MCP_INSTALL_AGENTS to true, claude or vscode in its env:

"env": {
  "AL_GO_MCP_INSTALL_AGENTS": "true"
}
  • Claude Code: restart the session to load new agents. Claude delegates AL-Go questions to the matching specialist on its own, or you can ask for one: use alg-rex to find out why my CI/CD workflow fails. Agents are listed under /agents.

  • VS Code: the agents appear in the Copilot Chat agent picker as @alg-*. They call the server's tools as al-go-docs/*, so keep al-go-docs as the server name.

Updates

At startup the server checks npm for a newer version in the background (a single request with a 3-second timeout; it never delays startup or fails offline). When one is available, the next tool result ends with a one-line notice:

  • npx with @latest (the configurations above): restarting the MCP server is enough to get the new version.

  • Global install: the notice shows the npm install -g al-go-mcp-server@latest command to run.

Agent files installed earlier (see Specialist Agents) are rewritten automatically when the server version changes, followed by a notice to restart the Claude Code session or reload the VS Code window. Only clients that already have AL-Go agents are touched, and only the alg-* files.

Set AL_GO_MCP_UPDATE_CHECK to off to disable the update check. The server uses npm_config_registry when it is set, so a company npm mirror works.

Command Line (Advanced)

# If installed globally
al-go-mcp-server

# Or using npx (no installation needed, always latest)
npx --yes al-go-mcp-server@latest

Available Tools

Documentation

Tool

Description

alg-search-docs

Search AL-Go documentation and guides

alg-get-workflows

Get AL-Go workflow templates and examples

alg-refresh-cache

Load the documentation index, or re-download it with force

Specialists

Tool

Description

alg-search-specialists

Find domain specialists by keyword, persona name, or expertise area

alg-list-specialists

Browse all 16 AL-Go domain specialists

alg-get-specialist

Get detailed profile for a specific specialist

alg-ask

Ask a specialist by persona name — routes your question with avatar context

Tip: Address specialists directly in chat: @alg-freddy my dev environment can't be reached — Copilot will call alg-ask and Freddy responds with his avatar and expertise. This requires the agent files; see Specialist Agents.

Knowledge Sources

Tool

Description

alg-get-scenarios

Fetch AL-Go scenario files from the repository

alg-search-discussions

Search GitHub Discussions for community Q&A (requires a GitHub token)

alg-search-issues

Search resolved GitHub Issues for tips and workarounds

alg-get-specialist-knowledge

Get all knowledge sources linked to a specialist

alg-build-knowledge-graph

Build the complete specialist–knowledge graph

Advanced

Tool

Description

alg-semantic-search

Cross-source intelligent search with relevance ranking

alg-graph-visualization

Visualize specialist relationships (JSON or text format)

alg-cache-stats

View cache hit/miss rates and TTL configuration

alg-clear-cache

Clear all cached data, or just docs, discussion or issue

Note: Tools in the Knowledge Sources and Advanced groups that call the GitHub API require a GITHUB_TOKEN to be set for full functionality.

Domain Specialists

The server includes 16 AL-Go domain specialists, each with mapped expertise, keywords, related scenarios, and related workflows:

Disclaimer: All persona names and avatars are randomly generated and entirely fictional. They do not represent, depict, or refer to any real person, living or deceased. Any resemblance to actual individuals is purely coincidental.

Name

Specialist

Focus Area

Sample Chat

Freddy

Online Dev Environment Specialist

Create and manage cloud-based dev environments

@alg-freddy my codespace won't start after the latest AL-Go update

Riley

Release Manager Specialist

Handle release creation and versioning strategies

@alg-riley how do I create a hotfix release for v2.1.3?

Drew

Documentation Publisher Specialist

Deploy and manage reference documentation

@alg-drew my reference docs aren't publishing to GitHub Pages

Vera

Version Updater Specialist

Manage version number increments and semantic versioning

@alg-vera how do I bump the major version across all my apps?

Ethan

Environment Publisher Specialist

Publish Business Central apps to environments

@alg-ethan my app isn't deploying to the sandbox environment

Tara

Current Version Test Specialist

Run and manage tests against the current version

@alg-tara some tests are failing in the current version CI run

Axel

App Provisioner Specialist

Add and manage existing or test applications

@alg-axel how do I add an existing app as a dependency?

Casey

CI/CD Architect Specialist

Configure and optimize CI/CD pipelines

@alg-casey my CI pipeline takes 45 minutes — how can I speed it up?

Grace

App Generator Specialist

Create new BC applications from templates

@alg-grace how do I scaffold a new BC extension from a template?

Perry

Performance Test Creator Specialist

Create and manage performance test applications

@alg-perry how do I set up a performance test for my posting routines?

Tommy

Test App Creator Specialist

Create test applications for quality assurance

@alg-tommy I need to create a test app for my new extension

Blake

PR Build Engineer Specialist

Manage pull request build workflows and validation

@alg-blake PR builds are failing but the main branch builds fine

Finn

Future Version Tester Specialist

Test applications against next major/minor versions

@alg-finn how do I test my app against the next major BC version?

Rex

Troubleshooting Specialist

Diagnose and resolve AL-Go issues and problems

@alg-rex my AL-Go workflow is failing with a cryptic error

Stella

System File Updater Specialist

Update and maintain AL-Go system files

@alg-stella how do I update the AL-Go system files to the latest version?

Bruno

Build Manager Specialist

Manage AL-Go project builds and configurations

@alg-bruno my build artifacts aren't being generated correctly

Development

# Clone the repository
git clone https://github.com/louagej/al-go-mcp-server.git
cd al-go-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

# Run tests
npm test

# Run locally
npm start

Contributing

We welcome contributions from the community! This project is open source and we appreciate all kinds of contributions.

Quick Start for Contributors

  1. Fork the repository and clone it locally

  2. Install dependencies: npm install

  3. Build the project: npm run build

  4. Run tests: npm test — all tests must pass before submitting a PR

  5. Make your changes following our contribution guidelines

  6. Submit a pull request with a clear description

Contribution Guidelines

Please read our CONTRIBUTING.md for detailed information about:

  • Development setup and workflow

  • Code style and standards

  • Pull request process

  • Security guidelines

  • Review process

Security

For security-related issues, please review our Security Policy and report vulnerabilities responsibly.

Issues and Feature Requests

  • Bug Reports: Use the issue template and provide detailed reproduction steps

  • Feature Requests: Describe the feature and its use case clearly

  • Questions: Use GitHub Discussions for general questions

License

MIT — see LICENSE file for details.


Links:

Available Tools

17 tools
alg-askAsk an AL-Go SpecialistA

Consult an AL-Go domain specialist for expert guidance on AL-Go workflows, CI/CD pipelines, releases, testing, and Business Central app development. Auto-selects the best specialist based on your question, or use the specialist parameter to request a specific persona (e.g. 'freddy', 'casey', 'rex'). Use this whenever the user asks about AL-Go or addresses a specialist directly (e.g. '@alg-freddy ...', 'alg-freddy ...', 'ask riley about releases').

Inputs: question (required), specialist.

alg-build-knowledge-graphBuild Knowledge GraphB

Initialize and build the knowledge graph linking specialists to all knowledge sources

Inputs: no named parameters.

alg-cache-statsCache StatisticsA

Get cache hit rates and statistics for knowledge sources

Inputs: no named parameters.

alg-clear-cacheClear CacheB

Clear cached GitHub data so the next request re-downloads it. 'docs' covers documentation, scenarios and workshops.

Inputs: source.

alg-get-scenariosGet AL-Go ScenariosB

Get available AL-Go setup scenarios

Inputs: no named parameters.

alg-get-server-versionGet AL-Go MCP Server VersionA

Get version information for the AL-Go MCP server

Inputs: no named parameters.

alg-get-specialistGet AL-Go Specialist DetailsB

Get detailed information about a specific AL-Go specialist

Inputs: specialistId (required).

alg-get-specialist-knowledgeGet Specialist KnowledgeB

Get comprehensive knowledge for a specialist including workshops, scenarios, discussions, and issues

Inputs: specialistId (required).

alg-get-workflowsGet AL-Go Workflow ExamplesB

Get examples of AL-Go GitHub workflows

Inputs: workflowType.

alg-graph-visualizationKnowledge Graph VisualizationC

Get knowledge graph structure for visualization (nodes and edges)

Inputs: format.

alg-list-specialistsList All AL-Go SpecialistsA

List all available AL-Go specialists and their persona names. After browsing, use alg-ask with the specialist parameter to connect with a specific specialist.

Inputs: no named parameters.

alg-refresh-cacheRefresh AL-Go Documentation CacheB

Load the AL-Go documentation index (cached for 24 hours). Use force=true to re-download it from the repository.

Inputs: force.

alg-search-discussionsSearch AL-Go GitHub DiscussionsA

Search the 50 most recently active GitHub Discussions in the AL-Go repository. Requires a GitHub token.

Inputs: query (required), limit.

alg-search-docsSearch AL-Go DocumentationC

Search through AL-Go documentation for specific queries

Inputs: query (required), limit.

alg-search-issuesSearch AL-Go Resolved IssuesA

Search the 100 most recently closed AL-Go issues for tips and workarounds

Inputs: query (required), limit.

alg-search-specialistsSearch AL-Go SpecialistsC

Search for AL-Go specialists by name, persona, expertise, or keyword

Inputs: query (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 17 tools

    Disambiguation3/5

    Several tools overlap: alg-search-docs/discussions/issues all search single sources while alg-semantic-search searches across all of them, and the specialist cluster (search/list/get/get-knowledge/ask) has fuzzy boundaries between browsing, fetching, and consulting. The cache trio (refresh/clear/stats) is also easily conflated, though descriptions do provide reasonable guidance.

    Naming Consistency4/5

    Nearly all tools use a consistent 'alg-' prefix with a verb_noun pattern (get-workflows, search-docs, list-specialists, clear-cache). A few deviate—alg-semantic-search, alg-graph-visualization, and alg-cache-stats are noun/adjective phrases rather than verb-led—but the overall pattern stays predictable.

    Tool Count4/5

    17 tools is slightly heavy but justifiable given the server spans documentation search, specialist consultation, caching, and a knowledge graph. The count is on the upper edge of comfortable rather than excessive.

    Completeness4/5

    The surface covers search across docs/discussions/issues, specialist discovery and consultation, cache lifecycle, and knowledge-graph construction/visualization. Minor gaps exist (no direct scenario/workshop retrieval beyond knowledge aggregation), but core workflows appear well covered.

    Maintenance

    ActivityActive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables AI assistants to perform Business Central AL development tasks including language server operations, container management, Git version control, and file system operations for professional BC development workflows.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to manage Dynamics 365 Business Central environments through natural language commands, including environment, app, session, and extension management.
      28 npm
      13
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Generates AL code for Business Central directly from your IDE, enhancing developer efficiency by providing tools, prompts, and resources for code generation.
      1
      -