Spaces:
Sleeping
Sleeping
# import gradio as gr | |
# def add_numbers(a: float, b: float) -> float: | |
# """ | |
# Adds two numbers together. | |
# Args: | |
# a: The first number. | |
# b: The second number. | |
# """ | |
# return a + b | |
# # Create a simple interface for our tool | |
# iface = gr.Interface( | |
# fn=add_numbers, | |
# inputs=[ | |
# gr.Number(label="First Number"), | |
# gr.Number(label="Second Number") | |
# ], | |
# outputs=gr.Number(label="Sum"), | |
# title="Addition MCP Server", | |
# description="A simple MCP tool that adds two numbers. [1, 2]" | |
# ) | |
# # Launch the app as an MCP server. This is the most important part. | |
# if __name__ == "__main__": | |
# iface.launch(mcp_server=True) | |
import gradio as gr | |
from youtube_transcript_api import YouTubeTranscriptApi | |
def get_transcript(video_id: str) -> str: | |
""" | |
Fetches the transcript for a given YouTube video ID. | |
Args: | |
video_id: The unique ID of the YouTube video (e.g., 'dQw4w9WgXcQ'). | |
""" | |
try: | |
# Fetch the transcript using the library | |
transcript_list = YouTubeTranscriptApi.get_transcript(video_id) | |
# Combine the list of dictionaries into a single string | |
transcript = " ".join([item['text'] for item in transcript_list]) | |
return transcript | |
except Exception as e: | |
# Return an error message if the transcript can't be found | |
return f"Could not retrieve transcript. Error: {e}" | |
# Create a simple Gradio interface for our tool | |
iface = gr.Interface( | |
fn=get_transcript, | |
inputs=gr.Textbox(label="YouTube Video ID"), | |
outputs=gr.Textbox(label="Transcript"), | |
title="Transcript MCP Server", | |
description="An MCP tool that fetches a YouTube transcript from a video ID. [1, 2]" | |
) | |
# Launch the app as an MCP server | |
if __name__ == "__main__": | |
iface.launch(mcp_server=True) |