Skip to content

Commit 9dc7be8

Browse files
committed
fix: improve error messages and fix formatting issues
1 parent 23be967 commit 9dc7be8

File tree

2 files changed

+19
-5
lines changed

2 files changed

+19
-5
lines changed

agents/langchainv1_keycloak.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
azure.identity.DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
5151
)
5252
base_model = ChatOpenAI(
53-
model=os.environ.get("AZURE_OPENAI_CHAT_DEPLOYMENT"),
53+
model=os.environ.get("AZURE_OPENAI_CHAT_DEPLOYMENT", "gpt-4o"),
5454
base_url=os.environ["AZURE_OPENAI_ENDPOINT"] + "/openai/v1/",
5555
api_key=token_provider,
5656
)
@@ -88,7 +88,12 @@ async def register_client_via_dcr() -> tuple[str, str]:
8888
)
8989

9090
if response.status_code not in (200, 201):
91-
raise Exception(f"DCR failed: {response.status_code} - {response.text}")
91+
raise Exception(
92+
f"DCR registration failed at {dcr_url}: "
93+
f"status={response.status_code}, "
94+
f"response={response.text}, "
95+
f"headers={dict(response.headers)}"
96+
)
9297

9398
data = response.json()
9499
client_id = data["client_id"]
@@ -116,7 +121,12 @@ async def get_keycloak_token(client_id: str, client_secret: str) -> str:
116121
)
117122

118123
if response.status_code != 200:
119-
raise Exception(f"Failed to get token: {response.status_code} - {response.text}")
124+
raise Exception(
125+
f"Token request failed at {token_url}: "
126+
f"status={response.status_code}, "
127+
f"response={response.text}, "
128+
f"headers={dict(response.headers)}"
129+
)
120130

121131
token_data = response.json()
122132
access_token = token_data["access_token"]
@@ -137,7 +147,7 @@ async def run_agent() -> None:
137147
logger.info(f"📡 Connecting to MCP server: {MCP_SERVER_URL}")
138148

139149
# Initialize MCP client with Bearer token auth
140-
client = MultiServerMCPClient(
150+
client = MultiServerMCPClient( # type: ignore[arg-type]
141151
{
142152
"expenses": {
143153
"url": MCP_SERVER_URL,

servers/keycloak_deployed_mcp.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@
1818
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(message)s")
1919
logger = logging.getLogger("ExpensesMCP")
2020

21+
2122
def require_env_var(name: str) -> str:
2223
value = os.getenv(name)
2324
if value is None or value.strip() == "":
2425
logger.error(f"Missing required environment variable: {name}")
2526
exit(1)
2627
return value
2728

29+
2830
# Cosmos DB configuration from environment variables
2931
AZURE_COSMOSDB_ACCOUNT = require_env_var("AZURE_COSMOSDB_ACCOUNT")
3032
AZURE_COSMOSDB_DATABASE = require_env_var("AZURE_COSMOSDB_DATABASE")
@@ -33,7 +35,9 @@ def require_env_var(name: str) -> str:
3335
AZURE_CLIENT_ID = os.getenv("AZURE_CLIENT_ID", "")
3436

3537
# Keycloak authentication configuration
36-
KEYCLOAK_REALM_URL = require_env_var("KEYCLOAK_REALM_URL") # e.g., https://routeconfig.<env>.azurecontainerapps.io/auth/realms/mcp
38+
KEYCLOAK_REALM_URL = require_env_var(
39+
"KEYCLOAK_REALM_URL"
40+
) # e.g., https://routeconfig.<env>.azurecontainerapps.io/auth/realms/mcp
3741
MCP_SERVER_BASE_URL = require_env_var("MCP_SERVER_BASE_URL") # e.g., https://routeconfig.<env>.azurecontainerapps.io
3842
MCP_SERVER_AUDIENCE = os.getenv("MCP_SERVER_AUDIENCE", "mcp-server")
3943

0 commit comments

Comments
 (0)