Skip to content

hyperpolymath/poly-ssg-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

polyglot-ssg-mcp

Overview

polyglot-ssg-mcp provides a unified interface for static site generators across the programming language spectrum. No mainstream JS/Python/Ruby - this is for functional programming, systems languages, and academic tools.

Supported SSGs by Language

Language SSGs Notes

Rust

Zola, Cobalt, mdBook

Fast, single-binary tools

Elixir

Serum, NimblePublisher, Tableau

BEAM ecosystem, Phoenix integration

Haskell

Hakyll, Ema

FP-native, Pandoc integration

OCaml

YOCaml

Composable, type-safe

F#

Fornax

.NET ecosystem, type providers

Swift

Publish

Apple ecosystem, SwiftUI-style API

Common Lisp

Coleslaw

Extensible, macro-powered

Kotlin

Orchid

JVM, documentation-focused

Julia

Franklin.jl, StaticWebPages.jl, Documenter.jl

Scientific/academic publishing

Clojure

Cryogen, Perun, Babashka

Data-driven, REPL workflow

Scala

Laika, ScalaTex

Multi-format output (HTML, PDF, EPUB)

Erlang

Zotonic

CMS with static export

Racket

Pollen, Frog

Publishing-focused, typesetting

D

Reggae

Systems programming build tool

Tcl

Wub

Web framework with static generation

Crystal

Marmot

Ruby-like syntax, compiled

Nim

Nimrod (nimib ecosystem)

Python-like, compiled

Quick Start

# Run with Deno
deno task start

# Or with container
podman run -it ghcr.io/hyperpolymath/polyglot-ssg-mcp:latest

Installation

git clone https://github.com/hyperpolymath/polyglot-ssg-mcp
cd polyglot-ssg-mcp
deno task start

Container

# Wolfi (default)
podman pull ghcr.io/hyperpolymath/polyglot-ssg-mcp:latest

# Alpine variant
podman pull ghcr.io/hyperpolymath/polyglot-ssg-mcp:alpine

MCP Client Configuration

Claude Desktop

{
  "mcpServers": {
    "polyglot-ssg": {
      "command": "deno",
      "args": ["task", "start"],
      "cwd": "/path/to/polyglot-ssg-mcp"
    }
  }
}

Tools

Meta Tools

Tool Description

ssg_list

List all SSGs with languages and status

ssg_detect

Auto-detect installed SSGs

ssg_help

Get help for a specific SSG

ssg_version

Server version info

Per-SSG Tools

Each SSG provides tools prefixed with its name. Common patterns:

  • {ssg}_init - Initialize new project

  • {ssg}_build - Build the site

  • {ssg}_serve - Start development server

  • {ssg}_clean - Clean build artifacts

  • {ssg}_version - Get SSG version

Environment Variables

# Override binary paths
ZOLA_PATH=/custom/path/zola
HAKYLL_PATH=/custom/path/hakyll
# ... etc for each SSG

Architecture

polyglot-ssg-mcp/
├── index.js              # Main MCP server
├── adapters/             # 28 SSG adapters
│   ├── zola.js           # Rust
│   ├── hakyll.js         # Haskell
│   ├── franklin.js       # Julia
│   └── ...
├── src/                  # ReScript source
│   ├── Executor.res      # Type-safe execution
│   └── Adapter.res       # Adapter interface
└── Containerfile         # OCI container

License

MIT - See LICENSE.txt

Author

Jonathan D.A. Jewell (@hyperpolymath)

Sponsor this project

Packages

 
 
 

Contributors 3

  •  
  •  
  •