
tide-mcp
Tide Forecast App with FastAPI backend and Flutter frontend
3 years
Works with Finder
0
Github Watches
0
Github Forks
0
Github Stars
Tide MCP
A cross-platform app for tides, moon phases, and fishing/hunting predictions. Now supports learning any town/location selected by users.
Version: 1.2.9
Built with:
- Backend: FastAPI (Python) + SQLite (locations.db)
- Frontend: Flutter (Dart)
Getting Started
Backend Setup (FastAPI)
-
Navigate to the backend directory:
cd backend
-
Create and activate a virtual environment:
python3 -m venv .venv source .venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment variables:
- Copy
.env.sample
to.env
and add any required API keys or settings.
- Copy
-
Start the backend server:
uvicorn main:app --reload
Frontend Setup (Flutter)
-
Navigate to the frontend directory:
cd frontend
-
Install Flutter dependencies:
flutter pub get
-
Run the app:
flutter run
Testing
- The app now supports robust widget testing using a test-only parameter (
initialLoading
) inTideHomePage
for modern, testable UI state injection. - To run tests:
flutter test
Changelog Automation
- The changelog (CHANGES.md) is automatically generated from commit history using
git-cliff
. - To update the changelog, run:
(Requires./scripts/update_changelog.sh
git-cliff
to be installed. See git-cliff releases.)
Versioning Automation
- The project version is stored in the
VERSION
file and in the README. - To bump the version:
- For a major release:
./scripts/bump_version.sh major
- For a new feature:
./scripts/bump_version.sh minor
- For a fix:
./scripts/bump_version.sh patch
- For a major release:
- This will update both the
VERSION
file and the version in the README.
Features
- Location learning: Select any town/location and it will be stored for future lookups.
- Tide, moon, and prediction data are shown only after a location is selected.
- SQLite database for local location storage.
- Modern testability patterns for Flutter frontend.
Changelog
- 1.2.9: Fix: Added assets/VERSION to pubspec.yaml and moved VERSION file to assets directory so app version is loaded and displayed dynamically in the app bar and MaterialApp title.
- 1.2.8: Bugfix: The "week at a glance" feature now appears immediately after a location is selected, without needing to refresh. This was fixed by ensuring fetchAll() is called after location selection, not just for today data.
- 1.2.7: Refactor: Removed all references to towns.json and stations.json. The backend now uses a default station for manual/geocoded locations.
- 1.2.6: Fixed: Tide data is now displayed after entering a manual location and pressing enter. The UI now shows tide data for both database and manual/geocoded locations.
- 1.2.4: Fixed: Manual location entry now works when hitting return/enter in the location field. Users can now enter any location and immediately fetch tide data by pressing enter.
-
1.2.2: Locations not in the database are now selectable and return estimated tides using the nearest NOAA station. Backend API returns an
estimated
flag and source station info for non-database locations. -
1.2.1: Added testable constructor to
TideHomePage
for robust widget testing. All tests now pass reliably. Updated docs for modern testability. - 1.2.0: Switched to SQLite for locations, improved UI/UX, added location learning.
相关推荐
🧑🚀 全世界最好的LLM资料总结(Agent框架、辅助编程、数据处理、模型训练、模型推理、o1 模型、MCP、小语言模型、视觉语言模型) | Summary of the world's best LLM resources.
🔥 1Panel provides an intuitive web interface and MCP Server to manage websites, files, containers, databases, and LLMs on a Linux server.
⛓️RuleGo is a lightweight, high-performance, embedded, next-generation component orchestration rule engine framework for Go.
This repository is for development of the Azure MCP Server, bringing the power of Azure to your agents.
Flock is a workflow-based low-code platform for rapidly building chatbots, RAG, and coordinating multi-agent teams, powered by LangGraph, Langchain, FastAPI, and NextJS.(Flock 是一个基于workflow工作流的低代码平台,用于快速构建聊天机器人、RAG、Agent和Muti-Agent应用,采用 LangGraph、Langchain、FastAPI 和 NextJS 构建。)
This project was created to demonstrate how we can connect with different Model Context Protocols (MCPs).
Reviews

user_QIOqpBr0
As a dedicated user of tide-mcp, I can confidently say that this product by philiplawlor has exceeded my expectations. The user-friendly interface and comprehensive features make it a must-have for anyone in need of quality MCP applications. Highly recommended!