| import gradio as gr | |
| import json | |
| def greet(name): | |
| """ | |
| Greets the user with a customized greeting message. | |
| Args: | |
| name (str): The name of the user to greet. | |
| Returns: | |
| str: A greeting message addressed to the specified user. | |
| """ | |
| return "Hello " + name + ", my name is RAMIE!" | |
| def get_robot_manifest(): | |
| """ | |
| Reads and returns the json manifest file that describes the robot | |
| and its capabilities. | |
| Args: | |
| None | |
| Returns: | |
| str: a stringified json object that contains the manifest file content. | |
| - Failure: returns empty object string | |
| """ | |
| try: | |
| with open("./robot_manifest.json", "r") as f: | |
| return json.load(f) | |
| except: | |
| return '{}' | |
| def get_robot_capabilities(): | |
| """ | |
| Reads and returns the robot capabilities that are described inside | |
| the json manifest file. | |
| Args: | |
| None | |
| Returns: | |
| str: a stringified json object that contains the robot capabilities. | |
| """ | |
| try: | |
| with open("./robot_manifest.json", "r") as f: | |
| res = json.load(f) | |
| return res["capabilities"] | |
| except: | |
| return '{}' | |
| with gr.Blocks() as demo: | |
| gr.Markdown("RAMIE's MCP Server") | |
| with gr.Tab("Greet"): | |
| name = gr.Textbox(label="Enter your name", placeholder="Your name") | |
| greet_btn = gr.Button("Greet") | |
| output = gr.Textbox(label="Greeting Message") | |
| greet_btn.click(fn=greet, inputs=name, | |
| outputs=output, api_name="greet") | |
| with gr.Tab("Robot Manifest"): | |
| greet_btn = gr.Button("Check") | |
| output = gr.Textbox(label="Result") | |
| greet_btn.click(fn=get_robot_manifest, inputs=None, | |
| outputs=output, api_name="get_robot_manifest") | |
| with gr.Tab("Robot Capabilities"): | |
| greet_btn = gr.Button("Check") | |
| output = gr.Textbox(label="Result") | |
| greet_btn.click(fn=get_robot_capabilities, inputs=None, | |
| outputs=output, api_name="get_robot_capabilities") | |
| demo.launch( | |
| mcp_server=True, | |
| server_port=7860 | |
| ) | |