get_employee
Retrieve specific employee records by ID from the MCP Employee API Server. Use this tool to access detailed employee information for management or verification purposes.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Implementation Reference
- main.py:49-53 (handler)The main handler function for the 'get_employee' MCP tool. It is decorated with @mcp.tool() to register it, takes an employee ID as input, constructs the API URL, calls the make_request helper to fetch data from the backend API, and returns the response dictionary.@mcp.tool() async def get_employee(id: int) -> dict: url = f"{URL_BASE}/employees/{id}" response = await make_request(url) return response
- main.py:13-40 (helper)Shared helper utility function used by 'get_employee' and other tools to perform HTTP requests to the employee API backend, handling GET, POST, PUT, DELETE methods with proper headers, timeouts, and error handling.async def make_request(url: str, method: str = "GET", json_data: dict = None) -> dict[str, Any] | None: """Make a request to the API with proper error handling for all HTTP methods.""" headers = { "User-Agent": USER_AGENT, "Accept": "application/json" } # Add Content-Type header for requests with JSON data if json_data is not None: headers["Content-Type"] = "application/json" async with httpx.AsyncClient() as client: try: if method.upper() == "GET": response = await client.get(url, headers=headers, timeout=30.0) elif method.upper() == "POST": response = await client.post(url, headers=headers, json=json_data, timeout=30.0) elif method.upper() == "PUT": response = await client.put(url, headers=headers, json=json_data, timeout=30.0) elif method.upper() == "DELETE": response = await client.delete(url, headers=headers, timeout=30.0) else: raise ValueError(f"Unsupported HTTP method: {method}") response.raise_for_status() return response.json() except Exception: return None