OpenL MCP Server
Official# OpenL MCP Server
Let an AI assistant work with your OpenL Studio business rules. Connect Claude
(Desktop or Code), Cursor, or VS Code to [OpenL Studio](https://openl-tablets.org/),
then ask in plain language to view, edit, test, and deploy rules.
## Get started (about 5 minutes)
1. **Copy your OpenL Studio address** from your browser's address bar (for example
`http://localhost:8080`).
2. **Create a Personal Access Token** in OpenL Studio (**User Settings β Personal
Access Tokens**). Skip this if your Studio has no login screen.
3. **Follow the [Quick Start](docs/guides/quick-start.md)** β paste one
configuration block into your AI client and send a test message.
Nothing to install β your AI client downloads and starts the server for you
(published on npm as [`openl-mcp`](https://www.npmjs.com/package/openl-mcp);
no Node.js on your machine? use the
[Docker option](docs/guides/advanced.md#run-with-docker)).
## Documentation
- π [Quick Start](docs/guides/quick-start.md) β connect Claude Code, Claude Desktop, Cursor, or VS Code
- π [Usage Examples](docs/guides/examples.md) β what to ask once connected, and what the tools cover
- βοΈ [Advanced Guide](docs/guides/advanced.md) β all server settings, authentication, Docker, shared HTTP mode
- π₯οΈ [CLI Guide](docs/guides/cli.md) β use the same binary as a shell tool (no MCP client needed)
- π [Troubleshooting](docs/guides/troubleshooting.md) β common issues and solutions
- ποΈ [Full documentation index](docs/README.md) β including developer docs
## Tools and prompts
The server gives the AI client tools covering OpenL Studio repositories, projects,
files, rules tables, tests, an interactive rule debugger (tracing), and
deployments β see [Usage Examples](docs/guides/examples.md). It also ships 14
expert guidance prompts for complex workflows (e.g. `create_rule`,
`deploy_project`) β see [prompts/](./prompts/).
Reporting a problem? Include the running build:
```bash
npx -y openl-mcp --version
```
## Configuration
End users: the [Quick Start](docs/guides/quick-start.md) covers everything.
All server settings (base URL, token, timeout, HTTP mode, debug logging) are in
the [Advanced Guide](docs/guides/advanced.md#server-settings).
## Development
```bash
npm run build # Build TypeScript
npm test # Run all tests
npm run lint # Check code quality
npm run watch # Dev mode with auto-rebuild
```
See the [Contributing Guide](docs/development/contributing.md) for development
guidelines, [Architecture](docs/development/architecture.md) for how the code is
organized, and the [Testing Guide](docs/development/testing.md) for test suites.
## License
LGPL-3.0 - GNU Lesser General Public License v3.0 (follows OpenL Studio project license).
TDQS
Scored across 74 tools
Most tools target distinct resources, but the set contains several near-overlapping pairs (openl_append_table vs openl_append_table_rows, openl_list_branches vs openl_list_project_branches, openl_update_table vs the finer-grained update_table_row/column/cell/range tools) plus multiple test-result variants. The extensive descriptions and cross-references help, but the volume of similar verb/noun combinations still creates real selection risk.
All tools consistently use the openl_ prefix and overwhelmingly follow a verb_noun snake_case pattern (list_, get_, create_, delete_, update_, append_, insert_, merge_). A few noun-first exceptions such as openl_project_status and openl_repository_project_revisions, plus close variants like append_table vs append_table_rows, are minor deviations.
At 74 tools, this surface far exceeds the typical well-scoped MCP server, and the rubric explicitly flags 50+ tools as extreme. Even accounting for OpenL Studio's broad domain, many granular table-editing and debugging tools could be consolidated, and the sheer count will strain agent context and tool-selection accuracy.
Coverage is broad: project, file, table, test, trace/debug, branch/merge, and deployment workflows are all represented with substantial CRUD-like operations. Minor gaps remainβno undeploy/delete deployment, no project rename or repository management, and merge-conflict resolution is intentionally delegated to the userβbut agents can generally work around them.