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: FO Semantic 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

  • Semantic Search: Cross-source intelligent search with TF-IDF relevance ranking across all knowledge sources

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

  • Smart Caching: Per-source TTL caching (workshop/scenario: 24h, discussion: 6h, issue: 12h) with hit/miss statistics

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

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

Force refresh of cached documentation

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.

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

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, expired, or source-specific cache entries

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').

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesThe question or problem to bring to the specialist
specialistNoOptional persona name or handle (e.g. 'freddy', '@alg-freddy', 'alg-riley'). Auto-selects best specialist if omitted.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses auto-selection of the best specialist and the optional specialist parameter for specific personas. However, it does not describe the nature of the answer (e.g., AI-generated or human-like), potential limitations, or any side effects of consultation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each serving a distinct purpose: stating the tool's role, explaining behavior, and giving usage triggers. No redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, usage, and parameter behavior well. However, since there is no output schema, it omits any indication of what the specialist returns (e.g., answer format, length, or whether it's a conversation). This gap reduces completeness for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with basic descriptions. The description adds value by explaining that the specialist is auto-selected if omitted and provides example values for the specialist parameter (e.g., 'freddy', 'casey', 'rex'), which clarifies usage beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: consulting an AL-Go domain specialist for expert guidance on specific topics like workflows, CI/CD, releases, testing, and app development. It distinguishes the tool from siblings by emphasizing specialized AL-Go knowledge and auto-selection of specialists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this whenever the user asks about AL-Go or addresses a specialist directly' and provides concrete examples of how to invoke the specialist (e.g., '@alg-freddy'). However, it does not explicitly mention when not to use the tool or suggest alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-build-knowledge-graphBuild Knowledge GraphB

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only mentions initialization and building without disclosing side effects, idempotency, duration, or whether it can be safely rerun.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-formed sentence that efficiently conveys the core purpose without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description fails to explain return values, prerequisites, or behavioral context (e.g., is it a one-time setup? Mutates state?). Incomplete for safe agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and the schema already indicates this. The description adds no extra parameter meaning, but baseline 4 is appropriate for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'initialize and build' and the resource 'knowledge graph', and specifies linking specialists to knowledge sources, distinguishing it from sibling search and visualization tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., refreshing cache or searching). No prerequisites or scenarios provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-cache-statsCache StatisticsA

Get cache hit rates and statistics for knowledge sources

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies a read-only operation but does not explicitly state it is non-destructive; with no annotations, more context about safety and side effects would be helpful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, direct, front-loaded with key information; no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no parameters and no output schema, the description covers the essential purpose; however, it could specify the scope of 'knowledge sources' (all or current) for full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist; baseline 4 applies, and the description adds no unnecessary detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (get) and the resource (cache hit rates and statistics for knowledge sources), distinguishing it from sibling tools like alg-clear-cache and alg-refresh-cache.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives; no mention of when not to use it or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-clear-cacheClear CacheB

Clear cached knowledge sources or entire cache

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoCache source to clearall

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only says 'Clear' but doesn't explain effects like irreversibility, impact on users, permission requirements, or what is destroyed. This is a significant gap for a potentially destructive action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, concise and to the point. No unnecessary words, but could be more informative. It is appropriately front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple structure (1 optional param, no output schema, 100% schema coverage), the description is adequate but minimal. It does not explain behavior for different enum values or return values. Sibling tools related to cache add context, but description could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (only parameter described). The description adds 'Cache source to clear' which is consistent with the schema. Since coverage is high, baseline is 3; the description does not add substantial new meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Clear cached knowledge sources or entire cache' clearly states the action (clear) and the resource (cached knowledge sources), with the ability to target specific sources or all. The enum options in the schema further specify the exact sources. This distinguishes it from sibling tools like alg-cache-stats (statistics) and alg-refresh-cache (refresh).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when clearing cache is appropriate, or what to consider before clearing. The description lacks context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-get-scenariosGet AL-Go ScenariosB

Get available AL-Go setup scenarios

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It only states what the tool does (gets scenarios) without mentioning idempotency, side effects, caching, or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence that immediately conveys the tool's purpose. There is no unnecessary information, earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless tool, the description is minimally complete. However, it lacks any hint about the output format or what 'scenarios' means, given no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so schema description coverage is 100%. Baseline is 4; the description does not add parameter semantics, but none are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Get' and the resource 'available AL-Go setup scenarios', making the purpose obvious. No sibling tool targets scenarios, so differentiation is not an issue.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like search tools or list tools. The description does not mention any prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

Get version information for the AL-Go MCP server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description is minimal and does not disclose behavioral traits such as idempotency or read-only nature. Since no annotations exist, the description carries full burden but only states purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the core action. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless version information retrieval, the description is sufficiently complete. No output schema is needed as output is simple version string.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and schema coverage is 100%. Baseline score of 4 applies as description adds no extra semantic value beyond the schema, which is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Get version information') and the resource ('AL-Go MCP server'), distinguishing it from sibling tools that handle specialists, discussions, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. Usage is implied for retrieving server version, but no exclusions or context are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-get-specialistGet AL-Go Specialist DetailsB

Get detailed information about a specific AL-Go specialist

ParametersJSON Schema
NameRequiredDescriptionDefault
specialistIdYesThe ID of the specialist (e.g., 'alg-casey', 'alg-grace')

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. However, it only states 'get detailed information' without disclosing what fields or data are returned, or any side effects. For a read operation, it lacks detail about output or invariants.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise and front-loaded. It has no wasted words but could be slightly more descriptive without sacrificing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should explain the return value. It fails to describe what 'detailed information' includes, leaving the agent uninformed about the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter 'specialistId' well-described in the schema. The description does not add anything beyond what the schema provides, so baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('get') and the resource ('detailed information about a specific AL-Go specialist'). It is specific and distinguishes well from siblings like search and list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies you should use this when you have a specific specialistId, but it does not explicitly state when to use it versus alternatives or provide any exclusions. The context is implied but not elaborated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-get-specialist-knowledgeGet Specialist KnowledgeB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
specialistIdYesThe ID of the specialist

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must disclose behavioral traits. It does not mention read-only nature, error handling, response format, or any rate limits. The description is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that directly states the purpose. It is concise, though the word 'comprehensive' is vague. Still, it communicates the core action efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description should provide more context on return structure, usage scenarios, or limitations. It only lists content categories without clarifying how the data is presented or what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema describes the parameter 'specialistId' adequately. The description adds no additional meaning beyond the schema, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets comprehensive knowledge for a specialist, listing specific content types (workshops, scenarios, discussions, issues). It distinguishes itself from sibling tools like 'alg-get-specialist' (likely basic info) and various search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'alg-search-specialists' or 'alg-get-specialist'. No exclusions or context are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-get-workflowsGet AL-Go Workflow ExamplesB

Get examples of AL-Go GitHub workflows

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowTypeNoType of workflows to retrieveall

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It only states the action without disclosing whether it's read-only, any side effects, or response characteristics. This is insufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that directly states the tool's function. It avoids unnecessary words but is not overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description should provide more context about the returned examples (e.g., format, scope). It is too minimal for a fully autonomous agent to understand the tool's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% as the single parameter 'workflowType' includes an enum and description. The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves examples of AL-Go GitHub workflows. The verb 'Get' and resource 'workflows' are specific, and the title reinforces this. Among siblings like search and specialist tools, this tool's purpose is distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs. alternatives such as alg-get-scenarios or alg-search-issues. The description lacks explicit context for optimal usage or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-graph-visualizationKnowledge Graph VisualizationC

Get knowledge graph structure for visualization (nodes and edges)

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoOutput formatjson

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only indicates a read operation (get) but omits details on side effects, authentication requirements, rate limits, or behavior with empty graphs. The single sentence is insufficient for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise at 10 words, but it lacks necessary details about the output structure or usage context. While front-loaded, it is too sparse for a tool that would benefit from more explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter, no output schema), the description fails to explain the output format (e.g., structure of nodes and edges) or any constraints. Users are not told what the returned data looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with one parameter 'format' well-defined by enum values. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets a knowledge graph structure for visualization, specifying nodes and edges. It distinguishes from siblings like alg-build-knowledge-graph by its focus on retrieval for visualization, but does not explicitly differentiate from alg-get-specialist-knowledge.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as alg-build-knowledge-graph or alg-get-specialist-knowledge. There is no mention of prerequisites, like whether the graph needs to be built first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries burden. States output is a list of specialists and persona names. Does not disclose ordering, dynamism, or any side effects. Adequate for a read-only list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. Front-loaded with purpose, followed by actionable guidance. Each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and sibling tools, description covers purpose, content of output, and next steps. Slight lack of behavioral details but complete for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist; schema coverage is 100%. Description adds no param info, but none is needed. Baseline is high due to trivial schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Verb 'List' with resource 'all available AL-Go specialists and their persona names' is specific and clear. It distinguishes from sibling tools like alg-search-specialists (search) and alg-get-specialist (get specific).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: to browse all specialists. Provides clear next step: use alg-ask with the specialist parameter. Does not explicitly exclude other tools but context implies differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-refresh-cacheRefresh AL-Go Documentation CacheB

Refresh the cached AL-Go documentation from the repository

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoForce refresh even if cache is recent

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears the full burden of disclosing behavioral traits. It only states the action without explaining specifics like whether the operation is blocking, if it invalidates existing cached data, or how it determines whether a refresh is needed. The presence of a 'force' parameter implies some behavior but is not described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the core purpose without extraneous words. It is front-loaded and efficient, though it could possibly add a bit more context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple cache refresh tool with one optional parameter and no output schema, the description is minimally adequate. However, it lacks behavioral details and usage guidance that would make it fully complete given the context of sibling tools and typical usage patterns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (the 'force' parameter is fully described in the schema). The description does not add extra meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Refresh' and identifies the resource as 'cached AL-Go documentation from the repository', clearly indicating the tool's action and scope. It naturally distinguishes from sibling tools like alg-clear-cache, which removes the cache entirely, by implying a reload operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as alg-clear-cache or when the cache might need refreshing. It does not mention prerequisites, typical use cases, or situations where the tool should be avoided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-search-discussionsSearch AL-Go GitHub DiscussionsB

Search for relevant discussions in the AL-Go repository

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
queryYesSearch query for discussions

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavioral traits. It only says 'Search for relevant discussions' without disclosing read/write nature, API used, result ordering, rate limits, or any side effects. This is insufficient for understanding tool behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loads the purpose. No unnecessary words, but could be slightly more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description is minimal for a search tool with no output schema and no annotations. It omits important context such as expected response format, query syntax limitations, or how results are ordered. Comparatively, sibling tools may have richer descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both parameters adequately described in the schema (query and limit). Description adds no additional semantic value beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Search for relevant discussions in the AL-Go repository', specifying the action (search), resource (discussions), and scope (AL-Go). It naturally distinguishes from siblings like alg-search-issues and alg-search-docs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use alg-search-discussions versus alternatives like alg-search-issues or alg-search-docs. Missing information about when not to use, prerequisites, or context for choosing this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-search-docsSearch AL-Go DocumentationB

Search through AL-Go documentation for specific queries

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
queryYesSearch query for AL-Go documentation

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavioral disclosure. It fails to mention that the tool is read-only or any other behavioral traits, leaving the agent uninformed about side effects or constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that efficiently communicates the purpose with no superfluous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema and no annotations, the description should provide more context about result format, sorting, pagination, or scope. It is incomplete for an effective agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond what is already in the schema for the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (search) and the resource (AL-Go documentation), effectively distinguishing from sibling tools that search other resources like specialists, discussions, or issues.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as alg-semantic-search or alg-search-discussions. No exclusions or context for when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-search-issuesSearch AL-Go Resolved IssuesC

Search for tips and tricks in resolved AL-Go issues

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
queryYesSearch query for issues

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states the basic function without mentioning pagination, result ordering, rate limits, or what happens with no results. This is insufficient for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise. However, it omits critical information that could be included without verbosity, making it under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description should compensate with more details about return format, ordering, and constraints. It fails to do so, leaving the tool's behavior ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes both parameters adequately. The description adds no additional meaning or context beyond the schema, meeting the baseline but not exceeding it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states verb 'search' and resource 'resolved AL-Go issues' with purpose 'tips and tricks'. Clearly identifies action and scope, though does not explicitly distinguish from sibling tools like alg-search-discussions or alg-search-docs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description provides no guidance on when to use this tool versus alternatives, no when-not-to-use conditions, and no mention of prerequisites or context. The agent is left to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

alg-search-specialistsSearch AL-Go SpecialistsC

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

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (specialist name, persona name, expertise, or keyword)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations exist, the description must fully disclose behavior. It only states the search operation, but omits details about output format, result limits, pagination, or rate limits. This is insufficient for an agent to understand side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the core functionality without any unnecessary words. It is well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is minimal. However, it lacks details on what the search returns (e.g., list of specialist objects) and how to interpret results. Sibling tools are numerous, and the description does not help distinguish them.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter. The description adds context by listing searchable fields (name, persona, expertise, keyword), but this closely mirrors the schema's description. Given high schema coverage, baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'search' and the resource 'AL-Go specialists', mentioning searchable attributes. However, it does not differentiate from sibling tools like alg-search-discussions or alg-search-issues, which also perform searches over different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs alternatives such as alg-list-specialists or alg-get-specialist. There is no mention of use cases or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 17 tool updatesv2.8.0
    • First observedalg-ask
    • First observedalg-build-knowledge-graph
    • First observedalg-cache-stats
    • First observedalg-clear-cache
    • First observedalg-get-scenarios
    • First observedalg-get-server-version
    • First observedalg-get-specialist
    • First observedalg-get-specialist-knowledge
    • First observedalg-get-workflows
    • First observedalg-graph-visualization
    • First observedalg-list-specialists
    • First observedalg-refresh-cache
    • First observedalg-search-discussions
    • First observedalg-search-docs
    • First observedalg-search-issues
    • First observedalg-search-specialists
    • First observedalg-semantic-search

TDQS

B3.3/5.0

Scored across 17 tools

Disambiguation3/5

There is significant overlap among specialist-related tools (search, list, get, ask, get-knowledge) and search tools (discussions, issues, docs, semantic). Descriptions help differentiate but agents may still struggle to choose correctly.

Naming Consistency4/5

All tools use 'alg-' prefix followed by verb_noun pattern. Slight inconsistency with compound verbs like 'build-knowledge-graph' and 'graph-visualization', but overall consistent.

Tool Count4/5

17 tools is on the higher side but justifiable given the multiple knowledge sources and specialist features. Not excessive.

Completeness4/5

Covers specialists, discussions, issues, docs, workflows, and cache management. Semantic search bridges sources. Minor gap: no direct tool to execute or trigger workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search and analyze Microsoft Dynamics 365 Finance & Operations artifacts, read local source code, and generate context-aware solutions through natural language.
    40 npm
    12
    -
  • 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.
    41 npm
    9
    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
    -