portkey-mcp-server について
portkey-mcp-serverは、MCPを介してAIツールとPortkeyを接続するMCPサーバーです。MCPクライアントからプロンプトを作成・レンダリング・一覧表示でき、stdioとSSEの通信方式に対応しています。
主な機能
- 01プロンプトの作成
- 02プロンプトのレンダリング
- 03プロンプトの一覧表示
- 04stdioとSSEの通信方式
活用シーン
- 01MCPクライアントからPortkeyのプロンプトを作成
- 02後続利用に向けたプロンプトのレンダリング
- 03利用可能なプロンプトの確認
MCP 対応
MCPクライアントに、Portkeyのプロンプト作成・レンダリング・一覧表示ツールを提供します。stdioとSSEの通信方式に対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
portkey-mcp-server
Portkey 用の Model Context Protocol(MCP)サーバー実装です。このアプリケーションは、Model Context Protocol を介してさまざまな AI ツールやサービスを Portkey に接続するためのブリッジとして機能します。
目次
サポート対象の MCP 機能
ツール
インストール
クイックスタート: AI ツールとの連携をすぐに開始するには、Cursor IDE での使用またはClaude Desktop での使用のセクションに進んでください。各ツールですぐに使えるセットアップ手順を紹介しています。
Docker
最も簡単に始める方法は、Docker Hub のビルド済み Docker イメージを使用することです。
# Run the container with the latest image (PORTKEY_API_KEY is required)
docker run -p 8080:8080 \
-e TRANSPORT=sse \
-e TRANSPORT_SSE_ADDRESS=:8080 \
-e PORTKEY_API_KEY=your-api-key \
ericmccaleb/portkey-mcp-server:latest
Make ターゲットを使って、ローカルでビルドして実行することもできます。
# Clone the repository
git clone https://github.com/rvoh-emccaleb/portkey-mcp-server.git
cd portkey-mcp-server
# Build the Docker image locally (optional)
make docker-build
# Run the container (PORTKEY_API_KEY is required)
make docker-run PORTKEY_API_KEY=your-api-key
# Run with additional non-default settings
make docker-run PORT=9000 TRANSPORT=sse PORTKEY_API_KEY=your-api-key
Docker コマンドを直接使用することもできます。
# From repo root
# Build the Docker image
docker build --build-arg APP_VERSION=$(git rev-parse --short HEAD) -t portkey-mcp-server .
# Run in SSE mode (HTTP server)
docker run -p 8080:8080 \
-e TRANSPORT=sse \
-e TRANSPORT_SSE_ADDRESS=:8080 \
-e PORTKEY_API_KEY=your-api-key \
portkey-mcp-server
バイナリ
スタンドアロンバイナリをビルドするには、次のコマンドを実行します。
# From repo root
make build
ルートディレクトリに portkey-mcp-server という名前のバイナリが作成され、直接実行できるようになります。
バイナリを実行するには、必要な環境変数を指定します。
# From repo root
# Run in SSE mode (HTTP server)
PORTKEY_API_KEY=your-api-key \
TRANSPORT=sse \
TRANSPORT_SSE_ADDRESS=:8080 \
./portkey-mcp-server
# Run in stdio mode
PORTKEY_API_KEY=your-api-key \
TRANSPORT=stdio \
./portkey-mcp-server
ソースからインストール
Go ツールを使ってアプリを直接実行するには、次のコマンドを実行します。
# From repo root
go run -ldflags="-X main.appVersion=$(git rev-parse --short HEAD)" cmd/portkey-mcp-server/main.go
設定
サーバーは、次のトランスポート設定に対応しています。
- コマンドラインインターフェース向けの
stdio(標準入力/標準出力)トランスポート - HTTP ベースの通信向けの
sse(Server-Sent Events)トランスポート
設定は、起動時に読み込まれる環境変数を通じて行います。.env.example は参考として使用できますが、常に設定パッケージが正式な情報源です。
Docker 以外で実行する場合は、設定パッケージが想定する変数を使って .env ファイルを作成し、アプリケーションを設定できます。Docker の場合は、別の方法で環境変数を設定してください。
使用方法
Cursor IDE での使用
ホームディレクトリ(グローバル設定の場合)またはリポジトリのルート(プロジェクト設定の場合)に .cursor/mcp.json ファイルを作成します。
stdio モードを使用する場合
Docker を使用する場合(Docker Hub イメージを使用):
{
"mcpServers": {
"Portkey": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "PORTKEY_API_KEY",
"-e", "TRANSPORT",
"ericmccaleb/portkey-mcp-server:latest"
],
"env": {
"PORTKEY_API_KEY": "your-api-key",
"TRANSPORT": "stdio"
}
}
}
}
または、バイナリを使用する場合:
{
"mcpServers": {
"Portkey": {
"command": "/path/to/portkey-mcp-server-binary",
"env": {
"PORTKEY_API_KEY": "your-api-key",
"TRANSPORT": "stdio"
}
}
}
}
SSE モードを使用する場合
サーバーがローカルまたは別の場所ですでに実行されている場合:
{
"mcpServers": {
"Portkey": {
"url": "http://localhost:8080/sse"
}
}
}
Claude Desktop での使用
Claude Desktop は stdio モードのみをサポートしています。次の場所に claude_desktop_config.json ファイルを作成します。
- macOS:
~/Library/Application Support/Claude/ - Windows:
%APPDATA%\Claude\
Docker を使用する場合(Docker Hub イメージを使用):
{
"mcpServers": {
"Portkey": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "PORTKEY_API_KEY",
"-e", "TRANSPORT",
"ericmccaleb/portkey-mcp-server:latest"
],
"env": {
"PORTKEY_API_KEY": "your-api-key",
"TRANSPORT": "stdio"
}
}
}
}
または、バイナリを使用する場合:
{
"mcpServers": {
"Portkey": {
"command": "/path/to/portkey-mcp-server-binary",
"env": {
"PORTKEY_API_KEY": "your-api-key",
"TRANSPORT": "stdio"
}
}
}
}
手動での SSE リクエスト
SSE モードで実行している場合は、HTTP リクエストを使ってサーバーにアクセスできます。MCP プロトコルに従うには、次の手順が必要です。
# 1. First establish the SSE connection to get a session
curl http://localhost:8080/sse
# This will return something like:
# event: endpoint
# data: /message?sessionId=abc123
# 2. Initialize the session (using the URL from #1, above)
curl -X POST "http://localhost:8080/message?sessionId=abc123" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": "1",
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"clientInfo": {
"name": "curl-client",
"version": "1.0.0"
},
"capabilities": {}
}
}'
# 3. Now you can make tool calls
curl -X POST "http://localhost:8080/message?sessionId=abc123" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": "2",
"method": "call_tool",
"params": {
"name": "prompt_render",
"arguments": {
"prompt_id": "your_prompt_id",
"variables": {
"your_prompt_variable": "some_value"
}
}
}
}'
注:手順 1 の SSE 接続は、セッション中は開いたままにしておく必要があります。別のターミナルウィンドウで実行し、セッションが終わるまで閉じないでください。
コントリビューション
コントリビューションを歓迎します。始め方については、コントリビューションガイドラインをご覧ください。
ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳しくはライセンスファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。