Pipe Docs (SPR) MCP Server について
Pipe Docs (SPR) MCP Serverは、Pipe言語のドキュメントやソースを調べる開発者向けです。セマンティック検索、出典付き回答、コードシンボル検索を提供しますが、サーバーの詳細は入力に記載されていません。
主な機能
- 01Pipeドキュメントの意味検索
- 02出典付きの回答
- 03コードシンボルの検索
活用シーン
- 01Pipe言語の資料を探す
- 02出典付きの説明を得る
- 03コード内のシンボルを特定する
MCP 対応
MCPサーバーとして、クライアントにPipeのドキュメントとソースコードの検索機能を提供します。具体的なツール定義は入力に記載されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Pipe — MCP ネイティブで本番環境に対応したランタイム
MCP(サーバーとクライアント)を組み込みでサポートする初の言語です。249 個の組み込み機能を備えた、サイズ約 8 MB の単一バイナリです。依存関係はありません。 公式 MCP Registry に正式登録済み(v1.1.1、アクティブ)。Copilot と VS Code では、GitHub MCP Registry からワンクリックでインストールできます。
v1.3 の新機能
Pipe v1.3.0 は、v1.2.0 のマルチエージェントおよびビジョン機能をさらに発展させています。
- マルチエージェントのスウォーム —
ai_swarm/ai_swarm_trace/swarm_agent:名前付きエージェントが予約済みのツール呼び出しを通じて会話を引き継ぎ、メッセージ履歴全体を引き継ぎます。ai_swarm_streamでは進行状況をリアルタイムで確認できます(ツール呼び出し、引き継ぎ、推論、実行中に介入するためのラウンドチェックコールバック)。また、安全な範囲でラウンド内の独立したツール呼び出しを並列実行できるようになりました。 ai_vision— OpenAI 互換のビジョンモデルを使って、画像(http(s) URL、ローカルファイル、または生バイト列)について質問できます。- OpenCode Zen AI プロバイダー — 6 番目のプロバイダーです。API キーなしで利用できる無料枠のモデルもあります。
- 組み込みのセルフアップデーター —
pipe --update/--update-checkで最新の GitHub リリースを取得し、チェックサムを検証して置き換えます。 tool_call— LLM を介さず、登録済みツールを直接呼び出します。file_lock/file_unlock— プロセス間で実際に機能するアドバイザリファイルロックです。elifキーワード —if/elseチェーンで使用できます。ai_tool:parallel_safeフラグ — Pipe で定義したfnツールのバッチも、組み込み機能と同様に並列実行できるようになりました。pipe -build— 相対サブディレクトリのパスを保持したまま、実際の複数ファイルプロジェクトに対応しました。- 強化されたサンドボックス — 監査ラウンド 7〜11 で、ファイルシステムへの書き込み制御の抜け穴、
wiki_searchの外部通信の抜け穴、exec_whitelistのシェルインジェクションの抜け穴、およびハードリンクによるエスケープを修正しました。 - 249 個の組み込み機能 — AI 41 個 + MCP 13 個 + 標準 195 個。v0.9.3 の 226 個から増加しました。
- 23 個のモジュール — MQTT、SQLite、pipe-http、pipe-web、pipe-orm、pipe-cli など
クイックインストール
curl -fsSL https://pipe-lang.com/install.sh | bash # Linux & macOS
Windows(PowerShell):irm https://pipe-lang.com/install.ps1 | iex
インストーラーは最新リリースをダウンロードし、SHA256 チェックサムを検証してから、pipe を ~/.local/bin(root として実行した場合は /usr/local/bin)にインストールします。PIPE_VERSION=v1.0.0 を指定すると、バージョンを固定できます。インストールの詳細を参照してください。
インストール済みのコピーは、最新の GitHub リリースを確認して自動更新できます。pipe --update で更新し、pipe --update-check で確認のみ行い、pipe --version で現在のバージョンを表示します。アップデーターはリリースのチェックサムを検証し、バイナリをその場で置き換えます。
プライバシーと DSGVO
Pipe は設計上、DSGVO に準拠し、GDPR に適合しています。
- テレメトリーと分析は一切ありません — バイナリがホームに接続することはなく、データがマシンの外に出ることもありません。
- セルフホスト可能な単一バイナリ — すべて自分のインフラストラクチャ上で実行できます。
- クラウド不使用 — ベンダーのサーバーがデータを処理することはありません。
- オープンソース(MIT) — すべて監査できます。
- ローカル AI — Ollama を使えば、ネットワークの外に出るバイトは一つもありません。クラウドプロバイダーは、設定した場合にのみ使用されます。
課題
AI を本番環境で運用するのは、もっと簡単であるべきです。
- セキュリティ — ファイルアクセス、ネットワークアクセス、
execを許可された LLM はリスクになります。後付けのミドルウェアではなく、言語レベルで細かなサンドボックス化が必要です。 - パフォーマンス — API 呼び出しを逐次実行すると、1 秒のパイプラインが 10 秒のボトルネックになります。並列化に
asyncio.gather()の定型コードが必要であってはなりません。 - ベンダーロックイン — OpenAI から DeepSeek に切り替えるには、Python SDK のコードを書き直す必要があります。プロバイダーの変更は 1 行で済むべきです。
- ツール連携 — LLM を外部ツール(GitHub、データベース、ファイルシステム)に接続するのは、SDK や API ラッパーが入り組んでいて大変です。MCP はライブラリではなく、言語のプリミティブであるべきです。
Pipe はこれらの課題を言語レベルで解決します。
Pipe とは?
Pipe は Semantic Pipeline Runtime(SPR) です。summarize、translate、classify が +、sort、len と同じ構文レベルで使える、パイプラインネイティブな言語です。データは、組み合わせ可能な変換を通じて上から下へ流れます。バイナリは 1 つ。依存関係はありません。
Python + LangChain(約 80 行):
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 行):
read_file "news.txt"
> summarize -- LLM call
> translate "de" -- LLM call
> print
Model Context Protocol
Pipe には、サーバーとクライアントの両方として使える MCP が組み込まれています。SDK も npm パッケージも Python も不要です。Go の標準ライブラリだけで動作します。
MCP サーバー — ツールを公開する
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
Claude Desktop で設定します(claude_desktop_config.json)。
{ "mcpServers": { "pipe": { "command": "/tmp/pipe", "args": ["agent.pipe"] } } }
MCP クライアント — 外部ツールを使う
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
stdio の MCP サーバーならすぐに動作します。Filesystem、GitHub、Git、Postgres、SQLite、Slack、Brave Search、Memory、Sequential Thinking など、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"
RAG パイプライン
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 エージェント
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
並行処理 — 4 秒ではなく 1.5 秒で LLM を 3 回呼び出す
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 通知
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}
]
}
比較:Pipe と Python + LangChain
| Python + LangChain | Pipe | |
|---|---|---|
| RAG パイプライン | 約 80 LOC | 約 8 LOC |
| LLM アクセスのサンドボックス化 | カスタムミドルウェア | sandbox_profile ブロック 1 つ |
| AI プロバイダーの切り替え | SDK 呼び出しを書き直す | ai_provider "deepseek" |
| サーバーへのデプロイ | Docker + venv + pip | scp pipe binary |
| LLM の並列呼び出し | asyncio.gather() の定型コード | >> 演算子、ai_batch |
| MCP サーバー + クライアント | ライブラリに依存 | 組み込み機能 13 個、依存関係なし、100 以上のサーバー |
| バイナリサイズ | 約 500 MB(依存関係込み) | 約 8 MB |
特長
- MCP ネイティブ — MCP サーバーとクライアント向けの組み込み機能が13個あります。Go 標準ライブラリのみを使用します。任意の stdio MCP サーバーに接続できます。
- AI パイプラインを10倍速く構築 — AI 組み込み機能が41個、MCP 組み込み機能が13個あります。インポートも、SDK も、API ラッパーも不要です。
- AI エージェントを1行でロックダウン — 宣言型のサンドボックスプロファイルを使用すれば、単一のブロックで
exec、write_file、http_getを制限できます。 - 数秒でデプロイ — 静的リンクされた約8 MBのバイナリ1つで動作します。venv、pip、Docker は不要です。Linux、macOS、Windows、Raspberry Pi のほか、WebAssembly を使ってブラウザーでも実行できます。
- 1.5秒でLLMを3回呼び出し、4秒はかかりません —
>>を使うと、任意のパイプラインステージをバックグラウンドで開始できます。Future は自動的に解決されます。ai_batchは、組み込みのレート制限機能により、数百件のテキストを並行処理します。 - ベンダーロックインなし — OpenAI、Anthropic(Claude)、DeepSeek、Ollama に対応しています。1行で切り替えられ、同じコードがどこでも動作します。
- 並行処理プリミティブ — チャネル(
send/recv)、ミューテックス(lock/unlock)、カウンティングセマフォ(acquire/release)を利用できます。 - パイプラインネイティブな構文 —
>は順次実行、>>は並列実行です。データは上から下へ流れるため、読みやすく、組み合わせやすく、デバッグも容易です。 - ソーシャルプラットフォームを標準搭載 — Discord の Webhook と Telegram ボットを Pipe モジュールとして利用できます。AI によるコードレビュー、通知、チャットなど、送信にかかる API 費用はゼロです。
- バイトコード VM — バイトコードにコンパイルし、自動キャッシュ機能を備えたスタック VM 上で実行します。ワークロードに応じて、ツリーウォーカーとの比較で0.6~55倍の速度を測定しています(再帰の多いコードでは最大約55倍)。
- モジュールエコシステム — 厳選された23個のモジュールと、バージョン固定(
@1.0.0)に対応したレジストリを利用できます。pipe -getでインストールし、名前を指定してインポートできます。 - テスト機能を標準搭載 —
assert_eqとassert_errorを使ったtestブロックを利用できます。pipe -testで実行でき、セットアップは不要です。 - GitHub Action — インストール不要で、CI/CD 内から直接 Pipe を実行できます。
- VSCode 拡張機能 — 構文ハイライト、IntelliSense、LSP による診断と補完に対応しています。
- 自己解凍型バイナリ — パイプラインをスタンドアロン実行ファイルとして配布できます(
pipe -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'
ブラウザーで試す
インストールは不要です。Pipe は WebAssembly を介してブラウザー内で完全に動作します。
-- Paste this into the playground and hit Run
levels: ["error","warn","info"]
read_file "server.log"
> classify levels
> summarize
> print
GitHub Action
インストール不要で、CI/CD 内から直接 Pipe を実行できます。
- 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")
VSCode 拡張機能
Language Server Protocol クライアント(vscode/)と pipe-lsp サーバー(cmd/pipe-lsp)を使用し、.pipe ファイルの構文ハイライトと完全な IntelliSense を提供します。
- 補完、ホバードキュメント、シグネチャヘルプ、定義へ移動、参照、名前変更
- 診断(解析エラー、未定義/未使用の変数)とセマンティックハイライト
- ドキュメントのフォーマット、括弧の自動補完、自動インデント、コード折りたたみ
make vsix # builds the server and packages vscode/pipe-syntax-1.0.0.vsix
または、vscode/ フォルダーから F5 を押して、開発モードで拡張機能を実行できます。VSCode 拡張機能のドキュメントをご覧ください。
モジュールエコシステム
Pipe には、バージョン固定に対応した再利用可能なモジュール23個をそろえた厳選モジュールライブラリがあります。
| インフラストラクチャ | データと CLI | AI とエージェント | 開発ツール | ソーシャル |
|---|---|---|---|---|
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 [email protected] # 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
実行モード
| モード | コマンド | 速度 |
|---|---|---|
| Tree-Walker | ./bin/pipe script.pipe | 基準 |
| Bytecode VM | ./bin/pipe -vm -q script.pipe | 0.6x~55x(再帰処理が多い場合は最大約55x) |
54 個の AI + MCP 組み込み機能(AI 41 個 + MCP 13 個)
理解
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 — 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
自己修復
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
Match のガード節
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)
- 67 種類のトークン、43 種類の AST ノード、43 種類のオペコード
- Go で約 37,000 行、752 件のテスト、101 個のサンプルプログラム
- 依存関係ゼロ — Go 標準ライブラリのみ
ドキュメント
→ ドキュメント全文(英語) → ドキュメント全文(ドイツ語)
プロジェクト構成
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.md を参照してください。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。