File size: 1,764 Bytes
0f01ba2
c08b7b9
 
c6758aa
81bcd1a
c6758aa
81bcd1a
 
 
 
 
e9bd6d3
 
c6758aa
81bcd1a
c6758aa
 
 
 
 
 
 
 
81bcd1a
 
 
c6758aa
 
 
 
81bcd1a
 
c6758aa
 
 
81bcd1a
 
 
 
 
 
e9bd6d3
 
 
 
 
 
 
 
 
 
c6758aa
 
e9bd6d3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import streamlit as st

def render_sidebar():
    """
    Sidebar with all controls for the research companion app.
    Returns:
        - query (str): The user's main research query.
        - num_results (int): Max number of papers to show.
        - theme (str): 'Light' or 'Dark'.
        - search_clicked (bool): Did user click Search?
        - gemini_prompt (str): Optional Gemini Q&A question.
        - mcp_codegen_prompt (str): Prompt for code generation.
        - codegen_clicked (bool): Did user click Generate Code?
    """
    st.sidebar.title("πŸš€ MCP Research Companion")

    query = st.sidebar.text_input(
        label="Enter your research topic:",
        value="",
        placeholder="e.g. CRISPR delivery"
    )

    num_results = st.sidebar.slider(
        label="Max papers to display",
        min_value=1,
        max_value=20,
        value=5
    )

    theme = st.sidebar.selectbox(
        label="Theme",
        options=["Light", "Dark"],
        index=0
    )

    gemini_prompt = st.sidebar.text_input(
        label="πŸ’‘ Ask Gemini (about anything!):",
        value="",
        placeholder="e.g. Summarize the latest CRISPR techniques"
    )

    # New: MCP server codegen
    st.sidebar.markdown("---")
    st.sidebar.subheader("πŸ› οΈ MCP Server Codegen (Gemini)")
    mcp_codegen_prompt = st.sidebar.text_area(
        label="Describe the MCP server you want (plain English):",
        value="",
        placeholder="e.g. Write a Python MCP server for OpenWeatherMap with get_current_weather tool."
    )
    codegen_clicked = st.sidebar.button("Generate MCP Code")

    search_clicked = st.sidebar.button("Search")

    return query, num_results, theme, search_clicked, gemini_prompt, mcp_codegen_prompt, codegen_clicked