Pudu programming language
Menu
Package

@chrismichaelps / pudu-lang-mcp

Model Context Protocol server for Pudu language documentation and compiler tools

0.1.1Apache-2.01

InstallClose

← All contributions

feat(server): publish the initial Pudu MCP server package #2

merged

@chrismichaelps wrote on 2026-09-24

Behaviour

A stdio Model Context Protocol server written in Pudu, packaged as @chrismichaelps/pudu-lang-mcp 0.1.0. It serves the Pudu documentation, the installed standard library's API reference, and the compiler's check, format, lint, confined run, test, and language-server answers across nineteen tools, plus resources, four prompts, and argument completion.

  • pudu.toml carries every key of the canonical library manifest: name, version, description, Apache-2.0 license, keywords, the >=0.1.1 <0.2.0 language range, src as source, and PuduLangMcp as module root.
  • The end-to-end suite reads replies through List.get. A server that writes fewer lines than expected, for example one started by an older compiler, now fails each check by name instead of stopping the suite on an out-of-range index.
  • A bounded child process no longer waits on its output readers without limit. On Linux, sh -c "sleep 5" stopped at its 200 ms deadline left sleep holding the pipes, and the call took 5 s. Readers now publish what they hold, and once the child ends they get 250 ms to reach end of stream. A stream still open after that returns what was read and is marked cut.
  • The wiki vault mirrors every source file, and the changelog, testing page, and handoff are updated.

Verification (Pudu 0.1.1)

  • pudu check $(find src test tools -name '*.pudu'): no diagnostics.
  • pudu fmt --check src test tools and pudu lint src test tools: clean.
  • pudu test test: 20/20 suites, 464 assertions.
  • pudu build src/Main.pudu: 60 modules linked.
  • With a 0.1.0 compiler first on PATH, the end-to-end suite reports 14 named failures and no longer stops on an index. With no compiler, its checks are skipped.
  • Mutation on Bounded.pudu after the fix: 28 of 29 killed. The survivor flips a fallback for an unreadable Sync cell, which no test can reach; the reason is in its Grill Log, and it is not in CI's sample.
  • Mutation: the six modules with survivors from the earlier full pass killed 49 of 49 valid mutants. CI runs the deterministic sample at a 100% threshold.

Closes #1

Read and reply on GitHub ↗