MCP server
Prism for AL runs a Model Context Protocol server. An AI coding agent connects to it and gets tools over the same symbol index and code graph you use in Prism: symbol search, source, references, control flow, reachability, RIMD and commit analysis, user actions, dependencies and the module graph.
The MCP server is part of the Prism for AL subscription and the trial; there is nothing extra to buy.
An agent reaches the server in one of two ways:
| Transport | Who starts the server | Prism window | Index and code graph |
|---|---|---|---|
| HTTP | You, from Prism for AL | MCP Server page, kept open | Shared by every agent |
| stdio | The agent (Claude Code, GitHub Copilot) | Not needed | Built by each server the agent starts |
Use HTTP while you work in Prism; use stdio when the agent works on its own.
Get started with an agent
Use this to try Prism with Claude Code, or with GitHub Copilot in Visual Studio Code. With GitHub Copilot, the Prism for AL Connector can register the server for you instead: install it and go straight to step 4.
- Open the folder or
.code-workspaceof your AL project in your agent. - Open the same workspace in Prism for AL, select the MCP Server page in the navigation pane, and select Start. The Status card shows Running. Keep the workspace window open while the agent works.
-
Select Show mcp.json…, select your agent in Client, and leave
HTTP (this window) selected. Select Copy file contents and save it under
the name after Paste into:
.vscode/mcp.jsonfor Visual Studio Code,.mcp.jsonfor Claude Code. - Start a new chat in that workspace, in agent mode in Visual Studio Code. When the agent asks whether to trust the Prism server, allow it.
- Ask
Which objects use codeunit "Sales-Post"?, or name an object of your own.
For more detailed instructions or a more complex setup, see the MCP Server page and mcp.json.
Tell your agent to use Prism
Agents reach for text search out of habit, and for AL a text match gives wrong answers: it misses usages
through Rec, record variables, with blocks and extensions, and it matches members
with the same name in other objects. An agent skill guards against that. It is a short SKILL.md whose
description sits in the agent's context in every session and sends AL questions to Prism. The body is only a
few lines, because the server brings its own instructions and tool descriptions.
In Visual Studio Code, the Prism for AL Connector adds the skill for
you, together with the server. That is where it matters most: Copilot agent mode lists MCP tools by name
only, and in our tests every where-used and caller question started with a text search without the skill
and went to Prism with it. Claude Code keeps the server's own instructions in view, and GitHub Copilot CLI
shows every Prism tool with its description, so in our tests both went to Prism first with or without the
skill. For those and other agents, the skill is a cheap safeguard: save it as
prism-for-al/SKILL.md in the agent's skills folder:
---
name: prism-for-al
description: Use for any question about this workspace's Business Central AL code — where a field, procedure, table, enum value or event is used or called from, which code reads or writes a table, what depends on an object, how control flows through it. Load this before searching text or reading .al files; text search gives wrong answers for AL.
---
# Prism for AL
This workspace is indexed by the **Prism for AL** MCP server, which resolves each AL reference to the declaration it binds to — through record variables, `Rec`, `with` blocks and extensions, where a text match misses usages and matches same-named members of other objects.
If your client defers the server's tools, load them with one tool search, then start from `find_symbols`. Which tool answers which question, and how to call it, is in the server's instructions and tool descriptions. After you edit AL files, call `reload_workspace` before you trust the graph again.
| Agent | Where the file goes |
|---|---|
| GitHub Copilot in Visual Studio Code, with the Prism for AL Connector | Nothing to do; the Prism for AL Connector adds the skill. |
| Claude Code | .claude/skills/prism-for-al/SKILL.md in the repository, so it travels with the
project, or ~/.claude/skills/prism-for-al/SKILL.md for every repository.
|
| GitHub Copilot without the Prism for AL Connector, Codex, Cursor and Zed | .agents/skills/prism-for-al/SKILL.md in the repository, or
~/.agents/skills/prism-for-al/SKILL.md for every repository.
|
What you can ask
Three prompts that show the difference between a text search and a graph, each with the tools the agent calls to answer it. Use names from your own solution.
-
find_user_actions
Comes back with the actions, not the files.
-
find_commitsfind_shortest_path
-
find_reachability_set
One call. In our LearnPrism workspace, 19 apps with the Base Application among them, it returns 22 procedures in under a second, out of a closure of more than ten thousand nodes that never leave the server.
Whatever the agent answers, the names it gives you are Prism Paths. Open the procedure in Prism and use Immediate insights and Find Shortest Path to check the claim with your own eyes.
Related
- MCP Server page: run the HTTP server and copy your agent's configuration.
- Prism for AL Connector: the server and the skill in Visual Studio Code, without a configuration file.
- MCP server commands: the same server without a Prism window.
- MCP server: when an agent cannot connect or calls fail.