MCP Server for AL Parser - finds pages and fields for Business Central scenarios
Project description
AI Script Generator - MCP Server
MCP Server for AL Parser that finds pages and fields for Business Central scenarios. This tool helps analyze Business Central AL objects and generate YAML test scenarios.
Features
- 🔍 Find AL Pages: Search for pages with fields, actions, and repeaters
- 📊 Find AL Tables: Analyze table structures with fields and extensions
- 🎯 Find AL Enums: Locate enums with values and extensions
- ⚙️ Find AL Codeunits: Search codeunits with procedures and fields
- 📋 Read YAML Templates: Load and parse YAML template files
- 🎯 Smart Search: Fuzzy matching for AL object names
Installation
From PyPI (recommended)
pip install aiscriptgenerator
From Source
git clone <repository-url>
cd AIScriptGenerator
pip install -e .
Usage
As MCP Server
- Configure MCP Client: Add to your
mcp.jsonconfiguration:
{
"servers": {
"aiscriptgenerator": {
"type": "stdio",
"command": "python",
"args": ["-m", "aiscriptgenerator"]
}
}
}
- Run MCP Server:
python -m aiscriptgenerator
Available MCP Tools
find_page_info_with_fields
Find information about AL pages with fields, actions, and repeaters.
find_page_info_with_fields(page_name="Sales Order")
find_table_info_with_fields
Find information about AL tables with fields, including extensions.
find_table_info_with_fields(table_name="Customer")
find_enum_info
Find information about AL enums with values and extensions.
find_enum_info(enum_name="Sales Document Type")
find_codeunit_info
Find information about AL codeunits with procedures and fields.
find_codeunit_info(codeunit_name="Sales-Post")
read_yaml_template
Read and parse YAML template files.
read_yaml_template()
Configuration
The server looks for AL files in the FoodFresh directory and caches the parsed information in al_cache.json. The cache is automatically rebuilt when AL files are modified.
Directory Structure
project/
├── src/aiscriptgenerator/
│ ├── __init__.py
│ ├── server.py # MCP server implementation
│ ├── alparser.py # AL file parser
│ └── extract_al.py # AL object extractor
├── FoodFresh/ # AL source files
├── al_cache.json # Parsed AL objects cache
├── mcp.json # MCP server configuration
└── README.md
Development
Setup Development Environment
# Clone repository
git clone <repository-url>
cd AIScriptGenerator
# Install in development mode with dev dependencies
pip install -e .[dev]
# Run tests
pytest
# Format code
black src/
# Type checking
mypy src/
Running Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=aiscriptgenerator
# Run specific test
pytest tests/test_server.py
Requirements
- Python 3.8+
- FastMCP 2.11.3+
- MCP CLI 1.13.0+
- PyYAML 6.0+
- RapidFuzz 3.13.0+
License
MIT License - see LICENSE file for details.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Run tests and ensure they pass
- Submit a pull request
Troubleshooting
Cache Issues
If you're getting stale results, delete the cache file:
rm al_cache.json
MCP Connection Issues
Verify your MCP configuration:
# Test server directly
python -m aiscriptgenerator
# Check MCP configuration
cat mcp.json
AL File Path Issues
Ensure the FoodFresh directory contains your AL files and is accessible to the server.
Support
For issues, questions, or contributions, please open an issue in the repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiscriptgenerator_mcp-0.3.4.tar.gz.
File metadata
- Download URL: aiscriptgenerator_mcp-0.3.4.tar.gz
- Upload date:
- Size: 26.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad110baaf2fbfcc4f14f68452e0cba955f23678200a7d9f6f0199d88ac1b1ee4
|
|
| MD5 |
c4d09b4585d951e220b81582f698d891
|
|
| BLAKE2b-256 |
f0fa545be4d8a470c1fcff20ad6038fe6183039b988b91519ffa2b68b950a7ab
|
File details
Details for the file aiscriptgenerator_mcp-0.3.4-py3-none-any.whl.
File metadata
- Download URL: aiscriptgenerator_mcp-0.3.4-py3-none-any.whl
- Upload date:
- Size: 28.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58cbb14d29204746e4bb026c93a4952534f252430602ea52414f044ecfc64b28
|
|
| MD5 |
54154e38e234b53e87cf6cef94e857f0
|
|
| BLAKE2b-256 |
dcf6805c00a3e0becb5c20e3210c89deda582067b695e080f19c23289aca8f67
|