Pipe (SPR) MCP Server

io.github.MachuraHarry由 GitHub 帳號 MachuraHarry 發布v1.0.0更新於 Oct 24, 2026

AI-native runtime with built-in MCP server. 232 builtins, AI pipelines, RAG, single ~8 MB binary.

概覽

AI 產生的概覽

Pipe 執行環境內建的在地 MCP 伺服器,向助理開放 AI 流程、代理、RAG 與工具呼叫等內建能力。

可以做什麼
  • 執行 AI 流程:摘要、翻譯、分類、擷取、生成與提問,可切換不同模型供應商
  • 建立代理與群體:註冊工具、工具呼叫、多代理交接與影像問答
  • 檢索與搜尋:網頁與維基搜尋、向量嵌入、餘弦相似度與最近鄰查詢
  • 連接 MCP:呼叫外部 stdio 或 SSE 伺服器,並把 Pipe 定義的函式公開為工具
  • 模型與成本管理:供應商、模型、主機、金鑰、逾時、快取、權杖與費用統計
  • 直接執行腳本與工具,支援沙箱設定、檔案鎖與自動修復重試
適用情境
適合希望助理在本機執行 Pipe 腳本或流程、把多次模型呼叫與向量檢索串接起來,或用單一二進位檔編排會呼叫工具與其他 MCP 伺服器的代理時使用。
執行需求
以桌面在地程序執行:需安裝 Pipe 二進位檔(使用提供的各平台安裝包或專案安裝腳本)。AI 功能需設定模型供應商,雲端供應商需透過環境變數或金鑰內建函式設定 API 金鑰;改用在地 Ollama 則不需金鑰。
安裝前請注意
此執行環境可讀寫檔案、發出網路請求並執行 shell 指令,建議以其沙箱設定加以限制。除非設定在地模型,否則送往雲端供應商的文字會離開本機。自動更新功能會從 GitHub 發行頁下載並替換二進位檔,腳本中也可能含有 API 金鑰或 webhook 網址等憑證。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Pipe (SPR) MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[圖片] Pipe — The MCP-native runtime, production-ready

[CI] [License: MIT] [Version] [SPR] [MCP] [GitHub MCP Registry] [MCP Registry]

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 openaiclient = openai.OpenAI()def summarize(text):    r = client.chat.completions.create(model="gpt-4o", messages=[{"role":"user","content":text}])    return r.choices[0].message.contentdef 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.contenttext = open("news.txt").read()print(translate(summarize(text), "de"))

Pipe (5 lines):

pipe
read_file "news.txt"    > summarize       -- LLM call    > translate "de"  -- LLM call    > print

Model Context Protocol

Pipe has built-in MCP — both as a server and client. No SDKs, no npm packages, no Python. Pure Go stdlib.

MCP Server — Expose your tools

pipe
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_weathermcp_server "Weather Agent" "1.0.0"mcp_serve_stdio

Configure in Claude Desktop (claude_desktop_config.json):

json
{ "mcpServers": { "pipe": { "command": "/tmp/pipe", "args": ["agent.pipe"] } } }

MCP Client — Use external tools

pipe
ai_provider "deepseek"ai_set_key "deepseek" (env "DEEPSEEK_API_KEY")
-- Connect to GitHub + Filesystem MCP serversmcp_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 automaticallyresult: ai_with_tools "You are a DevOps assistant." "Search pipe's open issues and list files in /tmp." 10print 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 questiontop: 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" >> askb: "What is CP/M?" >> askc: "Explain RFC 791" >> ask
print a ++ b ++ c   -- Future auto-resolution

Discord CI/CD Notifications

pipe
import "discord.pipe" as dai_provider "deepseek"
-- AI code review per commit, sent as Discord embedreview: 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 + LangChainPipe
RAG pipeline~80 LOC~8 LOC
Sandbox LLM accessCustom middlewareOne sandbox_profile block
Switch AI providerRewrite SDK callsai_provider "deepseek"
Deploy to serverDocker + venv + pipscp pipe binary
Parallel LLM callsasyncio.gather() boilerplate>> operator, ai_batch
MCP Server + ClientLibrary-dependent13 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
  • Concurrency primitives — channels (send/recv), mutex (lock/unlock), counting semaphore (acquire/release)
  • 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 buildexport 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:

[Pipe]
Open the Pipe Playground

pipe
-- Paste this into the playground and hit Runlevels: ["error","warn","info"]read_file "server.log"    > classify levels    > summarize    > print

GitHub Action

Run Pipe directly in CI/CD — no installation needed:

yaml
- 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")

→ GitHub Action Documentation

VSCode Extension

Syntax highlighting and full IntelliSense for .pipe files, powered by a Language Server Protocol client (vscode/) and the pipe-lsp server (cmd/pipe-lsp):

  • Completion, hover docs, signature help, go-to-definition, references, rename
  • Diagnostics (parse errors, undefined/unused variables) and semantic highlighting
  • Format document, auto-completion of brackets, auto-indent and code folding
sh
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.

Module Ecosystem

Pipe has a curated module library — 23 reusable modules with version pinning:

InfrastructureData & CLIAI & AgentsDevToolsSocial
pipe-httpsqliterag-pipepipe-testtelegram-bot
pipe-clijpipelog-analyzerpipe-validatemqtt
pipe-ormpipe-tplsentiment
pipe-webpipe-datecode-review
translate-batch
changelog-gen
email-classifier
incident-report
parallel-runner
date-formatter
docs-pipe
bash
pipe -search                 # Browse modulespipe -search sql             # Filter by keywordpipe -get sqlite             # Install latestpipe -get [email protected]       # Install specific version
pipe
import "sqlite"                            -- database engineimport "pipe-http"                         -- HTTP clientimport "mqtt"                              -- MQTT 5.0 clientimport "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

Execution Modes

ModeCommandSpeed
Tree-Walker./bin/pipe script.pipeBaseline
Bytecode VM./bin/pipe -vm -q script.pipe0.6x-55x (recursion-heavy up to ~55x)

54 AI + MCP Builtins (41 AI + 13 MCP)

Understanding

summarize, translate, classify, extract, ask, generate, generate_json

Speed & Control

ai_stream, ai_batch, ai_parallel, ai_rate_limit, ai_chat, ai_chat_json

Search & Retrieval

web_search, wiki_search, embed, embed_batch, cosine_sim, dot_product, nearest

Agents & Tools

agent, agent_ask, agent_clear, ai_tool, ai_with_tools, tool_call, swarm_agent, ai_swarm, ai_swarm_trace, ai_swarm_stream, ai_vision

Config & Cost

ai_provider, ai_model, ai_host, ai_set_key, ai_timeout, ai_cache, ai_cost, ai_tokens, ai_cache_hits, ai_cache_misses

MCP — Model Context Protocol

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

Self-Healing

try_ai, try_ai_log

Advanced Features

Self-Healing Code (try_ai)

pipe
ai_provider "deepseek"
result: try_ai    "42" * 3           -- E002 Type Error -> AI wraps with to_num -> 126catch e    0                   -- only reached if AI fix fails
print result           -- 126

Parallel Pipeline (>>)

pipe
a: "Frage A"    >> askb: "Frage B"    >> askc: "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"

Concurrency: Channels

pipe
ch: chan 3go { send ch "hello" }go { send ch "world" }print (recv ch) ++ " " ++ (recv ch)

Sandbox Profiles

pipe
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 allowedwrite_file "/etc/config"    -- E_SANDBOX blocked

Architecture

Source (.pipe) -> Lexer -> Parser -> AST -> [ Tree-Walker | Compiler + VM ]                                              |                                    Builtins (249 total: 41 AI + 13 MCP + 195 standard)                                              |                                MCP Server <-> MCP Clients (stdio + HTTP)
  • 67 token types, 43 AST node types, 43 opcodes
  • ~37,000 LoC Go, 752 tests, 101 example programs
  • Zero dependencies — pure Go stdlib

Documentation

→ Full documentation (English) → Vollständige Dokumentation (Deutsch)

Project Structure

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

Contributing

See CONTRIBUTING.md.

License

MIT — see LICENSE.

來源:README.md,提交 cd921a8

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分