Other
Revenue Administration MCP Server
An assistant that reads Turkish tax legislation from its official source at the moment you ask and answers with the article behind it - a system a certified acc
The challenge
Turkish tax legislation changes constantly and lives in scattered places: statutes, communiqués, circulars, private rulings. The answer to a question almost always exists in writing - but finding it requires knowing the language of the legislation. A taxpayer asks "can I appeal this penalty?"; the legislation says "penalty reduction under VUK 376". That gap in language is exactly what stands in the way.
General-purpose language models are unreliable here. They invent article numbers, misquote rates, and blur repealed provisions with current ones. In a legal and fiscal setting a confident but wrong answer is more dangerous than no answer, because it looks authoritative.
The goal was an assistant where every statement traces back to an official source, and which refuses to answer anything it cannot ground there. It had to be reliable enough for a certified accountant to use on real client files.
The approach
I built a Model Context Protocol (MCP) server that connects to the official Revenue Administration legislation site at query time, and a web platform on top of it.
- It translates the question into legal terminology first. Users write in everyday language. Before searching, the system converts that into the term the legislation actually uses - "what happens if I take money out of my company" → "dividend distribution withholding". This step is why the search works at all.
- It reads live, not from a downloaded copy. Three tools - legislation search, category listing and full document text - pull directly from the official site, with results ordered newest first, because in law recency is decisive.
- It doesn't invent when it can't find. If a search returns nothing it tries five formulations in turn: the term, the statute name, the article number, the abbreviation, a synonym. It won't say "not found" before at least three attempts - and if it still can't, it says so and points to the official legislation portal rather than guessing.
- It answers in two layers. First the technical version - article, communiqué number, rate, date. Then the same information in plain Turkish, without jargon. Plain-language equivalents for terms like withholding, exemption and assessment are written into the system, as are distinctions practitioners routinely confuse.
- Not just a server - a product. On top of the MCP server I built user accounts, a streaming chat interface, file upload, subscription and quota management, usage and cost reporting, and an admin panel. It can be used through its own web interface or from any MCP-compatible client such as Claude Desktop.
The system is in regular use today by a certified accountant, working on real client files. One example: on a ₺49,000 penalty issued for seven unfiled rental income declarations, the system found the relevant article and showed its source; the objection built on that article brought the penalty down to ₺10,500. The decision was the tax office's - the system's job was to find the grounds and show where they came from.
The same structure works in any field where the answer sits in a written source: legislation, contracts, technical specifications, internal procedures.
Stack: Python MCP server (live retrieval via Playwright), Node.js/Express backend, React front end, SSE streaming, Prisma + PostgreSQL, Docker.
Want similar results for your project?
Every project above started with a conversation. Let's figure out what yours needs.
Keep exploring
More projects.
Rail catenary pole placement automation
Weeks of expert engineering work, reduced to seconds.
D-Risk - MedTech Marketplace with AI Company Profiling
A three-sided marketplace linking medtech startups with investors and specialist freelancers - matched through AI document profiling.
Integrated LoRa Sensor Monitoring & Analytics System
Turning raw LoRa telemetry from tree-mounted sensors into live dashboards that answer watering and growth questions - built in one week.
Reliability of LLMs in Safety-Critical Requirements Engineering
A controlled experiment measuring what an ungrounded, off-the-shelf chatbot contributes to safety-critical engineering.
DSGENAI - AI Safety Requirements Engineering Platform
Stabilising and modernising an AI-driven safety-requirements platform - Flask to Streamlit, GPT-5.1, and critical data-leak fixes.
Retrieval-Augmented Generation (RAG) Documentation Assistant
A RAG assistant that turns stacks of PDFs into a searchable knowledge base where every answer traces back to the source document.
LLM Prompt Optimization for Legal-Clause Classification
Comparative research that lifted F1 from 0.62 to 0.76 on Terms-of-Service clause classification through automatic prompt optimisation alone - without retraining
Smart Contract Analysis with NLP
An NLP system learns from Siemens' legal team's past contract revisions, flags the same clauses in a new contract, and proposes the edit that was made before.
Football Player Potential Prediction Model
A classification model predicting whether a player will be marked "highlighted" from 39 scout attribute scores - ROC-AUC 0.86 under 10-fold cross-validation.
Football Player Ranking System
A scoring engine that ranks players not by total score, but by how many attributes they exceed the statistical average for their own position.
Football Player Position Recommender System
A recommender that compares a player's attribute profile against the profiles of other positions and finds players could be more valuable in a different role.
Automated Connecting-Flight Optimization
A tool that recalculates every connection possible through the hub - day by day, with passenger volumes - when a single flight's time is shifted.
Flight Passenger-Count Prediction
A demand model predicting booked passengers on one-stop routes from a flight's own characteristics, selected by comparing eleven regression models.
Turkish Image-Captioning Benchmark on MS COCO 2014
A human-verified Turkish caption dataset covering all of MS COCO, plus five models trained on it - a new reference point for Turkish image captioning.
ESG Diversity & Sentiment Solution - CFA Poland Hackathon
An ESG prototype scoring gender diversity and news sentiment - 2nd place among 44 teams from 28 universities.
Automated ESG Scoring System - HackBogazici
An automated ESG scoring engine built from four scraped data sources - 2nd place among 14 hackathon teams.