Skip to main content
Glama
test_lowlevel.py1.43 kB
import asyncio import sys import logging from mcp.server import Server from mcp.server.stdio import stdio_server from mcp.types import Tool, TextContent, ImageContent, EmbeddedResource # Configure logging to stderr logging.basicConfig(level=logging.DEBUG, stream=sys.stderr) logger = logging.getLogger("lowlevel_test") async def run(): server = Server("lowlevel-test") @server.list_tools() async def list_tools() -> list[Tool]: return [ Tool( name="hello", description="Say hello", inputSchema={ "type": "object", "properties": { "name": {"type": "string"} }, "required": ["name"] } ) ] @server.call_tool() async def call_tool(name: str, arguments: dict) -> list[TextContent | ImageContent | EmbeddedResource]: if name == "hello": return [TextContent(type="text", text=f"Hello {arguments['name']}")] raise ValueError(f"Unknown tool: {name}") options = server.create_initialization_options() logger.info("Starting stdio server...") async with stdio_server() as (read_stream, write_stream): logger.info("Stdio server connected") await server.run(read_stream, write_stream, options) if __name__ == "__main__": asyncio.run(run())

Latest Blog Posts

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/kc0ed/Blender-MCP-For-Antigravity'

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