Skip to main content
Glama

MCP Template

search.py2.35 kB
""" Example search tool implementation. """ from typing import Any, Dict, List import mcp.types as types # Mock data for demonstration MOCK_DATA = [ {"id": 1, "title": "Python Programming", "description": "Learn Python basics"}, {"id": 2, "title": "MCP Protocol", "description": "Model Context Protocol guide"}, {"id": 3, "title": "Async Programming", "description": "Asynchronous programming in Python"}, {"id": 4, "title": "Web Development", "description": "Building web applications"}, {"id": 5, "title": "Data Science", "description": "Data analysis with Python"}, ] async def search_handler(arguments: Dict[str, Any]) -> str: """ Example search tool that searches through mock data. Args: arguments: Tool arguments containing: - query: Search query string - limit: Maximum number of results (optional, default: 10) Returns: String containing formatted search results """ query = arguments.get("query", "").lower() limit = min(int(arguments.get("limit", 10)), 100) if not query: return "Error: Query cannot be empty" # Simple search implementation results: List[Dict[str, Any]] = [] for item in MOCK_DATA: if query in item["title"].lower() or query in item["description"].lower(): results.append(item) # Apply limit results = results[:limit] # Format results if not results: return f"No results found for query: '{query}'" output = f"Found {len(results)} result(s) for query: '{query}'\n\n" for item in results: output += f"[{item['id']}] {item['title']}\n" output += f" {item['description']}\n\n" return output # Tool schema definition SEARCH_SCHEMA = types.Tool( name="example_search", description="Searches through a dataset and returns matching results", inputSchema={ "type": "object", "properties": { "query": { "type": "string", "description": "The search query string", }, "limit": { "type": "number", "description": "Maximum number of results to return (default: 10, max: 100)", "minimum": 1, "maximum": 100, }, }, "required": ["query"], }, )

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/riteshsonawala/mcp-template'

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