Docs + source RAG for Pipe language: semantic search, cited answers, code symbol lookup.
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Distributed as an MCP bundle (`https://github.com/MachuraHarry/pipe/releases/download/v1.1.0/pipe-docs-server-linux-amd64.mcpb`) — download it and import the bundle in your MCP client.
Distributed as an MCP bundle (`https://github.com/MachuraHarry/pipe/releases/download/v1.1.0/pipe-docs-server-linux-arm64.mcpb`) — download it and import the bundle in your MCP client.
Distributed as an MCP bundle (`https://github.com/MachuraHarry/pipe/releases/download/v1.1.0/pipe-docs-server-darwin-amd64.mcpb`) — download it and import the bundle in your MCP client.
Distributed as an MCP bundle (`https://github.com/MachuraHarry/pipe/releases/download/v1.1.0/pipe-docs-server-darwin-arm64.mcpb`) — download it and import the bundle in your MCP client.
Distributed as an MCP bundle (`https://github.com/MachuraHarry/pipe/releases/download/v1.1.0/pipe-docs-server-windows-amd64.mcpb`) — download it and import the bundle in your MCP client.
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.
Pipe v1.3.0 builds on the multi-agent and vision work from v1.2.0:
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.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.wiki_search egress gap, an exec_whitelist shell-injection gap, and a hard-link escape.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.
Pipe is DSGVO-konform / GDPR-compliant by design:
Running AI in production is harder than it should be:
exec are a liability. You need fine-grained sandboxing at the language level, not afterthought middleware.asyncio.gather() boilerplate.Pipe fixes this at the language level.
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):
import openai
client = openai.OpenAI()
def summarize(text):
r = client.chat.completions.create(model="gpt-4o", messages=[{"role":"user","content":text}])
return r.choices[0].message.content
def translate(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"))
Pipe (5 lines):
read_file "news.txt"
> summarize -- LLM call
> translate "de" -- LLM call
> print
Pipe has built-in MCP — both as a server and client. No SDKs, no npm packages, no Python. Pure Go stdlib.
fn get_weather city
match city
| "Berlin" -> "22°C, sunny"
| "London" -> "15°C, rainy"
| _ -> city ++ ": no data"
ai_tool "get_weather" "Get weather for a city" {city: "City name"} get_weather
mcp_server "Weather Agent" "1.0.0"
mcp_serve_stdio
Configure in Claude Desktop (claude_desktop_config.json):
{ "mcpServers": { "pipe": { "command": "/tmp/pipe", "args": ["agent.pipe"] } } }
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.
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"
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
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
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
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}
]
}
| 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 |
exec, write_file, http_get with a single block>> starts any pipeline stage in the background. Futures auto-resolve. ai_batch handles hundreds of texts concurrently with built-in rate limitingsend/recv), mutex (lock/unlock), counting semaphore (acquire/release)> sequential, >> parallel. Data flows top to bottom — readable, composable, debuggable@1.0.0). pipe -get installs, import by nametest blocks with assert_eq, assert_error. Run with pipe -test. Zero setuppipe -build)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'
No install needed — Pipe runs fully in your browser via WebAssembly:
-- Paste this into the playground and hit Run
levels: ["error","warn","info"]
read_file "server.log"
> classify levels
> summarize
> print
Run Pipe directly in CI/CD — no installation needed:
- uses: MachuraHarry/pipe/.github/actions/pipe-action@master
with:
script: |
print "Hello from CI/CD!"
log: exec "git log --oneline -20"
print (get log "output")
Syntax highlighting and full IntelliSense for .pipe files, powered by a Language Server Protocol client (vscode/) and the pipe-lsp server (cmd/pipe-lsp):
make vsix # builds the server and packages vscode/pipe-syntax-1.0.0.vsix
Or run the extension in development with F5 from the vscode/ folder. See VSCode Extension Documentation.
Pipe has a curated module library — 23 reusable modules with version pinning:
| Infrastructure | Data & CLI | AI & Agents | DevTools | Social |
|---|---|---|---|---|
pipe-http | sqlite | rag-pipe | pipe-test | telegram-bot |
pipe-cli | jpipe | log-analyzer | pipe-validate | mqtt |
pipe-orm | pipe-tpl | sentiment | ||
pipe-web | pipe-date | code-review | ||
translate-batch | ||||
changelog-gen | ||||
email-classifier | ||||
incident-report | ||||
parallel-runner | ||||
date-formatter | ||||
docs-pipe |
pipe -search # Browse modules
pipe -search sql # Filter by keyword
pipe -get sqlite # Install latest
pipe -get sqlite@0.8.0 # Install specific version
import "sqlite" -- database engine
import "pipe-http" -- HTTP client
import "mqtt" -- MQTT 5.0 client
import "discord.pipe" as d -- Discord webhooks + bot
idx: index_create h "knowledge"
index_add idx "Pipe is an AI-native language."
index_search idx "language" 3 > each print
→ Ecosystem Documentation | → Contribute a Module
| Mode | Command | Speed |
|---|---|---|
| Tree-Walker | ./bin/pipe script.pipe | Baseline |
| Bytecode VM | ./bin/pipe -vm -q script.pipe | 0.6x-55x (recursion-heavy up to ~55x) |
summarize, translate, classify, extract, ask, generate, generate_json
ai_stream, ai_batch, ai_parallel, ai_rate_limit, ai_chat, ai_chat_json
web_search, wiki_search, embed, embed_batch, cosine_sim, dot_product, nearest
agent, agent_ask, agent_clear, ai_tool, ai_with_tools, tool_call, swarm_agent, ai_swarm, ai_swarm_trace, ai_swarm_stream, ai_vision
ai_provider, ai_model, ai_host, ai_set_key, ai_timeout, ai_cache, ai_cost, ai_tokens, ai_cache_hits, ai_cache_misses
mcp_server, mcp_serve_stdio, mcp_serve_sse, mcp_tools, mcp_resource, mcp_resource_template, mcp_prompt, mcp_resources, mcp_read_resource, mcp_prompts, mcp_prompt_get, mcp_use_stdio, mcp_use_sse
try_ai, try_ai_log
try_ai)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
>>)a: "Frage A"
>> ask
b: "Frage B"
>> ask
c: "Frage C"
>> ask
print a ++ b ++ c -- Future auto-resolution
fn classify severity
match severity
| s if s > 9 -> "critical"
| s if s > 5 -> "warning"
| _ -> "info"
ch: chan 3
go { send ch "hello" }
go { send ch "world" }
print (recv ch) ++ " " ++ (recv ch)
sandbox_profile "safe" {fs: "read-only", network: false, exec: false, ai: true}
sandbox_profile "agent" {fs: "temp-only", network: true, exec: false, ai: true}
set_sandbox "safe"
read_file "/etc/config" -- reading allowed
write_file "/etc/config" -- E_SANDBOX blocked
Source (.pipe) -> Lexer -> Parser -> AST -> [ Tree-Walker | Compiler + VM ]
|
Builtins (249 total: 41 AI + 13 MCP + 195 standard)
|
MCP Server <-> MCP Clients (stdio + HTTP)
→ Full documentation (English) → Vollständige Dokumentation (Deutsch)
pipe/
├── cmd/
│ ├── pipe/main.go # Entry point
│ └── pipe-lsp/ # Language Server Protocol server (IntelliSense)
├── pkg/
│ ├── ai/ # AI provider integrations
│ ├── analysis/ # IntelliSense library (builtins, diagnostics, completion...)
│ ├── ast/ # AST node definitions
│ ├── build/ # Self-extracting binary builder
│ ├── cache/ # Bytecode cache
│ ├── compiler/ # Compiler to bytecode
│ ├── eval/ # Tree-walk interpreter
│ ├── formatter/ # Code formatter
│ ├── gen/ # Code generation helpers
│ ├── lexer/ # Lexer and tokens
│ ├── mcp/ # MCP server + client (zero-dependency)
│ ├── object/ # Runtime objects
│ ├── parser/ # Parser
│ ├── stdlib/ # Standard library helpers
│ └── vm/ # Bytecode VM
├── examples/ # 87 example programs
├── test/integration/ # Integration tests
├── vscode/ # VSCode extension (syntax highlighting + LSP client)
├── docs/ # Documentation (DE + EN)
├── website/ # Project website
├── modules/ # Language modules (mqtt, discord, x, etc.)
├── Makefile
├── go.mod
└── LICENSE
See CONTRIBUTING.md.
MIT — see LICENSE.