Skip to main content
Glama

MCP Media Server

by neal3000
icons_demo.py1.51 kB
""" FastMCP Icons Demo Server Demonstrates using icons with tools, resources, prompts, and implementation. """ import base64 from pathlib import Path from mcp.server.fastmcp import FastMCP, Icon # Load the icon file and convert to data URI icon_path = Path(__file__).parent / "mcp.png" icon_data = base64.standard_b64encode(icon_path.read_bytes()).decode() icon_data_uri = f"data:image/png;base64,{icon_data}" icon_data = Icon(src=icon_data_uri, mimeType="image/png", sizes=["64x64"]) # Create server with icons in implementation mcp = FastMCP("Icons Demo Server", website_url="https://github.com/modelcontextprotocol/python-sdk", icons=[icon_data]) @mcp.tool(icons=[icon_data]) def demo_tool(message: str) -> str: """A demo tool with an icon.""" return message @mcp.resource("demo://readme", icons=[icon_data]) def readme_resource() -> str: """A demo resource with an icon""" return "This resource has an icon" @mcp.prompt("prompt_with_icon", icons=[icon_data]) def prompt_with_icon(text: str) -> str: """A demo prompt with an icon""" return text @mcp.tool( icons=[ Icon(src=icon_data_uri, mimeType="image/png", sizes=["16x16"]), Icon(src=icon_data_uri, mimeType="image/png", sizes=["32x32"]), Icon(src=icon_data_uri, mimeType="image/png", sizes=["64x64"]), ] ) def multi_icon_tool(action: str) -> str: """A tool demonstrating multiple icons.""" return "multi_icon_tool" if __name__ == "__main__": # Run the server mcp.run()

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/neal3000/mcp_media_server'

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