Skip Navigation
Show nav
Heroku Dev Center Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
Heroku Dev Center Dev Center
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log in or Sign up
View categories

Categories

  • Heroku のアーキテクチャ
    • コンピューティング (dyno)
      • dyno の管理
      • dyno の概念
      • dyno の動作
      • dyno の参照資料
      • dyno のトラブルシューティング
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
    • buildpack
  • 開発者ツール
    • AI の操作
    • コマンドライン
    • Heroku の VS Code 拡張機能
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション (Heroku Flow)
    • 継続的統合
  • 言語サポート
    • Node.js
      • Node.js アプリのトラブルシューティング
      • Node.js の操作
      • Heroku での Node.js の動作
    • Ruby
      • Rails のサポート
        • Rails の操作
      • Bundler の使用
      • Ruby の操作
      • Heroku での Ruby の動作
      • Ruby アプリのトラブルシューティング
    • Python
      • Python の操作
      • Python でのバックグラウンドジョブ
      • Heroku での Python の動作
      • Django の使用
    • Java
      • Heroku での Java の動作
      • Java の操作
      • Maven の使用
      • Spring Boot の使用
      • Java アプリのトラブルシューティング
    • PHP
      • Heroku での PHP の動作
      • PHP の操作
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • .NET の操作
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Heroku Postgres への移行
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Inference の基礎知識
    • Inference API
    • Heroku Inference のクイックスタートガイド
    • AI モデル
    • ツールの使用
    • AI 連携
    • ベクトルデータベース
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
    • Heroku AppLink
      • Heroku AppLink リファレンス
      • Heroku AppLink の使用
      • Heroku AppLink スターターガイド
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
    • その他の Salesforce 統合
  • AI
  • ツールの使用
  • Heroku での MCP の使用

Heroku での MCP の使用

日本語 — Switch to English

Table of Contents [expand]

  • カスタム MCP サーバーのデプロイと登録
  • 登録済みの MCP サーバーを一覧表示する
  • /v1/agents/heroku でツールを自動実行
  • MCP サーバーを管理する
  • 登録済みのツールを外部クライアントで使用する
  • その他の資料

この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。

最終更新日 2025年08月20日(水)

モデルコンテキストプロトコル​ (MCP) は、開発者が大規模言語モデル (LLM) をツール、サービス、データソースに接続するのに役立つオープンスタンダードです。Heroku は、ツールの登録、実行、オーケストレーションを自動的に処理する Managed Inference and Agents アドオン​を通じて、MCP サーバーのネイティブサポートを提供します。

このアドオンを使用すると、Managed Inference and Agents API​ を使用して、登録済みの MCP ツールを表示​し、登録済みの MCP ツールを自動的に実行​できます。このアドオンを使用して、MCP ツールキットをビルドすることもできます。MCP ツールキットは Heroku がホストする複数の MCP サーバーのコレクションで、統合された URL を通じてモデルからアクセスすることが可能です。ツールキットを利用することで、AI ツールを安全かつ一元的に管理および実行できます。

Managed Inference and Agents API を使用して MCP ツールキットを作成するには、Heroku のアドオンチャットモデルにカスタム MCP サーバーをデプロイ​してから登録​します。

カスタム MCP サーバーのデプロイと登録

Heroku にカスタム MCP サーバーをデプロイする

MCPサーバーを Heroku にデプロイするには、MCP プロセスを定義する Procfile​ を作成し、選択した言語に必要なファイルを追加します (Python の場合は requirements.txt​、Ruby の場合は Gemfile​ など)。この例については、オープンソースの MCP テンプレート​を参照してください。

標準的な MCP サーバーを Heroku にデプロイする場合、LangChain などのフレームワークと /v1/chat/completions​ エンドポイントを組み合わせて、サーバーに対して直接ツール呼び出しを行うことができます。ただし、このアプローチでは以下が必要です。

  • モデルからのツール呼び出しを処理して実行し、構造化された応答を返す制御ループをビルドして維持する
  • 複数の異なる MCP サーバーとツールセットを管理する
  • マルチテナントの長期実行 SSE またはストリーミング可能な HTTP MCP サーバーを備える (これは安全性が低く、コストが高くなる可能性がある)

代わりに、Heroku のManaged Inference and Agents アドオン​を使用できます。アドオンはツールの登録、実行、オーケストレーションを自動的に処理します。また、Managed Inference and Agents API​ へのアクセスが許可され、MCP ツールキットをビルドできるようになります。Managed Inference and Agents アドオン機能を使用するには、デプロイされたカスタム MCP サーバーを Heroku に登録​します。

Heroku にカスタム MCP サーバーを登録する

サーバーにアクセス​し、Managed Inference and Agents API​ を介してカスタムツールの自動実行を有効にする​には、デプロイされた MCP サーバーを Heroku に登録する必要があります。登録すると MCP ツールキットもビルドされます。これにより、モデルは単一の URL を通じて、そのモデルリソースに登録された Heroku がホストしているすべての MCP サーバーにアクセスできるようになります。

デプロイされた MCP アプリを Heroku に登録するには、以下の 2 つの手順があります。

  1. MCP アプリの Procfile に 1 行追加する​。
  2. サーバーにアクセスするアドオンモデルに MCP アプリをアタッチする​。

Heroku はオープンソースの MCP サンプルリポジトリを提供しており、これを変更して Heroku にデプロイできます。

目的 リポジトリ
Ruby コード実行 mcp-code-exec-ruby​
Python コード実行 mcp-code-exec-python​
Go コード実行 mcp-code-exec-go​
Node コード実行 mcp-code-exec-node​
ドキュメント解析 (HTML と PDF –> Markdown) mcp-doc-reader​

これらの例は標準の MCP アプリです。これらには必須ファイル (Procfile など) が含まれており、Procfile には MCP サーバーを宣言するための追加行​があります。サンプルリポジトリをそのままデプロイするには、README​ で Deploy to Heroku (Heroku にデプロイ) ボタンをクリックします。

これらのツールは heroku_tools​ としてネイティブでも利用でき、MCP をデプロイする必要はありません。デプロイには dyno ランタイム​用の ttl_seconds​ に上限がないなどの追加の利点があります。サンプルリポジトリをフォークすると、独自のカスタムツールの開発とデプロイに役立ちます。

注: 現在、Private Space​ で実行されている MCP サーバーは、/v1/agents/heroku​ で登録したり使用したりすることができません。

Procfile に MCP 行を追加する

登録するには、MCP アプリの Procfile に MCP サーバーを宣言する行を追加します。Procfile STDIO​ サーバー名は以下のようにする必要があります。

  • "mcp"​ から始まる
  • モデルリソースに登録されているすべてのアプリ間で一意である

たとえば、MCP サーバーを宣言する Procfile については、Heroku のオープンソース MCP リポジトリ​ (Python Procfile など))​ を参照してください。

アドオンに MCP サーバーをアタッチする

デプロイされた MCP アプリを Heroku Managed Inference and Agents チャットモデル​にアタッチして、モデルに MCP サーバーのツールへのアクセスを許可します。

新しいモデルリソースを MCP アプリにアタッチ​するには、以下を実行します。

heroku ai:models:create MODEL_NAME -a $APP_NAME --as INFERENCE

既存のモデルリソースを MCP アプリにアタッチ​するには、以下を実行します。

heroku addons:attach MODEL_RESOURCE -a $APP_NAME --as INFERENCE

すでに推論リクエストを実行しているアプリがある場合は、MCP サーバーをアプリの推論アドオンにアタッチして、MCP ツールへのアクセスを許可できます。 アタッチした後、MCPサーバーは自動的に登録され、ツールが同期されます。その後、モデルを使用して /v1/agents/heroku​ に対してリクエストを送信すると、安全で分離された one-off dyno でツールを自動的に実行​できます。

登録済みの MCP サーバーを一覧表示する

Managed Inference and Agents API にアクセスするには、モデルリソースの INFERENCE_KEY​ と INFERENCE_URL​ を取得します。

export INFERENCE_KEY=$(heroku config:get INFERENCE_KEY -a $APP_NAME)
export INFERENCE_URL=$(heroku config:get INFERENCE_URL -a $APP_NAME)

/v1/mcp/servers​ エンドポイントを使用してモデルに登録されているすべての MCP サーバーを一覧表示します。

curl "$INFERENCE_URL/v1/mcp/servers" \
  -H "Authorization: Bearer $INFERENCE_KEY" \
  -H "Content-Type: application/json" | jq .

エンドポイントは各サーバーに関するメタデータを返します。これには、プロセスタイプ、名前空間、すべての登録済みツールとそれらのスキーマと注釈が含まれます。応答フォーマットの詳細は、/v1/mcp/servers​ API リファレンス​を参照してください。

/v1/agents/heroku でツールを自動実行

MCP サーバーを登録​すると、/v1/agents/heroku​ エンドポイントを呼び出すときに、そのツールを tools​ パラメータに含めることができるようになります。モデルにアクセスを許可するツールごとに、"type": "mcp"​ とツールの名前を記述したツールオブジェクト​を含めます。ツールは生成中にモデルによって呼び出された場合にのみ実行されます。

mcp ツールを使用した /v1/agents/heroku リクエストの例

curl "$INFERENCE_URL/v1/agents/heroku" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $INFERENCE_KEY" \
  -H "X-Forwarded-Proto: https" \
  -d @- <<EOF
{
  "model": "claude-4-sonnet",
  "messages": [
    {
      "role": "user",
      "content": "Use the code exec tool to take the sha256 of the following string: 'Heroku Rocks'."
    }
  ],
  "tools": [
    {
      "type": "mcp",
      "name": "code_exec_python"
    }
  ]
}
EOF

登録後はメタデータが自動的に含まれるため、/v1/agents/heroku​ リクエストにツールパラメータ、スキーマ、説明を含める必要はありません。

詳細は、/v1/agents/heroku​ ドキュメントを参照してください。

/v1/agents/heroku mcp ツール呼び出し応答の例

event:message
data:{"id":"chatcmpl-184410e4ae2b7bb5180ae","object":"chat.completion","created":1748541138,"model":"claude-4-sonnet","system_fingerprint":"heroku-inf-1sefyj8","choices":[{"index":0,"message":{"role":"assistant","content":"I'll use the Python code execution tool to calculate the SHA256 hash of the string 'Heroku Rocks'.","refusal":null,"tool_calls":[{"id":"tooluse_GDSgVgflTByFOnL_ZbCrhQ","type":"function","function":{"name":"mcp-python/code_exec_python","arguments":"{\"code\":\"import hashlib\\n\\n# String to hash\\ntext = 'Heroku Rocks'\\n\\n# Calculate SHA256 hash\\nsha256_hash = hashlib.sha256(text.encode('utf-8')).hexdigest()\\n\\nprint(f\\\"String: {text}\\\")\\nprint(f\\\"SHA256: {sha256_hash}\\\")\"}"}}]},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":629,"completion_tokens":163,"total_tokens":792}}

event:message
data:{"id":"chatcmpl-184410e4ae2b7bb5180ae","object":"tool.completion","created":1748541141,"system_fingerprint":"heroku-inf-1sefyj8","choices":[{"index":0,"message":{"role":"tool","content":"Tool 'mcp-python/code_exec_python' returned result: {\"content\":[{\"type\":\"text\",\"text\":\"{\\n  \\\"returncode\\\": 0,\\n  \\\"stdout\\\": \\\"String: Heroku Rocks\\\\nSHA256: 7ebc92bcf8f51f0b623a18f0a357639410a409340043c7a670bb180acd138e6b\\\",\\n  \\\"stderr\\\": \\\"\\\"\\n}\"}],\"isError\":false}","refusal":null,"tool_call_id":"tooluse_GDSgVgflTByFOnL_ZbCrhQ","name":"mcp-python/code_exec_python"},"finish_reason":""}],"usage":{}}

event:message
data:{"id":"chatcmpl-184410e4ae2b7bb5180ae","object":"chat.completion","created":1748541146,"model":"claude-4-sonnet","system_fingerprint":"heroku-inf-1sefyj8","choices":[{"index":0,"message":{"role":"assistant","content":"The SHA256 hash of the string 'Heroku Rocks' is:\n\n**7ebc92bcf8f51f0b623a18f0a357639410a409340043c7a670bb180acd138e6b**","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":947,"completion_tokens":62,"total_tokens":1009}}

event:done
data:[DONE]

MCP サーバーを管理する

登録済みの MCP ツールは、CLI または Heroku Dashboard​ で表示および管理できます。

以下の CLI コマンド​を実行します。

heroku addons:open INFERENCE -a $APP_NAME

または、ダッシュボード​で次の手順を実行します。

  1. アプリをクリックして開きます。
  2. Resources (リソース) タブを選択します。
  3. Add-on Services (アドオンサービス) の下にある Managed Inference and Agents アドオンを選択します。

登録済みのツールを外部クライアントで使用する

Cursor​ などの外部 AI アプリケーションは、構成ファイルを介して MCP サーバーと統合する機能を備えています。デプロイおよび登録済みの Heroku mcp​ ツールに外部 AI アプリケーションを統合するには、次の手順を実行します。

  1. この CLI コマンド​を実行して、Heroku Dashboard​ でアドオンを開きます。

    heroku addons:open INFERENCE -a $APP_NAME
    

    Alt text

  2. Toolkit URL (ツールキット URL) ($INFERENCE_URL/mcp/sse​) と Toolkit Token (ツールキット Token) ($INFERENCE_KEY​) をコピーします。

  3. クライアントの構成ファイルにToolkit URL (ツールキット URL) とToolkit Token (ツールキット Token) を追加します。

たとえば、Cursor​ では、.cursor/mcp.json​ は以下のようになります。

{
  "mcpServers": {
    "myCustomTools": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "<YOUR-TOOLKIT-URL>",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer <YOUR-TOOLKIT-TOKEN>"
      }
    }
  }
}

MCP Inspector で登録済みのツールをテストする

デプロイした MCP サーバーを MCP Inspector​ を使用してテストできます。

  1. 次のコマンドを実行します。

    npx @modelcontextprotocol/inspector
    
  2. ローカルにホストされている UI を開きます (通常は http://127.0.0.1:6274​)。

  3. 左側のペインのTransport Type (トランスポート種別) で SSE​ を選択します。

  4. URLで $INFERENCE_URL/mcp/sse​ (https://us.inference.heroku.com/mcp/sse​ など) を追加します。

  5. Authentication (認証) を選択し、モデルアドオンの $INFERENCE_KEY​ を Bearer Token​ として追加します。

  6. Connect (接続) をクリックします。

これで MCP Inspector でツールを一覧表示し、サンプルリクエストを作成できるようになりました。

代替テキスト

MCP Inspector インターフェースは SSE を使用しますが、基盤となるツール呼び出しの実行は、安全で分離された one-off dyno (STDIO モード) で実行されます。

その他の資料

  • Managed Inference and Agents API /v1/agents/heroku
  • Managed Inference and Agents API /v1/mcp/servers

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2026 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices