search_pdf_prev_page
Navigate to the previous page of PDF search results using an existing search session ID to continue reviewing matches.
Instructions
Get previous page of search results.
Args:
search_id: Search session ID from previous search
Returns:
Previous page of search results or error messageInput Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| search_id | Yes |
Implementation Reference
- pdf_tools_mcp/server.py:749-788 (handler)The handler function for the 'search_pdf_prev_page' tool, which navigates to the previous page of search results for a given session ID.
@mcp.tool() async def search_pdf_prev_page(search_id: str) -> str: """Get previous page of search results. Args: search_id: Search session ID from previous search Returns: Previous page of search results or error message """ with cache_lock: session = search_sessions.get(search_id) if not session: return f"Error: Search session '{search_id}' not found or expired" session.last_accessed = datetime.now() if session.current_page <= 1: return f"Already on first page (1)" session.current_page -= 1 start_idx = (session.current_page - 1) * session.page_size end_idx = min(start_idx + session.page_size, len(session.results)) current_results = session.results[start_idx:end_idx] total_pages = (len(session.results) + session.page_size - 1) // session.page_size result = f"Search ID: {search_id}\n" result += f"Pattern: {session.pattern}\n" result += f"Total matches: {session.total_results}\n" result += f"Page: {session.current_page}/{total_pages}\n\n" for i, match in enumerate(current_results, 1): result += f"Match {start_idx + i}:\n" result += f" Page: {match.page_number}\n" result += f" Text: \"{match.text}\"\n" result += f" Context: ...{match.context_before}[{match.text}]{match.context_after}...\n\n" return result