aiscriptgenerator-mcp


Nameaiscriptgenerator-mcp JSON
Version 0.3.4 PyPI version JSON
download
home_pageNone
SummaryMCP Server for AL Parser - finds pages and fields for Business Central scenarios
upload_time2025-10-09 18:18:09
maintainerNone
docs_urlNone
authorAI Script Generator Team
requires_python>=3.8
licenseNone
keywords al business-central mcp parser yaml
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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)
```bash
pip install aiscriptgenerator
```

### From Source
```bash
git clone <repository-url>
cd AIScriptGenerator
pip install -e .
```

## Usage

### As MCP Server

1. **Configure MCP Client**: Add to your `mcp.json` configuration:
```json
{
  "servers": {
    "aiscriptgenerator": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "aiscriptgenerator"]
    }
  }
}
```

2. **Run MCP Server**:
```bash
python -m aiscriptgenerator
```

### Available MCP Tools

#### `find_page_info_with_fields`
Find information about AL pages with fields, actions, and repeaters.
```python
find_page_info_with_fields(page_name="Sales Order")
```

#### `find_table_info_with_fields`
Find information about AL tables with fields, including extensions.
```python
find_table_info_with_fields(table_name="Customer")
```

#### `find_enum_info`
Find information about AL enums with values and extensions.
```python
find_enum_info(enum_name="Sales Document Type")
```

#### `find_codeunit_info`
Find information about AL codeunits with procedures and fields.
```python
find_codeunit_info(codeunit_name="Sales-Post")
```

#### `read_yaml_template`
Read and parse YAML template files.
```python
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
```bash
# 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
```bash
# 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:
```bash
rm al_cache.json
```

### MCP Connection Issues
Verify your MCP configuration:
```bash
# 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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "aiscriptgenerator-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "al, business-central, mcp, parser, yaml",
    "author": "AI Script Generator Team",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/f0/fa/545be4d8a470c1fcff20ad6038fe6183039b988b91519ffa2b68b950a7ab/aiscriptgenerator_mcp-0.3.4.tar.gz",
    "platform": null,
    "description": "# AI Script Generator - MCP Server\n\nMCP 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.\n\n## Features\n\n- \ud83d\udd0d **Find AL Pages**: Search for pages with fields, actions, and repeaters\n- \ud83d\udcca **Find AL Tables**: Analyze table structures with fields and extensions\n- \ud83c\udfaf **Find AL Enums**: Locate enums with values and extensions\n- \u2699\ufe0f **Find AL Codeunits**: Search codeunits with procedures and fields\n- \ud83d\udccb **Read YAML Templates**: Load and parse YAML template files\n- \ud83c\udfaf **Smart Search**: Fuzzy matching for AL object names\n\n## Installation\n\n### From PyPI (recommended)\n```bash\npip install aiscriptgenerator\n```\n\n### From Source\n```bash\ngit clone <repository-url>\ncd AIScriptGenerator\npip install -e .\n```\n\n## Usage\n\n### As MCP Server\n\n1. **Configure MCP Client**: Add to your `mcp.json` configuration:\n```json\n{\n  \"servers\": {\n    \"aiscriptgenerator\": {\n      \"type\": \"stdio\",\n      \"command\": \"python\",\n      \"args\": [\"-m\", \"aiscriptgenerator\"]\n    }\n  }\n}\n```\n\n2. **Run MCP Server**:\n```bash\npython -m aiscriptgenerator\n```\n\n### Available MCP Tools\n\n#### `find_page_info_with_fields`\nFind information about AL pages with fields, actions, and repeaters.\n```python\nfind_page_info_with_fields(page_name=\"Sales Order\")\n```\n\n#### `find_table_info_with_fields`\nFind information about AL tables with fields, including extensions.\n```python\nfind_table_info_with_fields(table_name=\"Customer\")\n```\n\n#### `find_enum_info`\nFind information about AL enums with values and extensions.\n```python\nfind_enum_info(enum_name=\"Sales Document Type\")\n```\n\n#### `find_codeunit_info`\nFind information about AL codeunits with procedures and fields.\n```python\nfind_codeunit_info(codeunit_name=\"Sales-Post\")\n```\n\n#### `read_yaml_template`\nRead and parse YAML template files.\n```python\nread_yaml_template()\n```\n\n## Configuration\n\nThe 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.\n\n### Directory Structure\n```\nproject/\n\u251c\u2500\u2500 src/aiscriptgenerator/\n\u2502   \u251c\u2500\u2500 __init__.py\n\u2502   \u251c\u2500\u2500 server.py          # MCP server implementation\n\u2502   \u251c\u2500\u2500 alparser.py        # AL file parser\n\u2502   \u2514\u2500\u2500 extract_al.py      # AL object extractor\n\u251c\u2500\u2500 FoodFresh/             # AL source files\n\u251c\u2500\u2500 al_cache.json          # Parsed AL objects cache\n\u251c\u2500\u2500 mcp.json              # MCP server configuration\n\u2514\u2500\u2500 README.md\n```\n\n## Development\n\n### Setup Development Environment\n```bash\n# Clone repository\ngit clone <repository-url>\ncd AIScriptGenerator\n\n# Install in development mode with dev dependencies\npip install -e .[dev]\n\n# Run tests\npytest\n\n# Format code\nblack src/\n\n# Type checking\nmypy src/\n```\n\n### Running Tests\n```bash\n# Run all tests\npytest\n\n# Run with coverage\npytest --cov=aiscriptgenerator\n\n# Run specific test\npytest tests/test_server.py\n```\n\n## Requirements\n\n- Python 3.8+\n- FastMCP 2.11.3+\n- MCP CLI 1.13.0+\n- PyYAML 6.0+\n- RapidFuzz 3.13.0+\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests for new functionality\n5. Run tests and ensure they pass\n6. Submit a pull request\n\n## Troubleshooting\n\n### Cache Issues\nIf you're getting stale results, delete the cache file:\n```bash\nrm al_cache.json\n```\n\n### MCP Connection Issues\nVerify your MCP configuration:\n```bash\n# Test server directly\npython -m aiscriptgenerator\n\n# Check MCP configuration\ncat mcp.json\n```\n\n### AL File Path Issues\nEnsure the `FoodFresh` directory contains your AL files and is accessible to the server.\n\n## Support\n\nFor issues, questions, or contributions, please open an issue in the repository.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "MCP Server for AL Parser - finds pages and fields for Business Central scenarios",
    "version": "0.3.4",
    "project_urls": {
        "Homepage": "https://github.com/your-org/aiscriptgenerator",
        "Issues": "https://github.com/your-org/aiscriptgenerator/issues",
        "Repository": "https://github.com/your-org/aiscriptgenerator"
    },
    "split_keywords": [
        "al",
        " business-central",
        " mcp",
        " parser",
        " yaml"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dcf6805c00a3e0becb5c20e3210c89deda582067b695e080f19c23289aca8f67",
                "md5": "54154e38e234b53e87cf6cef94e857f0",
                "sha256": "58cbb14d29204746e4bb026c93a4952534f252430602ea52414f044ecfc64b28"
            },
            "downloads": -1,
            "filename": "aiscriptgenerator_mcp-0.3.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "54154e38e234b53e87cf6cef94e857f0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 28375,
            "upload_time": "2025-10-09T18:18:08",
            "upload_time_iso_8601": "2025-10-09T18:18:08.650212Z",
            "url": "https://files.pythonhosted.org/packages/dc/f6/805c00a3e0becb5c20e3210c89deda582067b695e080f19c23289aca8f67/aiscriptgenerator_mcp-0.3.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f0fa545be4d8a470c1fcff20ad6038fe6183039b988b91519ffa2b68b950a7ab",
                "md5": "c4d09b4585d951e220b81582f698d891",
                "sha256": "ad110baaf2fbfcc4f14f68452e0cba955f23678200a7d9f6f0199d88ac1b1ee4"
            },
            "downloads": -1,
            "filename": "aiscriptgenerator_mcp-0.3.4.tar.gz",
            "has_sig": false,
            "md5_digest": "c4d09b4585d951e220b81582f698d891",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 26605,
            "upload_time": "2025-10-09T18:18:09",
            "upload_time_iso_8601": "2025-10-09T18:18:09.987041Z",
            "url": "https://files.pythonhosted.org/packages/f0/fa/545be4d8a470c1fcff20ad6038fe6183039b988b91519ffa2b68b950a7ab/aiscriptgenerator_mcp-0.3.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-09 18:18:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "your-org",
    "github_project": "aiscriptgenerator",
    "github_not_found": true,
    "lcname": "aiscriptgenerator-mcp"
}
        
Elapsed time: 2.16024s