origo-bc-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@origo-bc-mcp-serverlist my recent sales orders from Business Central"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
origo-bc-mcp-server
Origo Business Central MCP server — connects AI clients (VS Code Copilot, Claude Desktop, etc.) to Business Central via the Cloud Events API.
Prerequisites
Node.js 22+ — nodejs.org (LTS recommended)
Related MCP server: Business Central MCP Server
Install
npm install -g github:businesscentralal/origo-bc-mcpVerify:
origo-bc-mcp-server --helpSetup
Run the interactive setup wizard:
origo-bc-mcp-server setupThe wizard walks you through:
Connection type (SaaS or on-prem)
Credentials (client secret, refresh token, or web service key)
Secret storage (DPAPI on Windows, Keychain on macOS)
Connection validation
MCP client configuration (
mcp.jsonfor VS Code)Desktop shortcut (optional)
Configuration is stored in ~/.origo-bc-mcp/local.settings.json (macOS/Linux) or %USERPROFILE%\.origo-bc-mcp\local.settings.json (Windows).
Managing connections
Add a connection
Add a new connection without running the full setup wizard:
origo-bc-mcp-server add production
origo-bc-mcp-server add sandbox
origo-bc-mcp-server add # prompts for nameThis asks for connection details, validates, saves to local.settings.json, and registers the MCP entry in VS Code's mcp.json.
List connections
origo-bc-mcp-server remove # lists available connections without removing anythingRemove a connection
origo-bc-mcp-server remove productionRemoves the named connection from local.settings.json and its entry from VS Code's mcp.json. Prompts for confirmation.
Create a desktop shortcut
origo-bc-mcp-server shortcut # shortcut for default server
origo-bc-mcp-server shortcut production # shortcut for a named connectionCreates a double-clickable shortcut on your Desktop to start the server:
Windows:
.lnkfile (opens cmd)macOS:
.commandfile (executable shell script)Linux:
.desktopfile
Clean all config
origo-bc-mcp-server cleanRemoves the entire local.settings.json, all origo-bc-* entries from VS Code's mcp.json, and all desktop shortcuts. Use this to start fresh. Prompts for confirmation.
Start the server
origo-bc-mcp-serverExpected output:
origo-bc-mcp listening on :3000 (development)
MCP endpoint: http://localhost:3000/mcp
Health: http://localhost:3000/healthzCustom port:
PORT=3001 origo-bc-mcp-server # macOS/Linux
$env:PORT="3001"; origo-bc-mcp-server # Windows PowerShellVerify
Check server health:
curl http://localhost:3000/healthzValidate BC connections:
origo-bc-mcp-server verify # all connections
origo-bc-mcp-server verify production # specific connectionCLI reference
origo-bc-mcp-server [command] [options]
Commands:
setup Guided wizard to configure connections and VS Code mcp.json
add [name] Add a single connection (streamlined)
verify [name] Validate a connection (default: all connections)
remove <name> Remove a specific connection (or list available)
shortcut [name] Create a desktop shortcut to start the server
clean Remove ALL connections, config, and shortcuts
init Create ~/.origo-bc-mcp/local.settings.json from template
Options:
--config <path> Start with a specific local.settings.json
-h, --help Show helpConfigure an MCP client
The setup wizard writes VS Code's mcp.json automatically. For other clients, add:
{
"servers": {
"origo-bc-mcp": {
"url": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Basic <base64-encoded username:password>"
}
}
}
}Generate the Basic auth value:
echo -n 'username:password' | base64 # macOS/Linux
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("username:password")) # WindowsThe credentials are the basicAuth.username and basicAuth.password from your local.settings.json.
Update
npm install -g github:businesscentralal/origo-bc-mcpYour local.settings.json is preserved across updates.
Uninstall
Remove the npm package
npm uninstall -g origo-bc-mcp-serverRemove configuration files
Windows (PowerShell):
# Remove local settings
Remove-Item "$env:USERPROFILE\.origo-bc-mcp" -Recurse -Force -ErrorAction SilentlyContinue
# Remove MCP entries from VS Code (or use 'origo-bc-mcp-server clean' before uninstalling)macOS/Linux:
rm -rf ~/.origo-bc-mcpRemove VS Code MCP entries
Either run origo-bc-mcp-server clean before uninstalling, or manually edit your VS Code mcp.json:
Windows:
%APPDATA%\Code\User\mcp.jsonmacOS:
~/Library/Application Support/Code/User/mcp.jsonLinux:
~/.config/Code/User/mcp.json
Remove any "origo-bc-*" entries from the "servers" object.
Remove desktop shortcut (if created)
Delete the "Origo BC MCP" shortcut from your Desktop manually.
Remove stored secrets
If you used DPAPI or Keychain during setup, the encrypted values are embedded in the config files (already deleted above). Environment variables you set manually (e.g. BC_DEV_CLIENT_SECRET) should be removed separately:
# Windows — remove a user-level env var
[Environment]::SetEnvironmentVariable('BC_DEV_CLIENT_SECRET', $null, 'User')# macOS — remove Keychain entry
security delete-generic-password -a mcp-encrypted-conn -s origo-bc-mcp-default-secretTroubleshooting
Problem | Solution |
| Restart terminal; check npm global bin is in PATH: |
| Install Node.js 22+ |
| Verify connection settings — run |
| Check credentials — run |
Port 3000 in use | Use a different port (see above) |
SSL errors against on-prem BC |
|
Custom config path
origo-bc-mcp-server --config /path/to/local.settings.jsonOr set MCP_LOCAL_SETTINGS_PATH environment variable.
Develop
cp .env.example .env # fill in BC_CLIENT_ID/SECRET, MCP_ENCRYPTION_KEY, ...
npm install
npm run dev # tsx watch
# or
npm run build && npm startSmoke check:
curl localhost:3000/healthz
curl localhost:3000/.well-known/oauth-protected-resourceLocal Basic auth (dev only)
Full walkthrough:
docs/local-dev.md.
For local testing without Entra/OAuth you can enable HTTP Basic auth backed by a
local BC connection. It is disabled whenever NODE_ENV=production and is
configured via a gitignored file:
cp config/local.settings.example.json config/local.settings.json
# edit: basicAuth.username/password + devConnection (tenantId, clientId,
# clientSecret OR refreshToken, environment, companyId)
npm run devThen call the server with Basic credentials:
curl -u dev:yourpass -X POST localhost:3000/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","method":"initialize","id":1,"params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'The Basic-auth connection is locked to its configured tenant (it cannot cross
tenants), exactly like x-origo-token.
devConnection supports two shapes:
On-prem (
onPrem: true+baseUrl,onPremTenant,user,key,companyId,companyName) — Basic auth against an on-prem BC REST base URL. Mirrors the legacyBC_ONPREM_*mode.bc_list_companiesreturns the configured company; data calls useBasic base64(user:key)against{baseUrl}/api/origo/cloudevent/v1.0/...?tenant=....SaaS (
tenantId,clientId,clientSecretorrefreshToken) — Entra.
On-prem data calls (message types) are wired during tool migration; the connection, auth header (
onPremAuthHeader) and company listing are in place.
Status & continuation
Scaffold + dual auth + tenant access guard + discovery tools are in place and
compile/run. Next: migrate the ~40+ BC tools from the legacy server (api/mcp/tools/*)
into src/tools/, then deploy to dev via Azure DevOps.
docs/PROJECT-STATUS.md— full state, decisions, tool-migration inventory, open questions, resume checklist.docs/RESUME-PROMPT.md— ready-to-paste prompt to continue the work later.docs/local-dev.md— how to start the server locally (Basic auth, on-prem/SaaS).docs/devops-setup.md— cross-tenant deploy setup.
Local install
The server is published to the Azure Artifacts feed BC-PTE-CloudEvents for
local dev/test on Windows and macOS. If you download the package artifact as a
tarball, use the cross-platform setup guide:
The older feed-based guides are still available if you want npm to install directly from Azure Artifacts:
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/businesscentralal/origo-bc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server