Skip to main content
Glama

Wegene Assistant MCP Server

by xraywu
flask_server.py2.12 kB
from flask import Flask, request from oauthlib.oauth2 import WebApplicationClient import requests import redislite import os import sys from dotenv import load_dotenv import logging from werkzeug.serving import WSGIRequestHandler # Load environment variables load_dotenv() # Initialize RedisLite redis_db = redislite.Redis(os.getenv('REDIS_DB_PATH')) # WeGene OAuth configuration os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1' # 禁用HTTPS验证 WEGENE_CLIENT_ID = os.getenv('WEGENE_CLIENT_ID') WEGENE_CLIENT_SECRET = os.getenv('WEGENE_CLIENT_SECRET') WEGENE_TOKEN_URL = "https://api.wegene.com/token/" REDIRECT_URI = "http://localhost:8787/oauth/callback" # 改为HTTP def create_flask_app(): # Remove logs so flask output will not interfere with MCP messages cli = sys.modules['flask.cli'] cli.show_server_banner = lambda *x: None app = Flask(__name__) log = logging.getLogger('werkzeug') log.setLevel(logging.ERROR) client = WebApplicationClient(WEGENE_CLIENT_ID) @app.route('/oauth/callback') def oauth_callback(): code = request.args.get('code') # Prepare token request token_url, headers, body = client.prepare_token_request( WEGENE_TOKEN_URL, authorization_response=request.url, code=code, client_id=WEGENE_CLIENT_ID, client_secret=WEGENE_CLIENT_SECRET, scope="basic names athletigen skin psychology risk health", ) # Send token request token_response = requests.post( token_url, headers=headers, data=body ) # Parse token response client.parse_request_body_response(token_response.text) # Store access token in Redis with 24h expiration redis_db.set('wegene_access_token', client.token['access_token'], ex=86400) return "Authorization successful! You can now close this window." return app def run_flask(): app = create_flask_app() app.run(host='0.0.0.0', port=8787, debug=False, use_reloader=False)

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