5.1 KiB
Raw Blame History

openmcp-sdk : openmcp向けデプロイメントフレームワーク

実験環境から本番環境へエージェントを瞬時にデプロイ

導入 & インストール

openmcp-sdk.jsとは

OpenMCP Clientは統合型MCPデバッグソリューションを提供していますが、それだけでは十分ではありません。

完成したMCPを配布可能なアプリにしたり、サーバー上で関数サービスやマイクロサービスとして運用したい場合があります。しかしOpenMCP Clientは大規模モデルとの連携やツール使用のロジックを全てフロントエンドに実装しているため、MCPを大規模モデル連携型のスタンドアロンアプリケーションやサービスとして構築するのは困難です。

この問題を解決するのがopenmcp-sdk.jsです。Node.jsライブラリとして、開発済みのMCPとデバッグ済みワークフローをシームレスにエージェントとしてデプロイできます。

インストール

::: code-group

npm install openmcp-sdk
yarn add openmcp-sdk
pnpm add openmcp-sdk

:::

:::warning 現在openmcp-sdkはESMモードのインポートのみサポートしています :::

使用方法

まず新しいTypeScriptプロジェクトを作成します

mkdir clever-agent && cd clever-agent
npm init -y
npm install typescript tsx @types/node --save-dev
tsc --init

openmcp-sdkはESMのみ対応しています。package.jsonで"type": "module"を設定してください

次にopenmcp-sdkをインストールします

npm install openmcp-sdk

main.tsファイルを作成し、数行のコードで設定をエージェントとしてデプロイできます

import { OmAgent } from 'openmcp-sdk/service/sdk';

const agent = new OmAgent();

// openmcp clientでデバッグ後に自動生成される設定を読み込み
agent.loadMcpConfig('./mcpconfig.json');

// デバッグ済みプロンプトを取得
const prompt = await agent.getPrompt('hacknews', { topn: '5' });    

// タスク実行
const res = await agent.ainvoke({ messages: prompt });

console.log('⚙️ エージェントレスポンス', res);

mcpconfig.jsonopenmcp clientから直接エクスポート可能で、手動作成不要です。例:

{
    "version": "1.0.0",
    "namespace": "openmcp",
    "mcpServers": {
        "my-browser": {
            "command": "mcp",
            "args": [
                "run",
                "~/projects/openmcp-tutorial/crawl4ai-mcp/main.py"
            ],
            "description": "長期記憶サポート用MCP",
            "prompts": [
                "hacknews"
            ]
        }
    },
    "defaultLLM": {
        "baseURL": "https://api.deepseek.com",
        "apiToken": "sk-xxxxxxxxxxxxxx",
        "model": "deepseek-chat"
    }
}

npx tsx main.tsで実行すると以下の結果が得られます:

[2025/6/20 20:47:31] 🚀 [crawl4ai-mcp] 1.9.1 接続完了
[2025/6/20 20:47:35] 🤖 エージェントが以下のツール使用を要求: get_web_markdown
[2025/6/20 20:47:35] 🔧 ツール使用中: get_web_markdown
[2025/6/20 20:47:39] ✓ ツール使用成功
[2025/6/20 20:47:46] 🤖 エージェントが以下のツール使用を要求: get_web_markdown, get_web_markdown, get_web_markdown
[2025/6/20 20:47:46] 🔧 ツール使用中: get_web_markdown
[2025/6/20 20:47:48] ✓ ツール使用成功
[2025/6/20 20:47:48] 🔧 ツール使用中: get_web_markdown
[2025/6/20 20:47:54] ✓ ツール使用成功
[2025/6/20 20:47:54] 🔧 ツール使用中: get_web_markdown
[2025/6/20 20:47:57] ✓ ツール使用成功

⚙️ エージェントレスポンス
⌨️ 本日の技術記事シェア

📌 重力波を検知・観測する方法は?
要約:重力波通過時の物理現象について解説。時空間への影響と、この宇宙現象を人間が感知・観測する可能性について
著者ynoxinul
投稿時間2時間前
リンクhttps://physics.stackexchange.com/...

📌 Makefileチュートリアル
要約初心者から上級者向けの詳細なMakefileガイド。基本構文、変数、自動ルールから高度な機能まで、効率的なプロジェクトビルド管理を支援
著者dsego
投稿時間4時間前
リンクhttps://makefiletutorial.com/

📌 HurlプレーンテキストでHTTPリクエストを実行・テスト
要約プレーンテキスト形式でHTTPリクエストを定義・実行するCLIツール。データ取得やHTTPセッションテストに最適で、REST/SOAP/GraphQL APIテストにも対応
著者flykespice
投稿時間8時間前
リンクhttps://github.com/Orange-OpenSource/hurl