Azure OpenAI
MCP-сервер и клиент с Azure OpenAI и OpenAI
Минимальная реализация серверного/клиентского приложения с использованием протокола контекста модели (MCP) и Azure OpenAI.
MCP-сервер построен на базе
FastMCP.Playwright— это фреймворк с открытым исходным кодом от Microsoft для сквозного тестирования современных веб-приложений.Ответ MCP о доступных инструментах будет преобразован в формат вызова функций OpenAI.
Мост, преобразующий ответ MCP-сервера в формат вызова функций OpenAI, настраивает реализацию
MCP-LLM Bridge.Для обеспечения стабильного соединения объект сервера передается непосредственно в мост.
client_bridgeподдерживает как внутрипроцессные, так и внешние (stdio) подключения к MCP-серверу, что позволяет повторно использовать их разными клиентами (например, Claude Code, VS Code, пользовательские скрипты).
Related MCP server: MCP Server Example
Протокол контекста модели (MCP)
Протокол контекста модели (MCP) — это открытый протокол, который обеспечивает безопасное и контролируемое взаимодействие между приложениями ИИ и локальными или удаленными ресурсами.
Официальные репозитории
Ресурсы сообщества
Связанные проекты
FastMCP: быстрый и «питонический» способ создания MCP-серверов.
Chat MCP: MCP-клиент
MCP-LLM Bridge: реализация MCP, обеспечивающая связь между MCP-серверами и LLM, совместимыми с OpenAI
MCP Playwright
Конфигурация
В период разработки в декабре 2024 года проект на Python следует инициализировать с помощью 'uv'. Другие библиотеки управления зависимостями, такие как 'pip' и 'poetry', пока не полностью поддерживаются CLI MCP.
Переименуйте
.env.templateв.env, затем заполните значения в.envдля Azure OpenAI:AZURE_OPEN_AI_ENDPOINT= AZURE_OPEN_AI_API_KEY= AZURE_OPEN_AI_DEPLOYMENT_MODEL= AZURE_OPEN_AI_API_VERSION=Установите
uvдля управления библиотеками Pythonpip install uv uv syncВыполните
python chatgui.pyНа демонстрационном экране показано, как клиент запускает браузер для перехода по URL-адресу.
Использование с внешними клиентами
MCP-сервер может использоваться внешними клиентами (Claude Desktop, VS Code, Claude Code и т. д.) через конфигурацию mcp.json.
Claude Desktop / Claude Code
Добавьте в ваш claude_desktop_config.json (Claude Desktop) или .claude/mcp.json (Claude Code):
{
"mcpServers": {
"browser-navigator": {
"command": "uv",
"args": ["run", "fastmcp", "run", "./server/browser_navigator_server.py:app"],
"cwd": "/path/to/mcp-aoai-web-browsing",
"env": {
"AZURE_OPEN_AI_ENDPOINT": "...",
"AZURE_OPEN_AI_API_KEY": "...",
"AZURE_OPEN_AI_DEPLOYMENT_MODEL": "...",
"AZURE_OPEN_AI_API_VERSION": "..."
}
}
}
}VS Code
Добавьте в .vscode/mcp.json в вашей рабочей области:
{
"servers": {
"browser-navigator": {
"command": "uv",
"args": ["run", "fastmcp", "run", "./server/browser_navigator_server.py:app"],
"cwd": "${workspaceFolder}",
"env": {
"AZURE_OPEN_AI_ENDPOINT": "...",
"AZURE_OPEN_AI_API_KEY": "...",
"AZURE_OPEN_AI_DEPLOYMENT_MODEL": "...",
"AZURE_OPEN_AI_API_VERSION": "..."
}
}
}
}Программное использование моста (stdio)
client_bridge также поддерживает подключение к внешним MCP-серверам через stdio из Python:
from client_bridge import BridgeConfig, MCPServerConfig, BridgeManager
from client_bridge.llm_config import get_default_llm_config
config = BridgeConfig(
server_config=MCPServerConfig(
command="uv",
args=["run", "fastmcp", "run", "./server/browser_navigator_server.py:app"],
),
llm_config=get_default_llm_config(),
system_prompt="You are a helpful assistant.",
)
async with BridgeManager(config) as bridge:
response = await bridge.process_message("Navigate to https://example.com")Использование стандартного OpenAI (не Azure)
from client_bridge.llm_config import get_openai_llm_config
config = BridgeConfig(
mcp=server,
llm_config=get_openai_llm_config(),
)Установите переменные окружения:
OPENAI_API_KEY=sk-...
OPENAI_MODEL=gpt-...Прямое выполнение инструментов
Для клиентов, которые управляют собственным циклом LLM, мост предоставляет метаданные инструментов и возможность прямого выполнения:
async with BridgeManager(config) as bridge:
tools = bridge.get_tools() # OpenAI function calling format
result = await bridge.execute_tool("playwright_navigate", {"url": "https://example.com"})Относительно 'stdio'
stdio — это транспортный уровень (поток необработанных данных), в то время как JSON-RPC — это прикладной протокол (структурированная коммуникация). Они различны, но часто используются как взаимозаменяемые, например, «JSON-RPC поверх stdio» в протоколах.
Описание инструмента
@self.mcp.tool()
async def playwright_navigate(url: str, timeout=30000, wait_until="load"):
"""Navigate to a URL.""" -> This comment provides a description, which may be used in a mechanism similar to function calling in LLMs.
# Output
Tool(name='playwright_navigate', description='Navigate to a URL.', inputSchema={'properties': {'url': {'title': 'Url', 'type': 'string'}, 'timeout': {'default': 30000, 'title': 'timeout', 'type': 'string'}Совет: uv
uv run: Run a script.
uv venv: Create a new virtual environment. By default, '.venv'.
uv add: Add a dependency to a script
uv remove: Remove a dependency from a script
uv sync: Sync (Install) the project's dependencies with the environment.Совет
команда taskkill для python.exe
taskkill /IM python.exe /FVisual Code: Отладчик Python: Отладка с помощью launch.json запустит отладчик, используя конфигурацию из .vscode/launch.json.
This server cannot be deployed
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
A Model Context Protocol server for Wix AI tools
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Related MCP Servers
- AlicenseAqualityDmaintenanceA simple MCP server for interacting with OpenAI assistants. This server allows other tools (like Claude Desktop) to create and interact with OpenAI assistants through the Model Context Protocol.939MIT
- AlicenseBqualityDmaintenanceAn educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server for integrating with various LLM clients like Claude Desktop.1164MIT
- AlicenseBqualityDmaintenanceAn educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server integrating with various LLM clients.2MIT
- FlicenseNot gradedqualityDmaintenanceA basic Model Context Protocol server implementation that demonstrates core functionality including tools and resources for AI chat applications.-