time-mcp

time-mcp

0

MCP Server which returns current timestamp with streamlit app

time-mcp

A minimal agentic AI system that answers time-related and general questions using a tool-augmented LLM pipeline.

Features

  • Flask API: Provides the current timestamp.
  • MCP Agent Server: Reasoning agent that detects user intent, calls tools (like the time API), engineers prompts, and interacts with an LLM via OpenRouter (OpenAI-compatible API).
  • Streamlit UI: Simple chat interface to talk to the AI agent.

Setup

1. Clone and Install Dependencies

pip install -r requirements.txt

2. Environment Variable

Set your OpenRouter API key (get one from https://openrouter.ai):

export OPENROUTER_API_KEY=sk-...your-key...

3. Run the Servers

Open three terminals (or use background processes):

Terminal 1: Flask Time API
python flask_api.py
Terminal 2: MCP Agent Server
python mcp_server.py
Terminal 3: Streamlit UI
streamlit run streamlit_ui.py

The Streamlit UI will open in your browser (default: http://localhost:8501)


Usage

  • Ask the agent any question in the Streamlit UI.
  • If you ask about the time (e.g., "What is the time?"), the agent will call the Flask API, fetch the current time, and craft a beautiful, natural response using the LLM.
  • For other questions, the agent will answer using the LLM only.

Architecture

[Streamlit UI] → [MCP Agent Server] → [Tools (e.g., Time API)]
                            ↓
                        [LLM via OpenRouter]
  • The MCP agent detects intent, calls tools as needed, engineers prompts, and sends them to the LLM.
  • Easily extensible to add more tools (just add to the MCPAgent class).

Customization

  • Add more tools: Implement new methods in MCPAgent and update self.tools.
  • Improve intent detection: Extend detect_intent() in MCPAgent.
  • Change LLM model: Update the model field in call_llm().

Requirements

  • Python 3.7+
  • See requirements.txt for dependencies.

Credits

  • Built using Flask, Streamlit, OpenRouter, and Python.
  • Inspired by agentic LLM design patterns.