Skip to content

BCObservatory: explore all Business Central knowledge with an agent .. and more

So.. here’s a train of thoughts.

Business Central doesn’t have an information problem. We have HUUUGE amounts of it. Learn. The BCApps repo. The roadmap. YouTube sessions. And an awesome community writing blogs about all of it.

Here’s the thing though. None of it is connected.

Nothing links a Learn page to the code it documents. Nothing links that code to the session that explains it, or to the pull request that touched it last Tuesday. You know this. I know this. We’ve all been the human glue between five browser tabs.

For us, that’s annoying. For an AI agent, that’s chaos. And what does an agent do when there’s a gap? It fills it. With a guess. Confidently.

I asked one about a field on the Customer table once. It answered with great confidence and a field number that does not exist 😱

That can’t happen ..

What is the BC Observatory?

An unofficial map of the Business Central ecosystem, living at waldo1001.github.io/waldo.BCObservatory. Not a replacement for Learn, GitHub or your favorite blog. It links them, and every link says where it comes from (so .. you’ll only get more hits 😉).

Some numbers (they change every night): 25,702 AL objects (BC28 to BC30), 622 videos, 623 community posts, 1,226 merged code changes, 104 roadmap features, 22 localizations, and 33 sources (yes, “I” read your blogs 😉).

Every page has a markdown twin, and one MCP server reads the exact same files as the site. Agents first, humans very welcome.

Does it actually work? 🤔

Let’s be real. “Connected knowledge” sounds almost too nice to be true .. . So I tested it.

The fair opponent is not a web search. Microsoft has a Learn MCP, and that is what your agent should use for documentation. So for every question, I started fresh Claude sessions: one that could only use the Learn MCP, one that could only use the BC Observatory MCP. Both logged their tool calls and told me what they could NOT find. Then I checked the answers myself, against GitHub, the AL source, the Learn pages and the video transcript.

Here’s the result of some real questions – not meant as a benchmark .. just a sanity check..

“Is there a fix on the cleanup when copying an environment? Describe the cleanup.”

Learn only: the full documented cleanup, on the same Copy an environment page. Jobs stopped, agents off, CRM, CDS and webhooks disabled, passwords cleared, outbound HTTP blocked. I opened the page, it’s all there. A fix? It found nothing, and said so.

Observatory only: three recent changes. #10207 (Dataverse cleanup via Truncate), #12152 (environment description cleared on copy), #13005 (Master Data Management cleanup). I checked them on GitHub. Plus the mechanism: Codeunit 1886 raises OnClearDatabaseConfig and OnClearCompanyConfig, and 16 subscribers listen. Plus a blog Learn can’t know: Gerardo Renteria built an anonymize-and-log solution on exactly those events. And those codeunits link to the Learn page that documents them: Copy an environment.

“What does the Fabric launch video say about version, setup and permissions?”

Observatory: the video with timestamps. Public preview in 29.x, “likely 29.1” (0:19). “As simple as 1 2 3” (1:22). It links to the Learn setup page, the three permission sets, and my own post. Learn: knows nothing about the video, but has what the video skips. A dedicated Entra app registration, Workspace.ReadWrite.All, admin consent, a client secret. Let’s make it “1 2 3 4” 😅

And the status? The video says public preview in 29.x. The Learn setup page says production-ready preview in October 2026. The Learn FAQ says private preview. The roadmap says preview November 2026, GA April 2027 (Observatory page). Four sources, four answers. I’m not going to pretend I know which one is right 🤷 (and I didn’t factcheck this one to be honest… )

“What changed around VAT Product Posting Group on sales lines since 28.4?”

Learn: read the hotfix lists for 28.4 to 28.6. Two regression-type fixes (641515, 645085, in the 28.5 list), but nothing that says it’s this one.

Observatory: three pull requests, #12551 (15 October), #12982 and #13085 (22 October). Checked on GitHub. And the same hotfix 645085 (on the Observatory’s 28.5 page), labelled “relation unknown”. Because that’s what it is: no source says what the regression was.

Same story on purchase lines: That NAV Guy’s 28.2 post, two Microsoft fixes (#11208, #11436), and Update 28.6 hotfix 648146 (a revert for G/L purchase lines, see the Observatory page), all marked “possibly related”, because no source says they are the same case. And for “which events exist when posting a sales order”: 530 events on codeunit 80, one added since BC28. I counted. Learn has no list.

So.. Learn for how it’s documented, the Observatory for what changed, in code, hotfixes, videos and blogs. I don’t copy Learn, it’s Microsoft’s text. BC Observatory links to it. So your agent still needs the Learn MCP for the full lists. Install both. (Note: the BC Observatory (Claude Code) plugin does that for you.)

Want to see what “connected” looks like? Open the neighbourhood of Codeunit 1886: its subscribers, its Learn pages, the blog and the changes around it.

How does it work? (the nerdy bit 🤓)

Skip this if you only care about the result. I won’t be offended .. much 🤪.

Five inputs: Microsoft Learn, microsoft/BCApps, the roadmap, YouTube, and the community blogs in sources.yaml. Every night a pipeline runs on a self-hosted GitHub runner. On a Mac Mini. In my house.

The golden rule: deterministic first, models second.

  • Code is parsed (tree-sitter), never summarized.
  • Only for what actually changed, models step in: Haiku for facts, Sonnet for prose, Opus as the reviewer.
  • A page a model wrote says unreviewed until Opus checked it. Every page shows its trust tier and review state.
  • A claim without a URL, commit, video second or quote does not get on a page.

Community content stays yours: our own words, quotes under 25 words, a link back. A leak scanner fails the build if more ever reaches the repo.

Funny detail: BC28 code does not come from BCApps (Base App is only there from 29.0). For older versions, Stefan Maron’s history repo does the job, and his bc-code-atlas gives the source bodies and the call graph. Thanks Stefan! 🙏

Why a galaxy?

Well .. there is no big design story.

I was just thinking about how I pictured this web of knowledge in my head. And a galaxy was the first thing that popped up. Then Claude and I started mapping it, and it made total sense. Systems are domains. Stars are hubs: Learn topics, roadmap features, countries, the most connected AL objects. Videos and posts orbit the hubs they link to. Each country draws a constellation. Whatever is new this week lights up.

Then I turned to Claude Design. We chatted a bit, back and forth, until I was happy with the HUD. And we built that 🙂

Don’t take my word for it, go and look: the galaxy, or dive into one system, like Finance.

The BC Observatory galaxy: 21 systems of Business Central knowledge, with the controls on top.
The galaxy. Click to open it.
The Finance system in the BC Observatory galaxy: topic hubs, videos and posts, with the list of stars in the side panel.
One system, Finance: 143 stars, brightest first. Click to open it.
The AL Development system in the BC Observatory galaxy, tilted into four planes: media, topic hubs, code and countries.
Tilt it: AL Development as four planes (media, topic hubs, code, countries). Click to open it.

Is the galaxy more art than info? Yes. The neighbourhood view per object is where the real info lives. The galaxy is the pretty front door. Clicking around is fun though .. I promise ;-).

And please do click around .. because there is a lot more… . Like some data you get when you link:

Like that Coverage Heatmap: ever wondered where there is not a lot info on? If anyone ever wonders what to blog about and distinguish itself in the meantime.. 🤷

Or the Lean Drift – what obsolete stuff is still documented? Or what is not documented at all?

Or the weekly digests: what’s new this week .. or last week .. in the world of BC?

And so so so much more.. I went all in on this one .. 🙈

Can I trust it?

I’m not gonna lie .. it can be wrong. I just showed you where it guessed. It’s unofficial, not Microsoft, a pipeline on a Mac Mini with models in the loop.

What I can promise: it shows its work. Trust tier, review state, evidence on every page, and a label that says “possibly related” when nobody knows. You (or your agent) can verify instead of believe. Something off? There’s a feedback tool in the MCP. Use it. Please.

So.. what do you do now?

Two steps. In this order. 😉

Step 1: install the MCP. Any agent, any vendor. It’s a plain MCP server that runs with npx (Node 20 or newer), so it works wherever MCP works.

The generic entry for Claude Desktop, Cursor, Windsurf and friends:

"mcpServers": {
  "bc-observatory": {
    "command": "npx",
    "args": ["-y", "bc-observatory@latest"]
  }
}

VS Code with GitHub Copilot? Same idea in .vscode/mcp.json, under servers, with "type": "stdio". Claude Code? claude mcp add bc-observatory -- npx -y bc-observatory@latest, or the plugin if you want the skills too. All of it is on the MCP page of the site.

Can’t or won’t install anything? Every page has a markdown twin, there’s an llms.txt, and GitMCP and DeepWiki read the repo directly.

Then ask your agent something real about Business Central. Something you’d normally spend 20 minutes on.

Step 2: enjoy the site. waldo1001.github.io/waldo.BCObservatory, click around, light up some stars.

Oh, and before you think I’m the first: Dmitry Katson built CentralQ way before me. A free site that indexes the community’s blogs and other sources, with vectorized search on top. You don’t even need an agent. Totally different approach: mine is an MCP, built for your agent.

A blog or channel missing? Pull request on sources.yaml. Something wrong? Tell me. Questions? Issues? You know where to find me 🤪

Enjoy!

/waldo

Waldo originally posted this article on 24 October 2026 at 11:20 AM.

Leave a Reply