MCP server
Prism for C/AL runs a Model Context Protocol (MCP) server. An AI agent connected to it searches your exported C/AL objects through Prism's symbol index: it finds objects and members, reads their code, follows references, calls and object dependencies, and checks that an edited object still parses. The server only reads your objects; it never changes them.
An agent reaches the server in one of two ways:
| Transport | Who starts the server | Prism window | Symbol index |
|---|---|---|---|
| HTTP | You, from Prism for C/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 GitHub Copilot in Visual Studio Code or with Claude Code.
-
Open a folder in your agent: the project you work on, or an empty folder such as
C:\repos\nav-prismwhen you work from a mirror. - In Prism for C/AL, open the object store, select MCP Server in the navigation rail, 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 whole file and save it in the
folder from step 1 under the name after Paste into:
.vscode/mcp.jsonfor Visual Studio Code,.mcp.jsonfor Claude Code. - Start a new chat in that folder, 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
Use this when the agent searches the object text files instead of calling Prism. A text match misses usages
through record variables, Rec and WITH blocks, and matches same-named fields and
procedures of other objects; Prism's index does not.
- Save the skill below as
prism-for-cal/SKILL.mdin the agent's skills folder (see the table). - Start a new session.
---
name: prism-for-cal
description: Use for any question about this repository's C/AL code (Dynamics NAV objects) — where a field, procedure or table is used or written, what a procedure calls, which objects depend on an object, whether an edited object still parses. Load this before searching text or reading the exported object files; text search gives wrong answers for C/AL.
---
# Prism for C/AL
This repository's C/AL objects are indexed by the **Prism for C/AL** MCP server, which resolves each reference to the declaration it binds to — through record variables, `Rec` and `WITH` blocks, where a text match misses usages and matches same-named fields and procedures of other objects.
If your client defers the server's tools, load them with one tool search, then start from `find_symbols` and pass the `prismPathUri` it returns to the other tools unchanged. After the objects are exported or edited again, call `reload_workspace` before you trust the answers.
| Agent | Skills folder |
|---|---|
| Claude Code | .claude/skills/ in the repository, or ~/.claude/skills/ for every repository. |
| GitHub Copilot, Codex, Cursor and Zed | .agents/skills/ in the repository, or ~/.agents/skills/ for every repository. |
What you can ask
These prompts show what the index answers that a text search cannot, each with the tools the agent calls. Use names from your own objects.
-
find_symbolsfind_references
Only the lines that assign the field,
VALIDATEamong them, grouped by object and trigger. -
find_symbolsfind_object_dependencies
The objects that depend on it, each with how: a variable, a parameter, a property or a call by name or number.
-
find_symbolsfind_calleesget_source_code
-
find_symbolsfind_dependency_paths
The routes between the two objects, shortest first, each hop with the kind of dependency.
-
check_object_source
A syntax check of the object text, with the line and column of the first error.
-
find_symbols

Credit Limit (LCY) is written.
Sales-Post.The declarations an agent names are Prism Paths. Paste one into Universal Search to open the declaration in Prism and check the answer yourself.
Related
- MCP Server page: run the server and copy your agent's configuration.
- Troubleshooting the MCP server: when an agent cannot connect or calls fail.
- Command line: every option of the MCP server commands.
- Universal Search: open a Prism Path an agent gave you.
- Activate license window: enable the licensed tools.
- Settings page: the encoding and filters a command-line server must match.