Skip to main content
Glama

Protein MCP Server

by gqy20
server.py1.99 kB
"""FastMCP服务器主逻辑""" import argparse from fastmcp import FastMCP from .tools import register_all_tools def create_server(name: str = "protein-mcp", version: str = "0.1.5") -> FastMCP: """创建并配置FastMCP服务器实例""" mcp = FastMCP( name=name, version=version, ) # 注册所有工具 register_all_tools(mcp) return mcp def main() -> None: """主入口点,支持命令行参数""" parser = argparse.ArgumentParser(description="Protein MCP Server") parser.add_argument( "--transport", choices=["stdio", "http", "sse"], default="stdio", help="传输协议 (默认: stdio)", ) parser.add_argument("--port", type=int, default=8080, help="服务器端口 (默认: 8080)") parser.add_argument("--host", default="0.0.0.0", help="服务器主机 (默认: 0.0.0.0)") parser.add_argument("--name", default="protein-mcp", help="服务器名称") args = parser.parse_args() # 从 __init__.py 导入版本,避免硬编码 from . import __version__ # 创建服务器 mcp = create_server(args.name, __version__) print("🧬 启动 Protein MCP Server") print(f"📦 版本: {__version__}") print(f"🌐 传输协议: {args.transport}") try: if args.transport == "stdio": print("🔌 STDIO模式启动") mcp.run(transport="stdio") elif args.transport == "http": print(f"🌐 HTTP模式启动: http://{args.host}:{args.port}") mcp.run(transport="http", host=args.host, port=args.port) elif args.transport == "sse": print(f"📡 SSE模式启动: http://{args.host}:{args.port}") mcp.run(transport="sse", host=args.host, port=args.port) except KeyboardInterrupt: print("\n👋 服务器已停止") except Exception as e: print(f"❌ 启动失败: {str(e)}") raise if __name__ == "__main__": main()

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/gqy20/protein-mcp'

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