Skip to main content
Glama
glachana

bc-source-mcp

by glachana

Full-text search via FTS5 (cross-branch capable)

bc_search_fts
Read-onlyIdempotent

Search indexed Business Central AL source code using FTS5 full-text queries. Supports phrases, boolean operators, and prefix matching. Returns ranked snippets with highlighted matched tokens.

Instructions

Token-based full-text search across indexed AL sources using SQLite FTS5. Faster than bc_search_code (no disk re-scan) and supports cross-branch queries. Use FTS5 syntax: bare terms ("Customer Posting"), phrases (""Sales Header""), boolean (term1 AND term2), prefixes (Cust*). Returns ranked snippets with matched tokens wrapped in <<...>>. For regex patterns, prefer bc_search_code.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesFTS5 query, e.g. "OnAfterPost", "\"Sales Header\" AND Customer", "Approv*".
branchesNoOptional list of branches to search (must already be indexed). If omitted, all indexed branches.
appNoRestrict to a single top-level app (exact match), e.g. "Base Application".
object_typeNoRestrict to a specific AL object type.
limitNoMax matches to return. Default 50.
offsetNoPagination offset. Default 0.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes
totalYes
offsetYes
limitYes
itemsYes
Behavior4/5

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

Annotations declare readOnlyHint and idempotentHint, so safety is clear. The description adds that returned snippets have matched tokens wrapped in <<...>> and that branches must be indexed. It does not describe potential failure modes or rate limits, but the bar is lowered by existing annotations.

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 targeted paragraphs front-loaded with purpose and key differentiator. Every sentence serves a purpose: explaining capability, speed comparison, syntax guidance, and cross-branch support. No wasted 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 complex tool (FTS5 query language, 6 parameters), the description covers output format, parameter hints, and sibling differentiation. An output schema exists (mentioned in context signals), so the description appropriately focuses on usage and behavior.

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 value by providing FTS5 syntax examples and clarifying that the 'branches' parameter requires pre-indexed branches. This goes beyond the schema's attribute 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 tool's function: 'Token-based full-text search across indexed AL sources using SQLite FTS5.' It distinguishes itself from sibling bc_search_code by noting it is faster and supports cross-branch queries, leaving no ambiguity about its role.

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 advises when to use this tool versus bc_search_code: 'For regex patterns, prefer bc_search_code.' It also explains the FTS5 syntax types supported and notes the tool works across branches, providing clear context for selection.

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

Install Server

Other Tools

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/glachana/bc-source-mcp'

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