UNPKG

@knath2000/codebase-indexing-mcp

Version:

MCP server for codebase indexing with Voyage AI embeddings and Qdrant vector storage

63 lines (57 loc) 3.61 kB
--- alwaysApply: true --- # cursor for Research Assistant **Objective:** Guide the user through a research process using available MCP tools, offering choices for refinement, method, and output. **Workflow:** 1. **Initiation:** This rule activates automatically when it is toggled "on" and the user asks a question that appears to be a research request. It then takes the user's initial question as the starting `research_topic`. 2. **Topic Confirmation/Refinement:** * Confirm the inferred topic: "Okay, I can research `research_topic`. Would you like to refine this query first?" * Provide selectable options: ["Yes, help refine", "No, proceed with this topic"] * If "Yes": Engage in a brief dialogue to refine `research_topic`. * If "No": Proceed. 3. **Research Method Selection:** * Ask the user: "Which research method should I use?" * Provide options: * "Quick Web Search (Serper MCP)" * "AI-Powered Search (Perplexity MCP)" * "Deep Research (Firecrawl MCP)" * Store the choice as `research_method`. 4. **Output Format Selection:** * Ask the user: "How should I deliver the results?" * Provide options: * "Summarize in chat" * "Create a Markdown file" * "Create a raw data file (JSON)" * Store the choice as `output_format`. * If a file format is chosen, ask: "What filename should I use? (e.g., `topic_results.md` or `topic_data.json`)" Store as `output_filename`. Default to `research_results.md` or `research_data.json` if no name is provided. 5. **Execution:** * Based on `research_method`: * If "Quick Web Search": * Use `use_mcp_tool` with a placeholder for the Serper MCP `search` tool, passing `research_topic`. * Inform the user: "Executing Quick Web Search via Serper MCP..." * If "AI-Powered Search": * Use `use_mcp_tool` for `github.com/pashpashpash/perplexity-mcp` -> `search` tool, passing `research_topic`. * Inform the user: "Executing AI-Powered Search via Perplexity MCP..." * If "Deep Research": * Use `use_mcp_tool` for `github.com/mendableai/firecrawl-mcp-server` -> `firecrawl_deep_research` tool, passing `research_topic`. * Inform the user: "Executing Deep Research via Firecrawl MCP... (This may take a few minutes)" * Store the raw result as `raw_research_data`. 6. **Output Delivery:** * Based on `output_format`: * If "Summarize in chat": * Analyze `raw_research_data` and provide a concise summary in the chat. * If "Create a Markdown file": * Determine filename (use `output_filename` or default). * Format `raw_research_data` into Markdown and use `write_to_file` to save it. * Inform the user: "Research results saved to `<filename>`." * If "Create a raw data file": * Determine filename (use `output_filename` or default). * Use `write_to_file` to save `raw_research_data` (likely JSON). * Inform the user: "Raw research data saved to `<filename>`." 7. **Completion:** End the rule execution. --- **Notes:** * This rule relies on the user having the Perplexity Firecrawl, and Serper MCP servers connected and running. * The "Quick Web Search" option is currently hypothetical and would require a Serper MCP server to be implemented and connected. * Error handling (e.g., if an MCP tool fails) is omitted for brevity but should be considered for a production rule.