👉👉👉 MOVED TO https://github.com/microsoft/mcp-dotnet-samples 👈👈👈
This is an MCP server that extracts subtitles from a given YouTube link.
- .NET 9 SDK
- Visual Studio Code with
- C# Dev Kit extension
- Azure Functions extension extension
- Azure Functions Core Tools
- Azure CLI
- Azure Developer CLI
- Docker Desktop
- Run Azure Functions MCP server locally
- Run Azure Functions MCP server remotely
- Connect MCP server to an MCP host/client
-
Get the repository root
# bash/zsh REPOSITORY_ROOT=$(git rev-parse --show-toplevel)
# PowerShell $REPOSITORY_ROOT = git rev-parse --show-toplevel
-
Run the function app
cd $REPOSITORY_ROOT/src/McpYouTubeSubtitlesExtractor.FunctionApp func start
-
Login to Azure
# Login with Azure CLI az login # Login with Azure Developer CLI azd auth login
-
Deploy the Function app to Azure
azd up
While provisioning and deploying, you'll be asked to provide subscription ID, location, environment name and vNet
-
After the deployment is complete, get the information by running the following commands:
-
function app name:
azd env get-value AZURE_FUNCTION_NAME
-
MCP server access key:
# bash/zsh az functionapp keys list \ -g rg-$(azd env get-value AZURE_ENV_NAME) \ -n $(azd env get-value AZURE_FUNCTION_NAME) \ --query "systemKeys.mcp_extension" -o tsv
# PowerShell az functionapp keys list ` -g rg-$(azd env get-value AZURE_ENV_NAME) ` -n $(azd env get-value AZURE_FUNCTION_NAME) ` --query "systemKeys.mcp_extension" -o tsv
-
-
Open Command Palette by typing
F1
orCtrl
+Shift
+P
on Windows orCmd
+Shift
+P
on Mac OS, and searchMCP: List Servers
. -
Choose
mcp-youtube-subtitles-extractor-function-local
then clickStart Server
. -
Enter prompt like:
Summarise this YouTube video link in 5 bullet points: https://youtu.be/XwnEtZxaokg?si=V39ta45iMni_Uc_m
-
It will ask you to run
get_available_languages
followed byget_subtitle
. You might be asked to choose language for the subtitle. -
Confirm the summary of the video.
-
Run MCP Inspector
npx @modelcontextprotocol/inspector node build/index.js
-
Open a web browser and navigate to the MCP Inspector web app from the URL displayed by the app (e.g. http://0.0.0.0:5173)
-
Set the transport type to
SSE
-
Set the URL to your running Function app's SSE endpoint and Connect:
http://0.0.0.0:7071/runtime/webhooks/mcp/sse
-
Click List Tools.
-
Click on a tool and Run Tool with a YouTube link and language code like
en
orko
.
-
Open Command Palette by typing
F1
orCtrl
+Shift
+P
on Windows orCmd
+Shift
+P
on Mac OS, and searchMCP: List Servers
. -
Choose
mcp-youtube-subtitles-extractor-function-remote
then clickStart Server
. -
Enter the function app name.
-
Enter the MCP server access key.
-
Enter prompt like:
Summarise this YouTube video link in 5 bullet points: https://youtu.be/XwnEtZxaokg?si=V39ta45iMni_Uc_m
-
It will ask you to run
get_available_languages
followed byget_subtitle
. You might be asked to choose language for the subtitle. -
Confirm the summary of the video.
-
Run MCP Inspector
npx @modelcontextprotocol/inspector node build/index.js
-
Open a web browser and navigate to the MCP Inspector web app from the URL displayed by the app (e.g. http://0.0.0.0:5173)
-
Set the transport type to
SSE
-
Set the URL to your running Function app's SSE endpoint and Connect:
https://<functionapp-name>.azurewebsites.net/runtime/webhooks/mcp/sse?code=<functions-mcp-extension-system-key>
-
Click List Tools.
-
Click on a tool and Run Tool with a YouTube link and language code like
en
orko
.