We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SecretiveShell/mcp-windows'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
startmenu.py•1.2 KiB
from fastmcp import FastMCP
import os
from winrt.windows.foundation import Uri
from winrt.windows.system import Launcher
from winrt.windows.storage import StorageFile
mcp: FastMCP = FastMCP(
name="startmenu",
)
@mcp.tool("open_file")
async def open_file(path: str) -> str:
"""Open a file or folder in the default application."""
path = os.path.expanduser(path)
path = os.path.expandvars(path)
path = os.path.abspath(path)
if not os.path.exists(path):
return f"Path does not exist: {path}"
file = await StorageFile.get_file_from_path_async(path)
success = await Launcher.launch_file_async(file)
if success:
return "Opened file"
# Fallback to os.startfile if the above fails
os.startfile(path)
return "Opened file"
@mcp.tool("open_url")
async def open_url(url: str) -> str:
"""Open a URL in the default browser."""
try:
uri = Uri(url)
success = await Launcher.launch_uri_async(uri)
if success:
return "Opened URL"
except Exception:
pass
# Fallback to webbrowser if the above fails
import webbrowser
webbrowser.open(url)
return "Opened URL"