MCP Learning Console
Provides tools for persistent note management in a local SQLite database, including creating, searching, listing, updating, and deleting notes with tags.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Learning Consolesave a note about today's MCP learning and list my notes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Learning Console
An interactive lab project demonstrating a Model Context Protocol server and client through a polished Gradio dashboard.
Experiments included
Experiment 1 — Personal Assistant Memory
Persistent notes are stored in notes.db, a local SQLite database managed by
SQLAlchemy and accessed only through MCP:
save_note(content, tags)— createsearch_notes(query)andlist_notes()— readupdate_note(note_id, content, tags)— updatedelete_note(note_id)— delete
Experiment 2 — Data Dashboard Connector
get_current_weather(location) retrieves current structured weather data from
wttr.in. The UI displays temperature, condition, humidity, wind, and the raw
MCP response.
The project also includes suggest_study(subject) for generating a short study
path and interactive completion checklist.
Related MCP server: Custom MCP Server with RAG & Tools
SQLite database
database.py defines the SQLAlchemy Note model and creates
C:\Users\licha\Downloads\mcp\notes.db automatically. SQLite is configured
with check_same_thread=False and one session per MCP call so simultaneous
Gradio requests are safe.
The first startup migrates valid records from the original notes.json,
preserving IDs, content, tags, and timestamps. After a successful import the
source is renamed to notes.json.backup; it is no longer read by the server.
The backup can be opened for inspection, but notes.db is the only active
memory store.
To inspect the database, use any SQLite browser or run:
python -c "from sqlalchemy import create_engine, text; e=create_engine('sqlite:///notes.db'); print(e.connect().execute(text('select id, content, tags from notes')).all())"Install and run
Open Anaconda Prompt:
conda activate Gen_ai
cd /d C:\Users\licha\Downloads\mcp
python -m pip install -r requirements.txt
python app.pyThe dashboard opens at http://127.0.0.1:7860. You can also double-click
run_gen_ai.bat.
The command-line client is still available:
python client.py
python client.py --demoLLM routing
The client uses a Groq/OpenAI-compatible chat endpoint when the following
variables exist in the local .env file:
OPENAI_API_KEY=your_key
OPENAI_BASE_URL=https://api.groq.com/openai/v1
OPENAI_MODEL=openai/gpt-oss-20bThe real .env file is ignored by Git and must never be uploaded. Use
.env.example as the safe configuration template. If the API is unavailable,
the client automatically falls back to its deterministic local router.
Dashboard tabs
AI Assistant: natural-language chat plus visible MCP tool selection, arguments, reason, router provider, and activity log
Memory Notes: complete note CRUD interface with search and status feedback
Weather Dashboard: live weather cards and structured tool output
Study Planner: subject suggestions and progress checklist
Submission screenshots
Store screenshots in the screenshots folder. Recommended captures:
AI Assistant showing a successful Groq LLM decision and MCP tool trace.
Memory Notes showing saved notes and CRUD controls.
Weather Dashboard showing live weather cards.
Study Planner showing a generated learning path and checked progress.
Do not include the .env file or API key in screenshots or GitHub commits.
Project files
app.py— interactive Gradio dashboardserver.py— MCP server and toolsclient.py— reusable MCP client, LLM router, and CLIdatabase.py— SQLite engine, SQLAlchemy model, and one-time migrationnotes.db— persistent local memory (generated and ignored by Git)notes.json.backup— preserved pre-migration JSON backup, if importedrequirements.txt— pinned dependenciesrun_gen_ai.bat— Windows UI launcherrun_cli.bat— Windows terminal-client launcher
References: MCP Python SDK, Groq OpenAI compatibility, and Gradio documentation.
This server cannot be deployed
Maintenance
Related MCP Connectors
- aNotepadOAuthcom.anotepad
AI access to your aNotepad online notes: read, search, write, and organize via 22 tools.
Notes and actions in one app. Let Claude or ChatGPT read and update them.
Cross-session, cross-device memory for your agent: remember and recall notes. No key to start.
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides real-time weather data from Open-Meteo API and enables creating and retrieving notes stored locally in JSON format.MIT
- AlicenseNot gradedqualityDmaintenanceEnables notes management, weather and news search, document ingestion and RAG-based semantic search using GroundX, with OpenAI GPT integration for summarization and completions.MIT
- AlicenseAqualityDmaintenanceEnables AI to read live weather data and manage a persistent to-do list through MCP tools, demonstrating both read and write capabilities without API keys.1MIT
- FlicenseNot gradedqualityCmaintenanceEnables full-text search over personal notes, note and tag management, and live weather lookups through MCP tools, resources, and prompts, usable from clients like Claude Desktop or a custom agent loop.-