McpToolServerConfigurationService Κλάση

Παρέχει υπηρεσίες για τη διαχείριση ρύθμισης παραμέτρων διακομιστή εργαλείων MCP.

Αυτή η υπηρεσία χειρίζεται τον εντοπισμό και τη ρύθμιση παραμέτρων διακομιστών εργαλείων MCP (Πρωτόκολλο περιβάλλοντος μοντέλου) από πολλές προελεύσεις:

  • Ανάπτυξη: Αρχεία τοπικών ToolingManifest.json
  • Παραγωγή: Τελικά σημεία πύλης απομακρυσμένων εργαλείων

Κατασκευή

McpToolServerConfigurationService()

Παράμετροι

Όνομα Περιγραφή
logger
Default value: None

Μέθοδοι

__init__

Προετοιμάστε την Υπηρεσία ρύθμισης παραμέτρων διακομιστή εργαλείων MCP.

__new__
list_tool_servers

Λαμβάνει τη λίστα των διακομιστών MCP που έχουν ρυθμιστεί για τον παράγοντα.

auth_handler_nameΌταν authorizationπαρέχονται , και turn_context παρέχονται όλα, τα διακριτικά OAuth ανά κοινό αποκτούνται για κάθε διακομιστή μετά τον εντοπισμό:

  • Οι διακομιστές V1 (χωρίς audience πεδίο) κάνουν κοινή χρήση του κοινόχρηστου διακριτικού ATG (ένα exchange).
  • Κάθε διακομιστής V2 λαμβάνει ένα διακριτικό το οποίο περικλείεται στο δικό του GUID ακροατηρίου.
send_chat_history

Στέλνει ιστορικό συνομιλίας στην πλατφόρμα MCP για προστασία από απειλές σε πραγματικό χρόνο.

Σημείωμα

Ακόμη και αν chat_history_messages είναι κενή, η αίτηση θα

την πλατφόρμα MCP. Αυτό εξασφαλίζει το μήνυμα χρήστη από το turn_context.activity.text

έχει καταχωρηθεί σωστά για προστασία από απειλές σε πραγματικό χρόνο.

__init__

Προετοιμάστε την Υπηρεσία ρύθμισης παραμέτρων διακομιστή εργαλείων MCP.

__init__(logger: Logger | None = None)

Παράμετροι

Όνομα Περιγραφή
logger

Παρουσία αρχείου καταγραφής για λειτουργίες καταγραφής. Εάν δεν υπάρχει, δημιουργεί ένα νέο πρόγραμμα καταγραφής.

Default value: None

__new__

__new__(**kwargs)

list_tool_servers

Λαμβάνει τη λίστα των διακομιστών MCP που έχουν ρυθμιστεί για τον παράγοντα.

auth_handler_nameΌταν authorizationπαρέχονται , και turn_context παρέχονται όλα, τα διακριτικά OAuth ανά κοινό αποκτούνται για κάθε διακομιστή μετά τον εντοπισμό:

  • Οι διακομιστές V1 (χωρίς audience πεδίο) κάνουν κοινή χρήση του κοινόχρηστου διακριτικού ATG (ένα exchange).
  • Κάθε διακομιστής 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]

Παράμετροι

Όνομα Περιγραφή
agentic_app_id
Απαιτείται
str

Αναγνωριστικό εφαρμογής agentic για τον πράκτορα.

auth_token
str | None

Διακριτικό ελέγχου ταυτότητας που χρησιμοποιείται για τον εντοπισμό πύλης.

Default value: None
options

Προαιρετική παρουσία ToolOptions που περιέχει προαιρετικές παραμέτρους.

Default value: None
authorization

Προαιρετικό περιβάλλον εξουσιοδότησης για ανταλλαγή διακριτικών ανά κοινό.

Default value: None
auth_handler_name
str | None

Προαιρετικό όνομα χειρισμού ελέγχου ταυτότητας που χρησιμοποιείται με authorizationτο .

Default value: None
turn_context

Προαιρετικό TurnContext που χρησιμοποιείται με authorizationτο .

Default value: None

Επιστροφές

Τύπος Περιγραφή

Επιστρέφει τη λίστα των διακομιστών MCP που έχουν ρυθμιστεί, καθένας με μια Authorization κεφαλίδα προσαρτημένη όταν παρέχεται περιβάλλον ελέγχου ταυτότητας.

Εξαιρέσεις

Τύπος Περιγραφή

Εάν οι απαιτούμενες παράμετροι δεν είναι έγκυρες ή κενές.

Εάν υπάρχει σφάλμα κατά την επικοινωνία με την πύλη εργαλείων ή αποτυγχάνει η ανταλλαγή διακριτικών ανά κοινό.

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

Παράμετροι

Όνομα Περιγραφή
turn_context
Απαιτείται

Ορίστε τη στήλη TurnContext από το SDK Αντιπροσώπων που περιέχει πληροφορίες συνομιλίας. Πρέπει να έχετε μια έγκυρη δραστηριότητα με τα conversation.id, activity.id και activity.text.

chat_history_messages
Απαιτείται

Λίστα αντικειμένων ChatHistoryMessage που αντιπροσωπεύουν το ιστορικό συνομιλίας. Μπορεί να είναι κενή - μια κενή λίστα θα συνεχίσει να στέλνει μια αίτηση στην πλατφόρμα MCP με κενό ιστορικό συνομιλίας.

options

Προαιρετική παρουσία ToolOptions που περιέχει προαιρετικές παραμέτρους.

Default value: None

Επιστροφές

Τύπος Περιγραφή
<xref:OperationResult>

Ένα OperationResult που υποδεικνύει επιτυχία ή αποτυχία. Με επιτυχία, επιστρέφει OperationResult.success(). Κατά την αποτυχία, επιστρέφει το OperationResult.failed() με λεπτομέρειες σφάλματος.

Εξαιρέσεις

Τύπος Περιγραφή

Εάν το turn_context είναι Κανένα, 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")