Skip to main content
Glama

search_projects

Search WeWork projects by name to find relevant project information. Enter search text to retrieve matching projects with configurable result limits.

Instructions

Tìm kiếm dự án theo tên Args: search_text: Text để tìm kiếm trong tên dự án limit: Số lượng kết quả tối đa (default: 10) Returns: Danh sách các dự án phù hợp

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
search_textYes
limitNo

Implementation Reference

  • The primary MCP tool handler for 'search_projects'. Decorated with @mcp.tool(), it implements the core logic: validates client, searches via WeWorkClient.search_projects(), formats results with success/error handling.
    @mcp.tool() def search_projects(search_text: str, limit: int = 10) -> Dict[str, Any]: """ Tìm kiếm dự án theo tên Args: search_text: Text để tìm kiếm trong tên dự án limit: Số lượng kết quả tối đa (default: 10) Returns: Danh sách các dự án phù hợp """ try: if not wework_client: return {'error': 'WeWork client not initialized'} logger.info(f"Searching projects with text: {search_text}") results = wework_client.search_projects(search_text=search_text, limit=limit) return { 'success': True, 'search_text': search_text, 'results': results, 'count': len(results) } except Exception as e: logger.error(f"Error in search_projects: {e}") return {'error': str(e), 'success': False}
  • The @mcp.tool() decorator registers the search_projects function as an MCP tool.
    @mcp.tool()
  • Input/output schema defined by type hints (search_text: str, limit: int = 10 -> Dict[str, Any]) and comprehensive docstring describing args and returns.
    def search_projects(search_text: str, limit: int = 10) -> Dict[str, Any]: """ Tìm kiếm dự án theo tên Args: search_text: Text để tìm kiếm trong tên dự án limit: Số lượng kết quả tối đa (default: 10) Returns: Danh sách các dự án phù hợp """
  • Supporting helper method WeWorkClient.search_projects() that fetches all projects and performs fuzzy/exact matching based on search_text, returning limited list of matching projects.
    def search_projects(self, search_text: str, limit: int = 10) -> List[Dict]: """ Tìm kiếm projects theo tên """ projects = self.fetch_projects() if not projects: return [] # Tìm projects phù hợp matches = [] for project in projects: project_name = project['name'].lower() search_lower = search_text.lower() # Exact match hoặc partial match if search_lower in project_name or project_name in search_lower: matches.append({ 'project': project, 'similarity': 1.0 if search_lower == project_name else 0.8 }) else: # Sử dụng find_best_project_match _, similarity = self.find_best_project_match(search_text, [project]) if similarity > 0.3: matches.append({ 'project': project, 'similarity': similarity }) # Sắp xếp theo similarity và giới hạn kết quả matches.sort(key=lambda x: x['similarity'], reverse=True) return [match['project'] for match in matches[:limit]]

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/FOX2920/Aplus-MCP'

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