Azure OpenAI
MCP Server & Client mit Azure OpenAI & OpenAI
Eine minimale Server/Client-Anwendung, die das Model Context Protocol (MCP) und Azure OpenAI nutzt.
Der MCP-Server wurde mit
FastMCPerstellt.Playwrightist ein Open-Source-Framework von Microsoft für End-to-End-Tests Ihrer modernen Webanwendungen.Die MCP-Antwort zu den Tools wird in das OpenAI-Funktionsaufruf-Format konvertiert.
Die Brücke, die die MCP-Server-Antwort in das OpenAI-Funktionsaufruf-Format umwandelt, passt die
MCP-LLM Bridge-Implementierung an.Um eine stabile Verbindung zu gewährleisten, wird das Server-Objekt direkt an die Brücke übergeben.
Die
client_bridgeunterstützt sowohl In-Process- als auch externe (stdio) MCP-Server-Verbindungen, was die Wiederverwendung durch verschiedene Clients ermöglicht (z. B. Claude Code, VS Code, benutzerdefinierte Skripte).
Related MCP server: MCP Server Example
Model Context Protocol (MCP)
Model Context Protocol (MCP) MCP (Model Context Protocol) ist ein offenes Protokoll, das sichere, kontrollierte Interaktionen zwischen KI-Anwendungen und lokalen oder entfernten Ressourcen ermöglicht.
Offizielle Repositories
Community-Ressourcen
Verwandte Projekte
FastMCP: Der schnelle, Python-orientierte Weg, um MCP-Server zu erstellen.
Chat MCP: MCP-Client
MCP-LLM Bridge: MCP-Implementierung, die die Kommunikation zwischen MCP-Servern und OpenAI-kompatiblen LLMs ermöglicht
MCP Playwright
Konfiguration
Während der Entwicklungsphase im Dezember 2024 sollte das Python-Projekt mit 'uv' initiiert werden. Andere Abhängigkeitsmanagement-Bibliotheken wie 'pip' und 'poetry' werden vom MCP CLI noch nicht vollständig unterstützt.
Benennen Sie
.env.templatein.envum und füllen Sie dann die Werte in.envfür Azure OpenAI aus:AZURE_OPEN_AI_ENDPOINT= AZURE_OPEN_AI_API_KEY= AZURE_OPEN_AI_DEPLOYMENT_MODEL= AZURE_OPEN_AI_API_VERSION=Installieren Sie
uvfür das Python-Bibliotheksmanagementpip install uv uv syncFühren Sie
python chatgui.pyausDer Beispielbildschirm zeigt, wie der Client einen Browser startet, um zur URL zu navigieren.
Verwendung mit externen Clients
Der MCP-Server kann von externen Clients (Claude Desktop, VS Code, Claude Code usw.) über die mcp.json-Konfiguration verwendet werden.
Claude Desktop / Claude Code
Fügen Sie dies zu Ihrer claude_desktop_config.json (Claude Desktop) oder .claude/mcp.json (Claude Code) hinzu:
{
"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
Fügen Sie dies zu .vscode/mcp.json in Ihrem Arbeitsbereich hinzu:
{
"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": "..."
}
}
}
}Programmgesteuerte Verwendung der Brücke (stdio)
Die client_bridge unterstützt auch die Verbindung zu externen MCP-Servern über stdio von Python aus:
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")Verwendung von Standard-OpenAI (nicht Azure)
from client_bridge.llm_config import get_openai_llm_config
config = BridgeConfig(
mcp=server,
llm_config=get_openai_llm_config(),
)Setzen Sie die Umgebungsvariablen:
OPENAI_API_KEY=sk-...
OPENAI_MODEL=gpt-...Direkte Tool-Ausführung
Für Clients, die ihre eigene LLM-Schleife verwalten, stellt die Brücke Tool-Metadaten und direkte Ausführung bereit:
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"})Bezüglich 'stdio'
stdio ist eine Transportschicht (Rohdatenfluss), während JSON-RPC ein Anwendungsprotokoll (strukturierte Kommunikation) ist. Sie sind unterschiedlich, werden aber oft synonym verwendet, z. B. "JSON-RPC über stdio" in Protokollen.
Tool-Beschreibung
@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'}Tipp: 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.Tipp
taskkill-Befehl für python.exe
taskkill /IM python.exe /FVisual Code: Python Debugger: Das Debuggen mit launch.json startet den Debugger unter Verwendung der Konfiguration aus .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.-