Skip to content

Commit f211819

Browse files
committed
resolve trailing slash issue with cloudrun
1 parent 52b46a7 commit f211819

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

eval_protocol/mcp/mcpgym.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from mcp.server.fastmcp import Context, FastMCP
2727
from starlette.requests import Request
2828
from starlette.responses import JSONResponse
29+
from uvicorn.middleware.proxy_headers import ProxyHeadersMiddleware
2930

3031
from .adapter import EnvironmentAdapter
3132

@@ -562,11 +563,18 @@ def run(self, transport: str = "streamable-http", **kwargs):
562563
async def run_with_high_concurrency():
563564
starlette_app = self.mcp.streamable_http_app()
564565

566+
if not kwargs.get("redirect_slashes", True) and hasattr(starlette_app, "router"):
567+
starlette_app.router.redirect_slashes = False
568+
569+
starlette_app.add_middleware(ProxyHeadersMiddleware, trusted_hosts="*")
570+
565571
config = uvicorn.Config(
566572
starlette_app,
567573
host=self.mcp.settings.host,
568574
port=self.mcp.settings.port,
569575
log_level=self.mcp.settings.log_level.lower(),
576+
proxy_headers=True,
577+
forwarded_allow_ips="*",
570578
# HIGH CONCURRENCY SETTINGS
571579
limit_concurrency=200, # Increase for HTTP endpoints + MCP
572580
limit_max_requests=100000, # Higher request limit

eval_protocol/mcp_env.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,17 +104,17 @@ def make(
104104
if evaluation_rows:
105105
for i, row in enumerate(evaluation_rows):
106106
dataset_info = row.input_metadata.dataset_info if row.input_metadata else {}
107-
107+
108108
system_message = row.get_system_message()
109109
system_prompt = system_message.content or ""
110-
110+
111111
dataset_entry = {
112112
"id": row.input_metadata.row_id if row.input_metadata and row.input_metadata.row_id else f"task_{i}",
113113
"system_prompt": system_prompt,
114114
"user_prompt_template": dataset_info.get("user_prompt_template", ""),
115115
"environment_context": dataset_info.get("environment_context", {}),
116116
"user_simulation": dataset_info.get("user_simulation", {}),
117-
"evaluation_criteria": dataset_info.get("evaluation_criteria", {})
117+
"evaluation_criteria": dataset_info.get("evaluation_criteria", {}),
118118
}
119119
internal_dataset.append(dataset_entry)
120120
elif dataset:

0 commit comments

Comments
 (0)