Skip to main content

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

  1. Configure MCP Client: Add to your mcp.json configuration:
{
  "servers": {
    "aiscriptgenerator": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "aiscriptgenerator"]
    }
  }
}
  1. 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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Run tests and ensure they pass
  6. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ymlgenerator_mcp-0.0.4.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ymlgenerator_mcp-0.0.4-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

File details

Details for the file ymlgenerator_mcp-0.0.4.tar.gz.

File metadata

  • Download URL: ymlgenerator_mcp-0.0.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

Hashes for ymlgenerator_mcp-0.0.4.tar.gz
Algorithm Hash digest
SHA256 40073c9a01a4407008f6b25e51773644a147e8dd71144be443b89e44bbebe179
MD5 76a9b40c835ce40858b99951d41182b3
BLAKE2b-256 93ca26291b91e23cc84014a3ccbb370b55cae0b015cb9fd4e51201fb822116ba

See more details on using hashes here.

File details

Details for the file ymlgenerator_mcp-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for ymlgenerator_mcp-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 51fcb608933e42e2b8dd585f7989954e5c057c14d9010b086d1ee2d624403b07
MD5 60b2eb670b8be3ef31238b0bdfafaa12
BLAKE2b-256 24db0c7ce13ed8ee7d90531c17c065571e362fc9d7e46c92bcf5746bb728d5f3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page