Introduce a function to create a standard AsyncClient with options (#655)

This commit is contained in:
ihrpr
2025-05-08 20:53:21 +01:00
committed by GitHub
parent 72003d9cc0
commit ed25167fa5
6 changed files with 95 additions and 8 deletions

View File

@@ -6,7 +6,6 @@ import time
from typing import Any
import click
import httpx
from pydantic import AnyHttpUrl
from pydantic_settings import BaseSettings, SettingsConfigDict
from starlette.exceptions import HTTPException
@@ -24,6 +23,7 @@ from mcp.server.auth.provider import (
)
from mcp.server.auth.settings import AuthSettings, ClientRegistrationOptions
from mcp.server.fastmcp.server import FastMCP
from mcp.shared._httpx_utils import create_mcp_http_client
from mcp.shared.auth import OAuthClientInformationFull, OAuthToken
logger = logging.getLogger(__name__)
@@ -123,7 +123,7 @@ class SimpleGitHubOAuthProvider(OAuthAuthorizationServerProvider):
client_id = state_data["client_id"]
# Exchange code for token with GitHub
async with httpx.AsyncClient() as client:
async with create_mcp_http_client() as client:
response = await client.post(
self.settings.github_token_url,
data={
@@ -325,7 +325,7 @@ def create_simple_mcp_server(settings: ServerSettings) -> FastMCP:
"""
github_token = get_github_token()
async with httpx.AsyncClient() as client:
async with create_mcp_http_client() as client:
response = await client.get(
"https://api.github.com/user",
headers={