This document describes the architecture and design of the microsoft-agents-a365-tooling-extensions-openai package.
This extension adapts MCP tool server configurations to OpenAI's function calling interface, enabling OpenAI-based agents to use MCP tools.
The main service for registering MCP tools with OpenAI function calling.
from microsoft_agents_a365.tooling.extensions.openai import McpToolRegistrationService
service = McpToolRegistrationService()
# Get MCP tools as OpenAI function definitions
functions = await service.get_function_definitions(
agent_id=agent_id,
auth_token=auth_token,
)McpToolServerConfigurationService
│
▼
List MCPServerConfig objects
│
▼
McpToolRegistrationService.get_function_definitions()
│
├── Discover available tools from MCP servers
├── Convert to OpenAI function schema format
└── Return function definitions
│
▼
OpenAI API with function calling
microsoft_agents_a365/tooling/extensions/openai/
├── __init__.py
└── mcp_tool_registration_service.py
openai- OpenAI SDKmicrosoft-agents-a365-tooling- Core tooling servicemicrosoft-agents-a365-runtime- Utility functions