---
schema_version: "1"
id: 9ef6f9ac73fbbb0fb9a7833def635aeeb274a719df61867a748c7caccc9119f4
title: MCP Connector 1.1 - MCP サーバーへのセキュリティの適用
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mcp-connector/1.1/mcp-connector-config-topics.md
canonical_url: https://docs.mulesoft.com/jp/mcp-connector/1.1/mcp-connector-config-topics
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 3d874f92e3fcaa3499cb5f39b79aa65c99b36b029a8497acc6389b7c2ac9bd45
description: MuleSoft Documentation Site
release: "1.1"
latest: false
---
# MCP Connector 1.1 - MCP サーバーへのセキュリティの適用

MCP Connector により MCP クライアントのサーバー側認証が可能になります。これらの例では、ステートフルなサーバー送信イベント (SSE) 接続と ​**On New Session Listener**​ ソースを使用して、OAuth アクセストークンの検証を含むカスタムセキュリティロジックを実装します。

## [](#on-new-session-listener-を使用したサーバー側認証)On New Session Listener を使用したサーバー側認証

MCP 仕様ではセッション管理を強調し、SSE 接続では状態を維持します。​**On New Session Listener**​ ソースでは、サーバー側認証を実装するための重要なポイントが提供されます。この例は、このリスナーでトリガーされる基本フローを示しており、自動生成された ​`sessionId`​ と、接続しているクライアントにより送信された HTTP ヘッダーへのアクセス方法を示しています。これらはその後、カスタム認証ロジックで使用できます。

これは、​**On New Session Listener**​ ソースを使用するサンプルフローです。

```xml
<flow name="onNewSession">
   <mcp:on-new-session-listener config-ref="MCP_Server"/>

   <logger level="INFO" message="#['new session id: $(payload.sessionId)']"/>
   <logger level="INFO" message="#['http headers:  $(payload.additionalProperties)']"/>
</flow>
```

このフローは、新しいクライアントが MCP サーバーアプリケーションに接続するたびに実行されます。ペイロードには自動生成された ​`sessionId`​ と ​`additionalProperties`​ が含まれています。SSE 接続種別を使用する場合、これらは HTTP リクエストヘッダーにマッピングされます。

この時点で独自の認証ロジックを実装できます。たとえば、​`#[payload.additionalProperties.authorization]`​ 式で HTTP 認証ヘッダーを取得し、後で検証することができます。

### [](#oauth-アクセストークンの検証)OAuth アクセストークンの検証

必要に応じて、​[Mule OAuth 2.0 プロバイダー](https://docs.mulesoft.com/jp/api-manager/latest/mule-oauth-provider-landing-page)​を使用して、OAuth アクセストークンの実装と検証を行うことができます。

このサンプルフローでは、OAuth プロバイダーを使用してアクセストークンが検証され、トークンが無効な場合はセッションが拒否されます。

```xml
<flow name="onNewSession">
  <mcp:on-new-session-listener config-ref="MCP_Server">
<mcp:rejection rejectWithStatusCode="#[vars.rejectStatusCode]" rejectWithMessage="#[vars.rejectMessage]" />
  </mcp:on-new-session-listener>
  <oauth2-provider:validate-token scopes="#[['PUBLIC_READ']]" config-ref="external-oauth2-provider" accessToken="#[payload.additionalProperties.authorization]"/>
        <error-handler>
                <on-error-continue type="OAUTH2-PROVIDER:TOKEN_UNAUTHORIZED">
                    <set-variable variableName="rejectWithStatusCode" value="401" />
                    <set-variable variableName="rejectWithMessage" value="#[error.description]" />
                </on-error-continue>
            </error-handler>
</flow>
```

次のいずれかに該当する場合、新しいセッションは拒否されます。

- `rejectWithStatusCode`​ パラメーターに null 以外の値 (または null 以外の値に解決する式) が割り当てられている、または
- フローが失敗した場合、状況コード 500 が報告される

この例では、状況コードが ​`401 - UNAUTHORIZED`​ コードにマッピングされるように OAuth 検証エラーが処理されます。

## [](#クライアント側認証)クライアント側認証

クライアントでは、認証パラメーターは、HTTP Connector と ​[OAuth Module](https://docs.mulesoft.com/jp/oauth-module/latest/)​ (これもプロジェクトに追加されている場合) で定義されたすべての認証戦略を受け入れます。

**Call Tool**​ などの操作は追加のプロパティも受け入れます。SSE の場合、このプロパティはリクエストヘッダーにマッピングされます。これにより、API キーなどのカスタム認証ヘッダーを追加することができます。次に例を示します。

```xml
<mcp:call-tool config-ref="MCP_GMaps_Client" toolName="maps_geocode">
    <mcp:arguments ><![CDATA[#[output application/java
---
{
	address: payload.address
}]]]></mcp:arguments>
<mcp:additional-properties ><![CDATA[
#[output application/java
---
{
	"API_KEY" : p('api.key')
}]]]>
</mcp:additional-properties>
</mcp:call-tool>
```

## [](#次のステップ)次のステップ

コネクタを設定したら、​[例](https://docs.mulesoft.com/jp/mcp-connector/1.1/mcp-connector-examples)​を試すことができます。

## [](#関連情報)関連情報

- [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)