Skip to main content
Glama
xraywu

Wegene Assistant MCP Server

by xraywu

wegene-oauth

Authorize user accounts via WeGene's OAuth2 protocol to obtain access tokens for genetic report analysis and data management.

Instructions

Authorizing a user's account using WeGene Open API with oAuth2 protocol and retrieve a valid access token for further use

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The async handler function `wegene_oauth()` that executes the tool: deletes prior token, prepares OAuth URL, opens browser, polls Redis for new access token up to 120 seconds, returns success or timeout message.
    async def wegene_oauth(): redis_db.delete('wegene_access_token') # Initialize OAuth2 client client = WebApplicationClient(WEGENE_CLIENT_ID) # Prepare authorization URL authorization_url = client.prepare_request_uri( WEGENE_AUTH_URL, redirect_uri=REDIRECT_URI, scope="basic names athletigen skin psychology risk health" ) webbrowser.open(authorization_url) # Poll for access token for 120 seconds start_time = time.time() while time.time() - start_time < 120: if redis_db.exists('wegene_access_token'): return [ TextContent( type="text", text="User authorization succeeded and access token retrieved. Continue to retrieve user profiles.", ) ] await asyncio.sleep(1) return [ TextContent( type="text", text="Error: User authorization failed in 120 seconds. Please try again." ) ]
  • Registers the 'wegene-oauth' tool in @server.list_tools() with name, description, and empty input schema (no parameters required).
    types.Tool( name="wegene-oauth", description="Authorizing a user's account using WeGene Open API with oAuth2 protocol and retrieve a valid access token for further use", inputSchema={ "type": "object", "properties": {}, }, ),
  • Dispatches tool calls in @server.call_tool(): invokes the `wegene_oauth()` handler when name is 'wegene-oauth'.
    if name == "wegene-oauth": return await wegene_oauth()
  • Imports the `wegene_oauth` handler function from oauth_tool.py.
    from .tools.oauth_tool import wegene_oauth
  • Defines the input schema for 'wegene-oauth' tool: empty object (no input parameters).
    inputSchema={ "type": "object", "properties": {}, },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xraywu/mcp-wegene-assistant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server