mcpill

Documentation

Build MCP servers from plain-English specs — init, compile, run.

Overview

mcpill is a CLI for building MCP servers from a plain-English spec called PILL.md. You describe your server's tools, resources, and prompts in structured Markdown — then hand the file to Claude and run mcpill compile to get a deployable artifact.

mcpill uses mcpster under the hood for the generated server code.

Install

npm install -g mcpill

Quickstart

# 1. Scaffold a new project
mcpill init my-server

# 2. Edit PILL.md to describe your server
# 3. Hand PILL.md to Claude for implementation guidance
# 4. Compile to a deployable artifact
mcpill compile

# 5. Start the server
mcpill run

PILL.md structure

A PILL.md has three required sections and one optional:

# My Server

## Description
One paragraph describing what this server does and for whom.

## Tools
List each tool — name, description, inputs, outputs.

## Resources (optional)
List each MCP resource URI and what it exposes.

## Constraints
Any hard rules the implementation must follow.

Specifying tools

Each tool entry in ## Tools follows this pattern:

### search_docs
Search the documentation index.

**Input:** `query` (string, required) — the search query
**Output:** Array of matching doc sections with titles and excerpts.

Specifying resources

### docs://index
Lists all available documentation sections.
Returns a Markdown index with section titles and URIs.

init

Scaffold a new mcpill project:

mcpill init [project-name]

Creates a directory with PILL.md, package.json, and a README.md.

compile

Validate the PILL.md and generate the server artifact:

mcpill compile [--pill PILL.md] [--out dist/]

Validation checks that all tool inputs and outputs are described, required sections are present, and constraint rules are parseable.

run

Start the compiled server (stdio transport by default):

mcpill run [--port 3000]

Pass --port to start an HTTP server instead of stdio.