AI-native runtime with built-in MCP server. 232 builtins, AI pipelines, RAG, single ~8 MB binary.
io.github.MachuraHarry/pipe β Model Context Protocol (MCP) Server
Pipe is an AI-native runtime with a built-in MCP server. It is described as production-ready and distributed as a single ~8 MB binary. The project includes built-in capabilities (232 builtins), AI pipelines, and RAG tooling, and is targeted for development use with MCP.
The first language with built-in MCP β server and client. 249 builtins, single ~8 MB binary. Zero dependencies.Officially listed in the official MCP Registry (v1.1.1, active). One-click install from GitHub MCP Registry for Copilot & VS Code.
What's New in v1.3
Pipe v1.3.0 builds on the multi-agent and vision work from v1.2.0:
Multi-agent swarms β ai_swarm / ai_swarm_trace / swarm_agent: named agents hand a conversation off to one another via a reserved tool call, with the full message history carried forward. ai_swarm_stream adds live progress observation (tool calls, handoffs, reasoning, round-check callbacks to intervene mid-run) and now runs independent tool calls within a round in parallel where safe.
ai_vision β ask a question about an image (an http(s) URL, local file, or raw bytes) via an OpenAI-compatible vision model.
OpenCode Zen AI provider β 6th provider, with free-tier models usable without any API key.
Built-in self-updater β pipe --update / --update-check fetch, checksum-verify and swap in the latest GitHub release.
tool_call β direct, LLM-free invocation of a registered tool.
file_lock / file_unlock β real cross-process advisory file locking.
elif keyword in if/else chains.
ai_tool: parallel_safe flag β batches of Pipe-defined fn tools can now run in parallel too, not just builtins.
pipe -build now supports real multi-file projects, preserving relative subdirectory paths.
Hardened sandbox β audit rounds 7-11: closed filesystem-write gate gaps, the wiki_search egress gap, an exec_whitelist shell-injection gap, and a hard-link escape.
249 builtins β 41 AI + 13 MCP + 195 standard, up from 226 in v0.9.3
23 modules β MQTT, SQLite, pipe-http, pipe-web, pipe-orm, pipe-cli, and more
Quick Install
sh
curl -fsSL https://pipe-lang.com/install.sh | bash # Linux & macOS
Windows (PowerShell): irm https://pipe-lang.com/install.ps1 | iex
The installer downloads the latest release, verifies its SHA256 checksum and installs pipe into ~/.local/bin (or /usr/local/bin when run as root). Pin a version with PIPE_VERSION=v1.0.0. See the full install docs.
Installed copies update themselves against the latest GitHub release: pipe --update (or pipe --update-check to only look, pipe --version to show what you are on). The updater verifies the release checksum and replaces the binary in place.
Privacy & DSGVO
Pipe is DSGVO-konform / GDPR-compliant by design:
Zero telemetry & analytics β the binary never phones home, nothing leaves your machine
Self-hosted single binary β runs entirely on your infrastructure
No cloud β no vendor server processes your data
Open source (MIT) β fully auditable
Local AI β with Ollama, not a single byte leaves your network; cloud providers are used only if you configure one
The Problem
Running AI in production is harder than it should be:
Security β LLMs with file access, network, and exec are a liability. You need fine-grained sandboxing at the language level, not afterthought middleware.
Performance β Sequential API calls turn a 1-second pipeline into a 10-second bottleneck. Parallelism shouldn't require asyncio.gather() boilerplate.
Vendor Lock-in β Switching from OpenAI to DeepSeek means rewriting your Python SDK code. Provider changes should be one line.
Tool Integration β Connecting LLMs to external tools (GitHub, databases, filesystems) is a maze of SDKs and API wrappers. MCP should be a language primitive, not a library.
Pipe fixes this at the language level.
What is Pipe?
Pipe is a Semantic Pipeline Runtime (SPR) β a pipeline-native language where summarize, translate, and classify sit on the same syntax level as +, sort, and len. Data flows top to bottom through composable transformations. One binary. Zero dependencies.
Python + LangChain (~80 lines):
python
import openai
client = openai.OpenAI()
defsummarize(text):
r = client.chat.completions.create(model="gpt-4o", messages=[{"role":"user","content":text}])
return r.choices[0].message.content
deftranslate(text, lang):
r = client.chat.completions.create(model="gpt-4o",
messages=[{"role":"system","content":f"Translate to {lang}"},{"role":"user","content":text}])
return r.choices[0].message.content
text = open("news.txt").read()
print(translate(summarize(text), "de"))
ai_provider "deepseek"
ai_set_key "deepseek" (env "DEEPSEEK_API_KEY")
-- Connect to GitHub + Filesystem MCP servers
mcp_use_stdio "npx" "-y" "@modelcontextprotocol/server-github" {GITHUB_TOKEN: (env "GITHUB_TOKEN")}
mcp_use_stdio "npx" "-y" "@modelcontextprotocol/server-filesystem" "/tmp"
-- AI discovers and uses all tools automatically
result: ai_with_tools "You are a DevOps assistant." "Search pipe's open issues and list files in /tmp." 10
print result
Any stdio MCP server works immediately: Filesystem, GitHub, Git, Postgres, SQLite, Slack, Brave Search, Memory, Sequential Thinking β anything on npm/uvx.
Use Cases
Log Analysis β Incident Report
pipe
is_critical: fn line
contains line "critical"
read_file "/var/log/app/errors.log"
> split "\n"
> filter is_critical
> summarize
> translate "de"
> save "incident_report.txt"
RAG Pipeline
pipe
ai_provider "deepseek"
docs: read_lines "knowledge_base.txt"
vectors: embed_batch docs
question: "How does the bytecode VM work?"
q_vec: embed question
top: nearest q_vec vectors 3
context: ""
for idx in top
context: context ++ (at docs idx) ++ "\n---\n"
ask ("Context:\n" ++ context ++ "\nQuestion: " ++ question)
> print
AI Agent with Tool Calling
pipe
fn get_weather city
match city
| "Berlin" -> "22Β°C, sunny"
| "London" -> "15Β°C, rainy"
| _ -> city ++ ": no data"
ai_tool "get_weather" "Get current weather for a city" {city: "Name of the city"} get_weather
ai_with_tools "You are a weather assistant." "What's the weather in Berlin and London?"
> print
Concurrency β 3 LLM Calls in 1.5s, Not 4s
pipe
ai_provider "deepseek"
a: "Explain monads" >> ask
b: "What is CP/M?" >> ask
c: "Explain RFC 791" >> ask
print a ++ b ++ c -- Future auto-resolution
Discord CI/CD Notifications
pipe
import "discord.pipe" as d
ai_provider "deepseek"
-- AI code review per commit, sent as Discord embed
review: ai_chat "Review this code change" diff 800
d.d_webhook_embed (env "DISCORD_WEBHOOK") {
title: "CI: Push to master",
color: 3447003,
fields: [
{name: "Changed Files", value: stat},
{name: "AI Review", value: review}
]
}
Comparison: Pipe vs Python + LangChain
Python + LangChain
Pipe
RAG pipeline
~80 LOC
~8 LOC
Sandbox LLM access
Custom middleware
One sandbox_profile block
Switch AI provider
Rewrite SDK calls
ai_provider "deepseek"
Deploy to server
Docker + venv + pip
scp pipe binary
Parallel LLM calls
asyncio.gather() boilerplate
>> operator, ai_batch
MCP Server + Client
Library-dependent
13 builtins, zero deps, 100+ servers
Binary size
~500 MB (with deps)
~8 MB
Features
MCP-native β 13 builtins for MCP Server + Client. Pure Go stdlib. Connect to any stdio MCP server
Ship AI pipelines 10x faster β 41 AI + 13 MCP builtins: no imports, no SDKs, no API wrappers
Lock down AI agents in one line β Declarative sandbox profiles: restrict exec, write_file, http_get with a single block
Deploy in seconds β One statically-linked ~8 MB binary. No venv, no pip, no Docker. Linux, macOS, Windows, Raspberry Pi, or your browser via WebAssembly
3 LLM calls in 1.5s, not 4s β >> starts any pipeline stage in the background. Futures auto-resolve. ai_batch handles hundreds of texts concurrently with built-in rate limiting
No vendor lock-in β OpenAI, Anthropic (Claude), DeepSeek, Ollama. Switch with one line. Same code works everywhere
Pipeline-native syntax β > sequential, >> parallel. Data flows top to bottom β readable, composable, debuggable
Social platforms built in β Discord webhooks and Telegram bots as Pipe modules. AI code reviews, notifications, chat β zero API costs for sending
Bytecode VM β Compile to bytecode, run on a stack VM with automatic caching. Measured 0.6x-55x vs tree-walker depending on workload (recursion-heavy code up to ~55x)
Module ecosystem β 23 curated modules, registry with version pinning (@1.0.0). pipe -get installs, import by name
Built-in testing β test blocks with assert_eq, assert_error. Run with pipe -test. Zero setup
GitHub Action β Run Pipe directly in CI/CD. No installation needed
VSCode Extension β Syntax highlighting, IntelliSense, LSP-powered diagnostics and completions
Self-extracting binary β Ship your pipeline as a standalone executable (pipe -build)
Quick Start
bash
git clone https://github.com/MachuraHarry/pipe && cd pipe && make build
export DEEPSEEK_API_KEY="sk-..."
./bin/pipe -vm -q -c 'ai_provider "deepseek"; ask "What makes Pipe different?" > print'
Try it in your browser
No install needed β Pipe runs fully in your browser via WebAssembly:
Syntax highlighting and full IntelliSense for .pipe files, powered by a Language Server Protocol client (vscode/) and the pipe-lsp server (cmd/pipe-lsp):
ai_provider "deepseek"
result: try_ai
"42" * 3 -- E002 Type Error -> AI wraps with to_num -> 126
catch e
0 -- only reached if AI fix fails
print result -- 126
Parallel Pipeline (>>)
pipe
a: "Frage A"
>> ask
b: "Frage B"
>> ask
c: "Frage C"
>> ask
print a ++ b ++ c -- Future auto-resolution
Guard Clauses in Match
pipe
fn classify severity
match severity
| s if s > 9 -> "critical"
| s if s > 5 -> "warning"
| _ -> "info"