
innovathon project
MCP Date/Time and SQLite Agent Application using Ollama
Repository Info
About This Server
MCP Date/Time and SQLite Agent Application using Ollama
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
Innovathon Project: MCP Date/Time and SQLite Agent Application
This project implements a local application demonstrating the Model Context Protocol (MCP) with specialized agents (MCP Servers) providing Date/Time and SQLite functionalities to a Large Language Model (LLM) served by Ollama.
The system consists of:
- Ollama: Runs the LLM locally.
- MCP Date/Time Server: Provides tools for date/time operations.
- MCP SQLite Server: Provides tools and resources for interacting with a local SQLite database.
- MCP Gateway: Orchestrates communication between the client, servers, and Ollama.
- MCP Client: A simple command-line interface for interacting with the system.
See ARCHITECTURE.md for a detailed architectural overview and PLAN.md for the implementation plan.
Prerequisites
- Python: Version 3.11 or higher recommended (as specified in
pyproject.toml). - uv: The Python package installer and virtual environment manager used in this project. Install from https://astral.sh/uv.
- Ollama: The local LLM serving platform. Download and install from https://ollama.ai/.
- Git: For cloning the repository.
- (Recommended)
ghCLI: For interacting with GitHub (used during initial setup).
Setup Instructions
-
Clone the Repository:
git clone https://github.com/onedeveloper/innovathon-project.git cd innovathon-project -
Install
uv: If you haven't already, installuvfollowing the instructions on their website. -
Create Virtual Environment:
uv venvThis creates a
.venvdirectory. You don't typically need to activate it manually, asuv runhandles it. -
Install Dependencies:
uv syncThis command installs all dependencies listed in
pyproject.tomlanduv.lockinto the.venv. -
Configure Environment:
- Copy the example environment file:
cp .env.example .env - Review the
.envfile and adjust settings if necessary (e.g.,OLLAMA_API_BASE_URL, ports if defaults conflict). Ensure theLOG_LEVELis set appropriately (e.g.,INFOorDEBUG).
- Copy the example environment file:
-
Setup Ollama:
- Ensure the Ollama application/service is running.
- Pull the required LLM model (the gateway currently uses
gemma3:27b):ollama pull gemma3:27b - Verify Ollama is accessible at the
OLLAMA_API_BASE_URLspecified in.env.
Running the Application
You need to run the Ollama service and the four Python components (Date/Time Server, SQLite Server, Gateway, Client) simultaneously.
-
Ensure Ollama is running.
-
Open four separate terminal windows/tabs.
-
Navigate to the project root directory (
innovathon-project) in each terminal. -
Run each component using
python:(Note: We use direct
pythoncommands here instead ofuv run <script_alias>becauseuv syncin version 0.6.12 has a parsing issue with the[tool.uv.scripts]section inpyproject.toml. Runningpythondirectly still uses the correct interpreter from the.venvenvironment if you activated it, or you can useuv run python <path_to_script>which also works.)- Terminal 1: Date/Time Server
python server_datetime/main.py # Or: uv run python server_datetime/main.py - Terminal 2: SQLite Server
(Note: This will create thepython server_sqlite/main.py # Or: uv run python server_sqlite/main.pydata/mydatabase.dbfile if it doesn't exist) - Terminal 3: Gateway
python gateway/main.py # Or: uv run python gateway/main.py - Terminal 4: Client
python client/cli.py # Or: uv run python client/cli.py
- Terminal 1: Date/Time Server
-
Interact: The client will start in Terminal 4. Type your prompts and press Enter. Observe the logs in all terminals to see the interactions. Type
quitorexitin the client terminal to stop it.
Note: The current implementation uses placeholders for the actual MCP communication between the Gateway and the Servers, and between the Client and the Gateway. The core logic flow is present, but network calls via MCP are simulated.
Development
- Dependencies: Add new dependencies using
uv add <package_name>. - Shared Code: Common utilities are placed in the
common/directory, which is installed as an editable package (mcp_common_utils). Changes incommon/should be reflected when components are restarted. - Scripts: The
[tool.uv.scripts]section inpyproject.tomlis currently commented out due to a parsing issue withuv syncinuvversion 0.6.12. Use directpython <path_to_script>commands oruv run python <path_to_script>instead of aliases.
Quick Start
Clone the repository
git clone https://github.com/onedeveloper/innovathon-projectInstall dependencies
cd innovathon-project
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.