McpToolServerConfigurationService 클래스
MCP 도구 서버 구성 관리를 위한 서비스를 제공합니다.
이 서비스는 여러 원본에서 MCP(모델 컨텍스트 프로토콜) 도구 서버의 검색 및 구성을 처리합니다.
- 개발: 로컬 ToolingManifest.json 파일
- 프로덕션: 원격 도구 게이트웨이 엔드포인트
생성자
McpToolServerConfigurationService()
매개 변수
| Name | Description |
|---|---|
|
logger
|
Default value: None
|
메서드
| __init__ |
MCP 도구 서버 구성 서비스를 초기화합니다. |
| __new__ | |
| list_tool_servers |
에이전트에 대해 구성된 MCP 서버 목록을 가져옵니다.
|
| send_chat_history |
실시간 위협 방지를 위해 MCP 플랫폼에 채팅 기록을 보냅니다. 메모 chat_history_messages 비어 있더라도 요청은 계속 MCP 플랫폼. 이렇게 하면 turn_context.activity.text의 사용자 메시지가 표시됩니다. 는 실시간 위협 방지를 위해 올바르게 등록됩니다. |
__init__
__new__
__new__(**kwargs)
list_tool_servers
에이전트에 대해 구성된 MCP 서버 목록을 가져옵니다.
authorization모든 auth_handler_nameturn_context 항목이 제공되면 검색 후 각 서버에 대해 대상별 OAuth 토큰을 획득합니다.
- V1 서버(필드 없음
audience)는 공유 ATG 토큰(하나의 교환)을 공유합니다. - V2 서버는 각각 고유한 대상 그룹 GUID로 범위가 지정된 토큰을 받습니다.
async list_tool_servers(agentic_app_id: str, auth_token: str | None = None, options: ToolOptions | None = None, authorization: Authorization | None = None, auth_handler_name: str | None = None, turn_context: TurnContext | None = None) -> List[MCPServerConfig]
매개 변수
| Name | Description |
|---|---|
|
agentic_app_id
필수
|
에이전트에 대한 에이전트 앱 ID입니다. |
|
auth_token
|
게이트웨이 검색에 사용되는 인증 토큰입니다. Default value: None
|
|
options
|
선택적 매개 변수를 포함하는 선택적 ToolOptions 인스턴스입니다. Default value: None
|
|
authorization
|
대상별 토큰 교환에 대한 선택적 권한 부여 컨텍스트입니다. Default value: None
|
|
auth_handler_name
|
와 함께 Default value: None
|
|
turn_context
|
와 함께 Default value: None
|
반품
| 형식 | Description |
|---|---|
|
인증 컨텍스트가 제공될 때 각각 |
예외
| 형식 | Description |
|---|---|
|
필요한 매개 변수가 잘못되었거나 비어 있는 경우 |
|
|
도구 게이트웨이와 통신하는 동안 오류가 발생하거나 대상별 토큰 교환이 실패합니다. |
send_chat_history
실시간 위협 방지를 위해 MCP 플랫폼에 채팅 기록을 보냅니다.
메모
chat_history_messages 비어 있더라도 요청은 계속
MCP 플랫폼. 이렇게 하면 turn_context.activity.text의 사용자 메시지가 표시됩니다.
는 실시간 위협 방지를 위해 올바르게 등록됩니다.
async send_chat_history(turn_context: TurnContext, chat_history_messages: List[ChatHistoryMessage], options: ToolOptions | None = None) -> OperationResult
매개 변수
| Name | Description |
|---|---|
|
turn_context
필수
|
대화 정보를 포함하는 에이전트 SDK의 TurnContext입니다. conversation.id, activity.id 및 activity.text가 있는 유효한 활동이 있어야 합니다. |
|
chat_history_messages
필수
|
채팅 기록을 나타내는 ChatHistoryMessage 개체 목록입니다. 비어 있을 수 있습니다. 빈 목록은 여전히 빈 채팅 기록이 있는 MCP 플랫폼에 요청을 보냅니다. |
|
options
|
선택적 매개 변수를 포함하는 선택적 ToolOptions 인스턴스입니다. Default value: None
|
반품
| 형식 | Description |
|---|---|
|
<xref:OperationResult>
|
성공 또는 실패를 나타내는 OperationResult입니다. 성공하면 OperationResult.success()를 반환합니다. 실패 시 오류 세부 정보가 포함된 OperationResult.failed()를 반환합니다. |
예외
| 형식 | Description |
|---|---|
|
turn_context None이면 chat_history_messages 없음, turn_context.activity가 None이거나 필요한 필드(conversation.id, activity.id, activity.text)가 없거나 비어 있습니다. |
예제
>>> from datetime import datetime, timezone
>>> from microsoft_agents_a365.tooling.models import ChatHistoryMessage
>>>
>>> history = [
... ChatHistoryMessage("msg-1", "user", "Hello", datetime.now(timezone.utc)),
... ChatHistoryMessage("msg-2", "assistant", "Hi!", datetime.now(timezone.utc))
... ]
>>>
>>> service = McpToolServerConfigurationService()
>>> result = await service.send_chat_history(turn_context, history)
>>> if result.succeeded:
... print("Chat history sent successfully")