Skip to main content
Glama
JeremyVyska
by JeremyVyska

BC Code Intelligence MCP Server

Install with NPX in VS Code Installation Guide

Get instant help from AI Business Central experts right in your favorite AI tool. No more searching docs - just ask and get expert guidance tailored to your specific BC development challenges.


πŸš€ Quick Start

  1. Click the blue "Install with NPX" button above (VS Code users)

  2. Switch to Agent Mode in VS Code's Copilot Chat

  3. Just ask! - Start with any prompt below

Other platforms? See the Installation Guide for Claude Desktop, Cursor, and more.


Related MCP server: Dynamics 365 Business Central Admin MCP Server

🀝 New to AI-Assisted Development? Start with Parker

If you're not sure how to work with AI tools, or you're skeptical about letting AI touch your codeβ€”that's exactly why Parker exists.

Parker is a grizzled veteran who helps you work WITH AI safely:

  • Creates reviewable proposals instead of making direct changes

  • Explains AI reasoning so you understand what's happening and why

  • Coordinates other specialists to validate suggestions before you commit

  • Builds trust gradually through transparency and verification

Just say:

  • "Parker, I'm new to AI development tools. Help me understand how this works."

  • "Parker, I don't trust AI to write my code. What's a safe way to start?"

  • "Parker, review what the AI just suggested before I accept it."

Once you're comfortable, you can work directly with any specialistβ€”but Parker's always there when you want that extra layer of verification and explanation.


πŸ’¬ Just Ask - Example Prompts

The BC Code Intelligence specialists are ready to help. Just type naturally - here are some examples:

πŸ” Debugging & Performance (Dean)

  • "Dean, help me debug this error: 'The record in table Customer already exists'"

  • "I'm seeing slow performance when posting sales orders. Can Dean take a look?"

  • "Ask Dean why my FlowField is always showing zero"

πŸ›οΈ Legacy Code & Upgrades (Logan)

  • "Logan, I need to upgrade my extension from BC v24 to v27"

  • "I inherited this old extension - can Logan help me understand what it does?"

  • "Help me modernize this C/AL-style code to proper AL patterns"

πŸ”„ Version Migration & Breaking Changes (Victor)

  • "Victor, help me upgrade from BC25 to BC26"

  • "I'm seeing obsolete warnings after upgrading - what do I need to change?"

  • "What breaking changes should I know about in BC27?"

  • "Help me resolve this compile error after a runtime upgrade"

πŸ”§ DevOps & CI/CD (Lena)

  • "Lena, help me set up AL-Go for my BC extension"

  • "I need to configure an Azure DevOps pipeline with ALOps"

  • "How do I use BCContainerHelper for local BC development?"

  • "Help me integrate Cosmo Alpaca for automated testing"

πŸ—οΈ Architecture & Design (Alex)

  • "Alex, review my extension's architecture before I submit to AppSource"

  • "I need to design an integration with an external warehouse system"

  • "What's the best way to structure a multi-company solution?"

πŸ’» Coding & Implementation (Sam)

  • "Sam, help me write a function to calculate weighted average cost"

  • "I need to create a FactBox that shows related sales history"

  • "Show me the best way to implement a posting routine"

πŸ§ͺ Testing & Quality (Quinn)

  • "Quinn, help me create test coverage for my posting codeunit"

  • "What test scenarios should I include for this validation?"

  • "Review my test codeunit for completeness"

πŸ“ Code Review (Roger)

  • "Roger, review this codeunit for best practices"

  • "Check if my code follows BC naming conventions"

  • "Are there any code smells in my Customer Card extension?"

πŸ”’ Security (Seth)

  • "Seth, review my permission sets for security issues"

  • "How should I handle user permissions for this sensitive data?"

  • "Check if my API is exposing too much information"

πŸŒ‰ Integration & Events (Jordan)

  • "Jordan, help me design an event-driven integration"

  • "What's the best way to subscribe to posting events?"

  • "How do I create a clean API for external systems?"

⚠️ Error Handling (Eva)

  • "Eva, help me implement proper error handling for this process"

  • "What's the best way to validate user input before posting?"

  • "Review my Try/Catch implementation"

🎨 User Experience (Uma)

  • "Uma, help me improve my page layout for better usability"

  • "Can we switch from simple Error calls in this app to ErrorInfo with suggested actions?"

  • "Review my action menu structure"

πŸͺ AppSource & ISV (Morgan)

  • "Morgan, help me prepare my app for AppSource submission"

  • "What are the common AppSource validation failures?"

  • "Review my app's technical baseline for AppSource"

πŸ‘©β€πŸ« Learning & Mentoring (Maya)

  • "Maya, explain how dimensions work in BC"

  • "I'm new to AL - help me understand events and subscribers"

  • "Walk me through how posting routines work"

πŸ“š Documentation (Taylor)

  • "Taylor, help me document this complex codeunit"

  • "Generate XML documentation for my public procedures"

  • "Review my app's README for completeness"


πŸ‘₯ Meet Your BC Specialist Team

Specialist

Expertise

Best For

🀝 Parker

AI Trust & Transparency

New to AI tools, safe collaboration, verification-first

πŸ—οΈ Alex

Architecture & Design

Solution design, extension structure, integration patterns

πŸ’» Sam

Expert Coder

Writing AL code, implementation patterns, coding questions

πŸ” Dean

Debugging & Performance

Errors, slow queries, troubleshooting

⚠️ Eva

Error Handling

Validation, Try/Catch, error messages

πŸ§ͺ Quinn

Testing

Test codeunits, test scenarios, code coverage

πŸ“ Roger

Code Review

Best practices, naming conventions, code quality

πŸ”’ Seth

Security

Permissions, data protection, API security

πŸŒ‰ Jordan

Integration

APIs, events, external connections

πŸ›οΈ Logan

Legacy & Upgrades

Version migrations, old code, modernization

πŸ”„ Victor

Version Migration

BC upgrades, breaking changes, deprecations

πŸ”§ Lena

DevOps & CI/CD

AL-Go, ALOps, BCContainerHelper, pipelines

🎨 Uma

User Experience

Page design, usability, UI patterns

πŸͺ Morgan

AppSource & ISV

Publishing, validation, business concerns

πŸ‘©β€πŸ« Maya

Mentoring

Learning concepts, explanations, training

πŸ“š Taylor

Documentation

Code docs, READMEs, knowledge sharing

βš™οΈ Chris

MCP Configuration

Company/Project MCP knowledge layer help


πŸ“š Learn More

Topic

Link

Full Installation Options

Installation Guide

Common Scenarios

Usage Patterns

All MCP Tools

Tools Reference

Company Standards

Enterprise Configuration

Structured Workflows

Methodology Framework

Troubleshooting

Common Issues


πŸ’‘ Tips

  • Just use first names - "Ask Dean" works just as well as "Ask Dean Debug"

  • Be specific - Include error messages, code snippets, or version numbers when relevant

  • Specialists collaborate - They'll hand off to each other when needed

  • Context carries over - Continue conversations naturally


🀝 Contributing

See the Contributing Guide for how to contribute to this project.

πŸ“„ License

MIT License - see LICENSE for details.

Available Tools

21 tools
analyze_al_codeB

Analyze AL code files in a workspace or specific files. IMPORTANT: Use workspace_path or file_path parameters - the MCP reads files directly. Do NOT pass code content unless you have inline code that is not in a file.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_pathNoPREFERRED: Absolute path to workspace root (e.g., "C:/Projects/MyApp"). The MCP scans for all .al files automatically.
file_pathNoAbsolute path to a single .al file (e.g., "C:/Projects/MyApp/src/Codeunit.al"). The MCP reads the file directly.
file_pathsNoArray of absolute .al file paths to analyze.
codeNoDEPRECATED: Only use for inline code snippets not in files. Never pass "workspace" or file paths as code - use workspace_path or file_path instead.
analysis_typeNoType of analysis to performcomprehensive
operationNoAnalysis operation mode: "analyze" (conversational), "validate" (compliance check + auto-fixes), "suggest_fixes" (code transformations)analyze
bc_versionNoBusiness Central version for version-specific analysis
suggest_workflowsNoInclude workflow recommendations based on analysis

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that the MCP reads files directly, which is a key behavioral trait. However, it does not discuss permissions, side effects, or return format, limiting transparency.

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 concise with two sentences: one for purpose and one for critical usage warning. It is well-structured and front-loaded, though it could be slightly more compact.

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?

Despite 100% schema coverage, the description is incomplete for a complex tool with 8 parameters and no output schema. It lacks guidance on choosing analysis_type, operation, or other options, leaving the agent underinformed.

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 baseline is 3. The description adds general guidance on using workspace_path vs file_path but does not significantly elaborate on individual parameters beyond what the schema provides.

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 analyzes AL code files, which is a specific verb and resource. It distinguishes from siblings by emphasizing file-reading capability, though it doesn't explicitly contrast with related tools like ask_bc_expert.

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 includes usage guidance about using workspace_path or file_path and warns against passing code content, implying when to use this tool for local file analysis. However, it does not explicitly state when to prefer this over alternatives or provide exclusions.

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

ask_bc_expertA

Consult a BC specialist for direct expert guidance. Returns specialist instructions and relevant BC knowledge. Auto-selects best specialist or use preferred_specialist parameter. Set autonomous_mode=true for structured action plans instead of conversational responses.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesYour specific question or challenge about BC development
contextNoOptional context about your situation, code, or project
preferred_specialistNoOptional: specific specialist to consult (will auto-detect if not provided)
autonomous_modeNoEnable autonomous agent mode: returns structured action plan instead of conversational response. For GitHub Coding Agents and automated workflows.

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses return types (instructions and knowledge) and mode behavior. Does not mention potential latency or destructive actions, but reasonable for a consult 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?

Three sentences, front-loaded with the core purpose. No fluff, every sentence adds value.

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?

Description covers the main purpose, parameter details, and mode differentiation. Lacks explicit return format description but is sufficient for agent selection and invocation given the 100% schema coverage.

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%, so baseline is 3. Description adds context on auto-detection for preferred_specialist and explains autonomous_mode's effect on response format, going 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?

Clearly states the tool consults a BC specialist and returns instructions and knowledge. Distinguishes from sibling tools like find_bc_knowledge and list_specialists by offering direct expert consultation.

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?

Provides guidance on auto-selection vs. preferred_specialist and explains the autonomous_mode for structured action plans. Could be improved by explicitly mentioning when to use alternatives like find_bc_knowledge.

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

create_layer_contentB

Create a new topic, specialist, or prompt in a BC Code Intelligence layer with proper frontmatter formatting.

ParametersJSON Schema
NameRequiredDescriptionDefault
layer_pathYesAbsolute path to the layer
content_typeYesType of content to create
nameYesName/ID for the content (used in filename and identifiers)
titleYesDisplay title for the content
domainNoFor topics: domain folder name (e.g., "security", "performance")
metadataNoAdditional metadata specific to content type

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 carries full burden. It mentions frontmatter formatting but fails to disclose prerequisites (e.g., layer existence), side effects, or operation safety. The agent is left with unknowns for a creation 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?

Single sentence, front-loaded with key action and scope. Concise but could benefit from slight expansion for completeness.

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 and no annotations; description fails to explain return values or side effects. For a tool with 6 params, this is insufficient for full agent understanding.

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%, so the description adds minimal value beyond the schema. Baseline 3 is appropriate, as the description does not enhance parameter understanding.

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 (Create) and the resource (topic, specialist, or prompt in a BC Code Intelligence layer). It also mentions proper frontmatter formatting, which distinguishes it from sibling read/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 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 vs alternatives like scaffold_layer_repo or workflow_start. The description does not provide context for selecting this tool over others.

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

extract_bc_snapshotA

Extract a Business Central snapshot (.snap) file to analyze debug traces, AL source code, and execution flow. Snapshots are ZIP archives containing .mdc debug trace files and .al source files. Returns temp directory path where files can be read using standard file tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
snapshot_pathYesAbsolute path to the .snap file to extract

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses that snapshots are ZIP archives containing .mdc and .al files, and that it returns a temp directory path. However, it does not mention any side effects (e.g., whether the original file is modified), authentication needs, or rate limits. Given the simple nature of extraction, this is adequate but not exceptional.

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 two sentences, each serving a distinct purpose: first states action and content, second explains internal structure and return value. No extraneous text.

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 tool with a single required parameter, no output schema, and no nested objects, the description is fully adequate. It covers what the tool does, what the snapshot contains, and what the output is (temp directory). No additional information is needed.

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?

The only parameter 'snapshot_path' is fully documented in the schema with a description ('Absolute path to the .snap file to extract'). The tool description adds no additional meaning beyond the schema, which has 100% coverage. 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 verb 'Extract' and resource 'Business Central snapshot (.snap) file', and explains the purpose: 'to analyze debug traces, AL source code, and execution flow'. This distinguishes it from sibling tools like 'analyze_al_code' or 'ask_bc_expert' which are for analysis rather than extraction.

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 usage when you need to extract a snapshot for analysis, but does not provide explicit guidance on when not to use it or alternatives. No exclusions or comparisons to siblings are given.

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

find_bc_knowledgeB

Search BC knowledge topics, find specialists, or discover workflows. Use this when users want to find information about BC development.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query or question about BC development
search_typeNoType of search to performall
bc_versionNoBusiness Central version (e.g., "BC22", "BC20")
limitNoMaximum number of results to return

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 bears full responsibility for behavioral disclosure. It describes the tool as performing searches, which suggests read-only behavior, but it does not explicitly state safety, required permissions, or potential 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 extremely concise with two sentences, no extraneous words, and the main action is front-loaded. Every sentence serves a clear purpose.

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 absence of an output schema, the description should provide hints about the return format or behavior. It does not mention what the tool returns, how to interpret results, or how it differs from similar tools like ask_bc_expert or get_bc_topic. This leaves the agent with insufficient context for proper 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?

All 4 parameters are fully described in the input schema (100% coverage), so the baseline is 3. The description adds no further meaning beyond mentioning the types of searches (topics, specialists, workflows) which are already enumerated in the schema.

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 that the tool searches BC knowledge topics, finds specialists, or discovers workflows. It uses specific verbs and resources, but does not explicitly differentiate from sibling tools like get_bc_topic or list_specialists.

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 advises using this tool when users want information about BC development, providing a general usage context. However, it does not include when not to use it or mention alternative tools, leaving the agent with only implied guidance.

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

get_bc_topicC

Get detailed content for a specific BC knowledge topic with examples and best practices.

ParametersJSON Schema
NameRequiredDescriptionDefault
topic_idYesUnique topic identifier (e.g., "sift-technology-fundamentals")
include_samplesNoInclude companion AL code samples if available
specialist_contextNoOptional: Current specialist ID (e.g., "sam-coder", "chris-config") to provide domain-specific suggestions if topic is not found

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It does not disclose read/write behavior, error handling, or what happens if the topic is not found. The mention of 'with examples and best practices' hints at output but lacks depth.

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, moderately concise sentence. It could be better structured with a front-loaded summary (e.g., 'Retrieve detailed content...') but contains no fluff.

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 3 parameters, no output schema, and no annotations, the description is insufficient. It does not mention fallback behavior (e.g., when topic is not found), pagination, or the structure of the returned content.

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?

With 100% schema coverage, the description adds no additional meaning beyond the field descriptions. The baseline of 3 is appropriate as the schema already documents all parameters clearly.

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 retrieves detailed content for a specific BC knowledge topic, including examples and best practices. It distinguishes from the sibling find_bc_knowledge (which implies search) by focusing on a single topic by ID, but does not explicitly name alternatives.

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 find_bc_knowledge or ask_bc_expert. The description lacks context about prerequisites or typical use cases.

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

get_codelens_mappingsA

Get merged CodeLens pattern-to-specialist mappings from all active layers. Used by VSCode extension to show inline specialist suggestions in AL code.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It states the tool reads data ('Get') but provides no details on authentication, rate limits, or side effects. Behavioral traits beyond reading are absent.

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 concise sentences front-load the purpose and usage context. No unnecessary words or repetition.

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?

Simple tool with no parameters, purpose and context are adequately described. Lacks explicit statement that it requires no arguments, but this is implied by the schema. Without an output schema, the return type is only vaguely described as 'mappings'.

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?

The tool has zero parameters, so the description correctly omits parameter details. Baseline score of 4 applies as no parameter information is needed beyond what the schema (empty) provides.

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 clearly states the tool retrieves 'merged CodeLens pattern-to-specialist mappings from all active layers' and specifies its use by a VSCode extension. It effectively distinguishes from sibling tools like 'analyze_al_code' or 'list_specialists' by focusing on CodeLens functionality.

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?

Indicates the tool is used by the VSCode extension to show inline specialist suggestions, providing context. However, it does not explicitly state when not to use it or mention alternative tools for similar tasks.

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

get_workspace_infoA

Get the currently configured workspace root directory and available MCP servers, if any.

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?

The description indicates a read operation but does not elaborate on safety, auth, or side effects. Since no annotations are provided, the information is minimal but not misleading.

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 action and result, no redundancy.

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?

Tool is simple with no parameters and no output schema; the description succinctly covers what the tool returns.

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?

Tool has zero parameters; the schema fully describes this. The description does not add further meaning but also doesn't need to.

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 verb 'Get' and the resource 'workspace root directory and available MCP servers', distinguishing it from sibling tools like set_workspace_info.

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 vs alternatives, but the purpose is straightforward enough that usage context is implied.

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

list_promptsA

List all available prompts from all active layers. Returns prompt metadata for UI display.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by prompt typeall
include_contentNoInclude full prompt content (for sync to .github/prompts/)

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It correctly indicates a read-only operation (listing data) and that it returns metadata. However, it does not mention any side effects, authorization requirements, or limits. The behavior is simple, so the disclosure is adequate but not enriched.

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 very concise with two sentences, no redundancy. It is front-loaded with the core action and scope, followed by the return purpose. Every word earns its place.

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?

The tool has no output schema, and the description only mentions 'returns prompt metadata' without specifying the fields or structure. For a simple list tool, this may be sufficient, but the agent is left without knowledge of what metadata keys to expect, which is a gap in completeness.

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 does not add any additional meaning beyond the schema descriptions for 'type' and 'include_content'. The schema itself clearly documents the enum values and the boolean flag.

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 verb 'List', the resource 'prompts', and the scope 'from all active layers'. It also specifies the return type 'prompt metadata for UI display'. No sibling tool has a similar purpose, so it is well-differentiated.

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 does not explicitly state when to use this tool versus alternatives, but its purpose is straightforward (listing prompts). Usage context is implied by the tool name and function, but no explicit guidance or exclusions are provided.

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

list_specialistsA

Browse available BC specialists and their expertise areas. Useful for discovering the specialist team and understanding who helps with what. After browsing, use ask_bc_expert with preferred_specialist parameter to connect with a specific specialist.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoFilter by domain (e.g., performance, security, api-design) - optional
expertiseNoFilter by expertise area (e.g., caching, authentication) - optional

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, so the description carries the full burden. It implies a read operation but does not disclose any behavioral traits like rate limits, auth needs, or 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?

Three concise sentences with front-loaded purpose, usage context, and a clear follow-up action. No superfluous information.

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 simple listing tool with two optional parameters and no output schema, the description covers purpose, usage guidelines, and next steps completely.

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 description repeats the schema's parameter descriptions. It adds no extra meaning beyond the schema, thus baseline score.

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 states 'Browse available BC specialists and their expertise areas,' providing a clear verb and resource. It distinguishes itself from sibling tools like ask_bc_expert.

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

Usage Guidelines5/5

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

The description explicitly advises using this tool to discover specialists before using ask_bc_expert, offering clear when-to-use and next-step guidance.

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

scaffold_layer_repoA

Create BC Code Intelligence layer folder structure with templates. Use this to bootstrap a new company, team, or project layer.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path where layer structure should be created
layer_typeYesType of layer being created
layer_nameYesDisplay name for the layer (e.g., "Acme Corp Standards")
include_examplesNoInclude example content files to demonstrate structure

TDQS

A3.7/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. It describes creation of folder structure and templates but fails to disclose behavioral traits like overwrite behavior, required permissions, or side effects. This is insufficient for a creation 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, no fluff. The first sentence states the core action, the second provides usage context. Front-loaded and efficient.

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 tool has 4 parameters (3 required) and no output schema. The description gives minimal context about what is created (folder structure with templates) but lacks details on return values, side effects, or prerequisites. Adequate but with room for improvement.

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%, so the schema already documents all parameters clearly. The description adds no additional parameter-specific meaning beyond restating the tool's purpose. Baseline 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 verb 'Create' and the resource 'BC Code Intelligence layer folder structure with templates'. It explicitly distinguishes from siblings by stating 'bootstrap a new company, team, or project layer', differentiating it from tools like 'create_layer_content'.

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 provides clear context for use ('Use this to bootstrap a new company, team, or project layer') but lacks explicit exclusions or alternatives. The usage is well implied, earning a 4.

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

set_workspace_infoA

Set workspace root directory and available MCP server IDs. Enables project-specific knowledge layers and ecosystem-aware specialist recommendations. Call before other BC tools to activate workspace context.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_rootYesAbsolute path to the workspace/project root directory (e.g., C:/projects/my-bc-app or /home/user/projects/my-bc-app)
available_mcpsYesList of MCP server IDs available in your context (e.g., ["bc-telemetry-buddy", "al-objid-mcp-server"])

TDQS

A3.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 carries the full burden. It states the tool sets values but does not disclose whether settings persist across sessions, if it validates inputs, or if it is idempotent. Basic mutational behavior is implied, but lacks depth.

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 with no redundancy. The first sentence specifies the action and resources, the second explains purpose and usage timing. Every word contributes value.

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 the tool has only two simple parameters and no output schema, the description covers the purpose and usage timing adequately. However, it lacks some behavioral details like error handling or idempotency, which would be helpful for completeness.

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% with clear parameter descriptions. The tool description adds high-level context about enabling knowledge layers but does not provide additional semantic meaning beyond what the schema already offers. Baseline 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 verb 'Set' and the resources 'workspace root directory and available MCP server IDs', and distinguishes this tool from siblings like get_workspace_info by mentioning project-specific knowledge layers and specialist recommendations.

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 advises to call this tool before other BC tools to activate workspace context, providing clear timing guidance. It implicitly differentiates from read-only sibling tools but does not explicitly mention when not to use it or list alternatives.

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

validate_layer_repoA

Check if a directory has valid BC Code Intelligence layer structure. Returns validation status, missing items, and suggestions for fixing.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path to the directory to validate

TDQS

A3.8/5.0
Behavior3/5

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

No annotations exist, so the description partially carries the burden. It states the tool 'returns' results, implying it is a read-only check, but does not explicitly confirm non-destructive behavior, performance characteristics, or any 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 extremely concise, consisting of two short sentences that convey purpose and output without any redundant or extraneous information.

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 the tool has only one parameter and no output schema, the description adequately covers the validation purpose and return values (status, missing items, suggestions). It could mention criteria for what constitutes a valid structure, but overall it is sufficiently 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?

The input schema has 100% description coverage for the only parameter 'path' (described as 'Absolute path to the directory to validate'). The tool description adds no additional semantic value beyond the schema's existing documentation.

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 a specific verb ('Check') and resource ('BC Code Intelligence layer structure') and clearly states the outputs (validation status, missing items, suggestions). This distinguishes it from siblings like 'scaffold_layer_repo' (creation) and 'analyze_al_code' (code analysis).

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 usage for validating layer structure but does not explicitly state when to use this tool versus alternatives such as 'scaffold_layer_repo' or 'analyze_al_code'. No guidance on when not to use it is provided.

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

workflow_batchA

Apply batch operations to multiple pattern instances in a Workflow Engine v2 session.

For pattern-based workflows (like error-to-errorinfo-migration), this allows efficient bulk operations:

  • apply_fixes: Apply auto-fixes to matching instances

  • skip_instances: Mark instances as skipped

  • flag_for_review: Mark instances for manual review

  • group_by_type: Get instances grouped by type

Use dry_run=true (default) to preview changes before applying. Use confirmation_token from dry_run to execute the operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesWorkflow session ID
operationYesBatch operation to perform
filterNoFilter criteria for selecting instances
dry_runNoPreview changes without applying (default: true)
confirmation_tokenNoToken from dry_run to confirm actual execution

TDQS

A4.1/5.0
Behavior3/5

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

No annotations exist, so the description must disclose behaviors. It explains the two-step dry-run/confirmation mechanism but does not mention potential destructive impacts, permissions needed, or error handling for the batch operations.

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 concise and well-structured: a one-sentence purpose, a bullet list of operations, and two sentences on usage. Every sentence adds value with no redundancy.

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 complexity (5 parameters, nested objects, no output schema), the description is fairly complete but lacks details on return values (e.g., success counts, errors) and whether updates are synchronous or require confirmation.

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 descriptions. The description adds value by explaining each operation's purpose and the dry_run/confirmation workflow, providing more context than the schema alone.

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 applies batch operations to pattern instances in Workflow Engine v2, listing specific operations like apply_fixes, skip_instances, flag_for_review, and group_by_type. This distinguishes it clearly from sibling tools like workflow_cancel or workflow_start.

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 provides good usage context: mentions pattern-based workflows, recommends dry_run=true for preview, and explains confirmation_token for execution. However, it doesn't explicitly state when not to use this tool or mention alternatives for single-instance operations.

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

workflow_cancelA

Cancel a workflow session or clear all workflow sessions.

Use cases:

  • Cancel a stale/orphaned workflow from a previous session

  • Reset workflow state when restarting work

  • Clear all workflows to start fresh

Options:

  • session_id: Cancel a specific workflow session

  • cancel_all: true to cancel ALL active workflow sessions

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idNoSpecific workflow session ID to cancel. If not provided and cancel_all is false, lists active sessions.
cancel_allNoSet to true to cancel ALL active workflow sessions

TDQS

A4.6/5.0
Behavior5/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. It discloses that cancel_all cancels ALL active sessions, indicating destructive behavior, and implies that omitting both parameters lists active sessions.

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?

Very concise with bullet points for use cases and options. The main action is front-loaded, and every sentence adds value without redundancy.

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 cancellation tool with no output schema or annotations, the description covers the main behaviors and use cases. It could mention error scenarios or return values, but current coverage is adequate.

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%, baseline 3. The description adds context by explaining the behavior when session_id is omitted and cancel_all is false (lists sessions), which goes beyond the schema's property descriptions.

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 verb 'Cancel' and the resource 'workflow session', distinguishing it from sibling tools like workflow_start or workflow_list. It also covers both single and bulk cancellation.

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?

It provides specific use cases (cancel stale workflows, reset state, clear all) and explains the two options. However, it does not explicitly mention when not to use it or alternatives among siblings.

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

workflow_completeA

Complete a Workflow Engine v2 session and generate the final report.

Call this when all files have been processed (next_action.type === "complete_workflow").

Options:

  • generate_report: Create a summary report (default: true)

  • apply_changes: Apply all auto-applicable proposed changes (default: false)

  • report_format: markdown, json, or html (default: markdown)

Returns the final summary and report content.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesWorkflow session ID
generate_reportNoGenerate markdown summary report
apply_changesNoApply all auto-applicable proposed changes
report_formatNoReport output formatmarkdown

TDQS

A4.8/5.0
Behavior4/5

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

No annotations exist, so the description must cover behavior. It discloses that the tool completes a session, generates a report, and allows optional changes. However, it does not explicitly state whether the action is idempotent or what happens if called prematurely.

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 concise (about 6 lines) with clear sections: purpose, condition, options, return. Every sentence serves a purpose and is front-loaded with the most important information.

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?

Given no output schema, the description mentions return content ('final summary and report'). It covers necessary parameters, usage condition, and behavior. For a completion tool, it is complete and leaves no critical gaps.

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

Parameters5/5

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

Schema description coverage is 100%, and the description adds value by explaining the options (generate_report, apply_changes, report_format) with defaults and the return type, exceeding what the schema alone provides.

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 'Complete a Workflow Engine v2 session and generate the final report,' using a specific verb and resource. It differentiates from sibling tools like workflow_start, workflow_cancel, etc., which handle other phases of the workflow.

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

Usage Guidelines5/5

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

Explicitly says 'Call this when all files have been processed (next_action.type === "complete_workflow")', providing a clear condition for use. No alternatives mentioned, but the context is sufficient given the sibling set.

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

workflow_listA

List all available BC Code Intelligence workflows.

Use this tool to discover structured workflows that can guide the user through complex processes like code reviews, debugging, or app development.

Returns a list of available workflows with:

  • workflow_type: The ID to pass to workflow_start

  • name: Human-readable workflow name

  • description: What the workflow helps with

  • specialist: The recommended specialist for this workflow

  • phases: The phases/steps in the workflow

Call this early in conversations to see if a workflow matches the user's intent.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It accurately describes the tool as a read-only listing operation (implied by 'List all'), and details the return fields. No contradictions.

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 moderately concise with a bullet list that aids readability. Every sentence adds value, though it could be slightly tighter.

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?

Given no output schema, the description thoroughly explains the return structure (workflow_type, name, description, specialist, phases). It also provides usage context for a discovery tool, making it complete.

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 adds no parameter info, which is appropriate since no parameters exist.

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 explicitly states 'List all available BC Code Intelligence workflows,' clearly identifying the action (list) and resource (workflows). It distinguishes from sibling tools like workflow_start and workflow_status by focusing on discovery.

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 advises to 'Call this early in conversations to see if a workflow matches the user's intent,' providing explicit when-to-use guidance. It does not specify when not to use, but the context is clear and helpful.

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

workflow_nextA

Get the next action to perform in a workflow session.

Call this when you're ready for the next task. The engine returns:

  • Current progress (phase, files completed, percent)

  • Current file's checklist status

  • Next action with explicit instructions

  • Tool call suggestions for the action

The agent MUST follow the next_action instructions exactly.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesWorkflow session ID from workflow_start

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It lists return data (progress, checklist, next action, tool suggestions) and instructs the agent to follow next_action instructions exactly, offering good behavioral insight.

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 concise at six sentences, with the main purpose upfront, followed by bullet-like clarifications. Every sentence adds value without redundancy.

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 a single parameter and no output schema, the description covers the tool's functionality and expected return values. It could mention idempotency or side effects, but overall it is sufficient for correct 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?

The only parameter (session_id) has full schema description coverage (100%). The tool description does not add additional semantic information 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.

Purpose5/5

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

The description explicitly states 'Get the next action to perform in a workflow session,' which clearly identifies the tool's purpose using a specific verb and resource. This distinguishes it from sibling tools like workflow_start or workflow_status.

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?

It advises to 'call this when you're ready for the next task,' providing clear usage context. However, it does not explicitly state when not to use or list alternatives, but the workflow series implies progression.

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

workflow_progressA

Report progress on current workflow action and get the next action.

Call this after completing each action (analyzing a file, applying a topic, converting an instance). Include any findings, proposed changes, and topics to add to the checklist.

The engine updates session state and returns the next action to perform.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesWorkflow session ID
completed_actionYesInformation about the completed action
findingsNoIssues or observations found during this action
proposed_changesNoCode changes proposed during this action
expand_checklistNoAdditional topics to add to current file's checklist (from analyze_al_code suggested_topics)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided. Description mentions session state updates and return of next action but lacks detail on side effects, error handling, or state mutation.

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?

Three sentences with clear front-loading of purpose and usage. Efficient but could be more structured for quick scanning.

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?

Covers main usage and inputs but lacks details on output format, error behavior, or assumptions about session validity. Adequate but incomplete given complexity.

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 descriptions for all parameters. Description does not add significant meaning beyond the schema, only mentions example inputs.

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 reports progress on current workflow action and returns the next action, using specific verbs and resource. It distinguishes from sibling tools by focusing on workflow progress.

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 instructs to call after completing each action and provides examples. However, no mention of when not to use or alternatives among siblings, though context is clear.

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

workflow_startA

Start a workflow session - a stateful checklist management system that drives agents through systematic, file-by-file processing.

Workflows provide:

  • File inventory with per-file checklists

  • Dynamic checklist expansion based on analysis

  • Pattern scanning for migrations (e.g., Errorβ†’ErrorInfo)

  • Batch operations for large-scale changes

  • Progress tracking and session persistence

The workflow drives the agent with explicit next-action instructions.

Example usage:

  • Start a code review: workflow_type="code-review"

  • Start an error migration: workflow_type="error-to-errorinfo-migration"

  • Start a BC upgrade: workflow_type="bc-version-upgrade" with source_version and target_version

ParametersJSON Schema
NameRequiredDescriptionDefault
workflow_typeYesType of workflow to start. Built-in types: code-review, proposal-review, performance-audit, security-audit, onboarding, error-to-errorinfo-migration, bc-version-upgrade. Custom workflow types defined in company/project layers are also supported.
scopeNoScope of files to include. "workspace" scans entire workspace, "directory" scans a specific path, "files" targets specific files.workspace
pathNoDirectory path (if scope=directory) or comma-separated file paths (if scope=files)
optionsNoWorkflow-specific options
initial_processingNoControl server-side autonomous processing before returning

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description fully carries the burden. It discloses stateful behavior, file inventory, dynamic checklists, pattern scanning, batch operations, and session persistence. No contradictions or omissions.

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?

Well-structured with bullet points and examples, but slightly verbose. Information is front-loaded and each section earns its place, though some repetition could be trimmed.

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 complex tool with nested parameters and no output schema, the description covers purpose, workflow features, and examples. Missing return value details, but session persistence and progress tracking imply sufficient context.

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%; baseline 3. Description adds value by providing workflow type examples and explaining options like bc_version in context (e.g., BC upgrade), enhancing parameter understanding beyond 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?

Description clearly states the tool starts a workflow session (specific verb+resource) and lists built-in types with examples. It distinguishes from sibling tools like workflow_batch, workflow_cancel, etc., by focusing on initiation.

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?

Provides clear context for when to use the tool (e.g., start a code review, error migration) and examples. Lacks explicit when-not-to-use guidance but implicitly differentiates from siblings through its initiation role.

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

workflow_statusA

Get current workflow v2 session status without advancing.

Returns:

  • Overall progress (phase, percent complete)

  • Summary of findings by severity

  • Summary of proposed changes

  • Optionally: status of all files

Use this to check on workflow progress or recover context after interruption.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesWorkflow session ID
include_all_filesNoInclude status of all files (can be large for big workspaces)

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. States it does not advance the workflow, and lists return values. Implies read-only safety; could be more explicit about non-destructive nature but adequate.

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 concise paragraphs: primary action in first sentence, then returns, then usage. Front-loaded with key info, 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?

No output schema, but description lists return categories (progress, findings, changes, optional file status). Adequate for a simple status check tool. Could specify return format, but sufficient for agent understanding.

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?

All parameters are described in schema (100% coverage). Description adds useful warning: 'can be large for big workspaces' for include_all_files, providing value beyond 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?

Clearly states the verb 'get', resource 'workflow v2 session status', and important distinction 'without advancing'. Also lists specific return items, distinguishing it from siblings like workflow_progress and workflow_next.

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 says 'Use this to check on workflow progress or recover context after interruption', providing clear use cases. Implicitly advises against use when advancement is needed, but no explicit alternatives named.

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

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct action or resource: workspace management, knowledge browsing, workflow control, etc. Overlaps are minimal and clarified by descriptions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, with workflow_ prefix for workflow tools. No mixing of conventions.

Tool Count5/5

21 tools are well-scoped across multiple subsystems (workspace, knowledge, workflows, analysis) with no redundancy. Each tool serves a clear purpose.

Completeness5/5

The tool surface covers the full lifecycle: workspace setup, knowledge retrieval, layer management, workflow orchestration, and code analysis. No obvious missing operations.

Maintenance

ActivityInactive
ResponsivenessSlow

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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.
    18
    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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JeremyVyska/bc-code-intelligence-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server