Spaces:
Running
Running
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
|