Skip to main content

An LSP for Docassemble YAML interviews

Project description

DAYamlChecker

An LSP for Docassemble YAML Interviews

How to run

pip install .
python3 -m dayamlchecker `find . -name "*.yml" -path "*/questions/*" snot -path "*/.venv/*" -not -path "*/build/*"` # i.e. a space separated list of files

MCP / LLM integration

DAYamlChecker includes an optional Model Context Protocol (MCP) server. This allows AI assistants like GitHub Copilot to validate Docassemble YAML directly within your editor.

Quick Start

codex mcp add dayamlchecker -- "~/venv/bin/python" -m dayamlchecker.mcp.server

  1. Install with MCP support:

    pip install "dayamlchecker[mcp]"
    
  2. VS Code Automatic Setup: Open this project in VS Code. The included .vscode/mcp.json file will automatically configure the MCP server for you (assuming you have a .venv created).

For detailed instructions on installation, manual configuration, and usage with other clients, please see docs/MCP_SERVER.md.

Generate a VS Code MCP configuration

To make it easy for VS Code users to install locally, install DAYamlChecker with the mcp extra, then run the packaged generator to create .vscode/mcp.json:

# Install in the active environment
pip install "dayamlchecker[mcp]"

# Generate workspace MCP config
dayamlchecker-gen-mcp

Optional flags: --venv <path>, --python <path>, and --non-interactive.

For example, if you have a global venv in ~/venv, and a github repository you want to make the MCP available in named docassemble-AssemblyLine:

cd ~/docassemble-AssemblyLine
source ~/venv/bin/activate
pip install dayamlchecker[mcp]
dayamlchecker-gen-mcp --venv ~/venv

Codex CLI (optional)

If you use Codex CLI/IDE and want Codex to call this MCP server:

cd /path/to/your/repo
codex mcp add dayamlchecker -- "$(pwd)/.venv/bin/python" -m dayamlchecker.mcp.server

# Or add using a global venv
codex mcp add dayamlchecker -- "~/venv/bin/python" -m dayamlchecker.mcp.server

# If the package is installed globally
codex mcp add dayamlchecker -- dayamlchecker-mcp

Important: The codex mcp add command only registers the MCP server configuration in Codex's settings; it does not create virtual environments or install the dayamlchecker package into the target interpreter. Make sure the selected interpreter has dayamlchecker installed before you add the server.

Click-to-install for VS Code

If you want VS Code users to add the MCP server with a single click, include one of the links below. These open VS Code and pre-fill the Add MCP Server dialog. They rely on an interpreter being present at the configured path — the local link expects a repository .venv and the global link expects a global venv such as ~/venv.

Add dayamlchecker (workspace .venv)

Click to add a server that uses a global ~/venv:

Add dayamlchecker (global ~/venv)

Note: Some clients may not expand ~, so replace it with the absolute path if the link doesn't work for you (e.g. /home/yourname/venv/bin/python). Also ensure the package is installed in the selected venv (pip install "dayamlchecker[mcp]"), and the .venv path exists with a Python binary.

Important: The Add links above only register the MCP server configuration in VS Code — they do not install the dayamlchecker Python package or create a virtual environment. Before clicking the link, make sure the runtime is installed in the selected venv. For example:

# create a repo venv and install the package (recommended)
python -m venv .venv
source .venv/bin/activate
pip install "dayamlchecker[mcp]"

# or for a global venv
python -m venv ~/venv
source ~/venv/bin/activate
pip install "dayamlchecker[mcp]"

Note: If you have dayamlchecker installed in the same, activated virtual environment from which you're running the codex mcp add command (or if dayamlchecker-mcp is on the PATH for the user that runs Codex), you can use the short command dayamlchecker-mcp and do not need to pass an absolute path. If Codex or your Codex IDE is running outside the workspace or under a different process, prefer an absolute path to the Python executable or the CLI for reliability.

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

dayamlchecker-0.2.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

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

dayamlchecker-0.2.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file dayamlchecker-0.2.0.tar.gz.

File metadata

  • Download URL: dayamlchecker-0.2.0.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dayamlchecker-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a024c65e51027e32248b08454054d44a6ddf10ab85606db753a63e3415435179
MD5 bd72b93e63bd42e965459f3db7984e4a
BLAKE2b-256 3049773405b5daf69e368f0441b981784f7a96e6e233de1da521ef63a7aef633

See more details on using hashes here.

Provenance

The following attestation bundles were made for dayamlchecker-0.2.0.tar.gz:

Publisher: publish.yml on SuffolkLITLab/DAYamlChecker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dayamlchecker-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dayamlchecker-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dayamlchecker-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ba3da25dc40fa361af7bf5bca77bc9168777a199d770a70e37ebe18943f1f9b1
MD5 9cde1f419bae8059ce335d2e7e9d5000
BLAKE2b-256 86880d79829178f2bac0543288c243e9dbed228d37fdfe9455bbe4b197db4203

See more details on using hashes here.

Provenance

The following attestation bundles were made for dayamlchecker-0.2.0-py3-none-any.whl:

Publisher: publish.yml on SuffolkLITLab/DAYamlChecker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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