Skip to content

Commit 299fe27

Browse files
pcarletonclaude
andcommitted
Allow configuring client_metadata_url via environment variable
Add MCP_CLIENT_METADATA_URL environment variable support to the simple-auth-client example, allowing users to specify their own client metadata URL for CIMD (SEP-991) instead of using a hardcoded value. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent e936893 commit 299fe27

File tree

1 file changed

+12
-3
lines changed
  • examples/clients/simple-auth-client/mcp_simple_auth_client

1 file changed

+12
-3
lines changed

examples/clients/simple-auth-client/mcp_simple_auth_client/main.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,15 @@ def get_state(self):
150150
class SimpleAuthClient:
151151
"""Simple MCP client with auth support."""
152152

153-
def __init__(self, server_url: str, transport_type: str = "streamable-http"):
153+
def __init__(
154+
self,
155+
server_url: str,
156+
transport_type: str = "streamable-http",
157+
client_metadata_url: str | None = None,
158+
):
154159
self.server_url = server_url
155160
self.transport_type = transport_type
161+
self.client_metadata_url = client_metadata_url
156162
self.session: ClientSession | None = None
157163

158164
async def connect(self):
@@ -192,7 +198,7 @@ async def _default_redirect_handler(authorization_url: str) -> None:
192198
storage=InMemoryTokenStorage(),
193199
redirect_handler=_default_redirect_handler,
194200
callback_handler=callback_handler,
195-
client_metadata_url="https://example.com/simple-auth-client",
201+
client_metadata_url=self.client_metadata_url,
196202
)
197203

198204
# Create transport with auth handler based on transport type
@@ -336,6 +342,7 @@ async def main():
336342
# Most MCP streamable HTTP servers use /mcp as the endpoint
337343
server_url = os.getenv("MCP_SERVER_PORT", 8000)
338344
transport_type = os.getenv("MCP_TRANSPORT_TYPE", "streamable-http")
345+
client_metadata_url = os.getenv("MCP_CLIENT_METADATA_URL")
339346
server_url = (
340347
f"http://localhost:{server_url}/mcp"
341348
if transport_type == "streamable-http"
@@ -345,9 +352,11 @@ async def main():
345352
print("🚀 Simple MCP Auth Client")
346353
print(f"Connecting to: {server_url}")
347354
print(f"Transport type: {transport_type}")
355+
if client_metadata_url:
356+
print(f"Client metadata URL: {client_metadata_url}")
348357

349358
# Start connection flow - OAuth will be handled automatically
350-
client = SimpleAuthClient(server_url, transport_type)
359+
client = SimpleAuthClient(server_url, transport_type, client_metadata_url)
351360
await client.connect()
352361

353362

0 commit comments

Comments
 (0)