Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
An MCP server for Georgian public data, read from the organizations that publish it.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
GEOMCP_TRANSIT_TTC_ENABLED, GEOMCP_TRANSIT_TTC_API_KEY, GEOMCP_RATES_TBC_ENABLED, GEOMCP_RATES_TBC_API_KEY, GEOMCP_RATES_CREDO_ENABLED, GEOMCP_RATES_CREDO_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://geo-mcp.abgeo.cloud/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"georgia": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GEOMCP_TRANSIT_TTC_ENABLED",
"-e",
"GEOMCP_TRANSIT_TTC_API_KEY",
"-e",
"GEOMCP_RATES_TBC_ENABLED",
"-e",
"GEOMCP_RATES_TBC_API_KEY",
"-e",
"GEOMCP_RATES_CREDO_ENABLED",
"-e",
"GEOMCP_RATES_CREDO_API_KEY",
"ghcr.io/abgeo/georgia-mcp:1.1.2",
"stdio"
],
"env": {
"GEOMCP_TRANSIT_TTC_ENABLED": "your-value",
"GEOMCP_TRANSIT_TTC_API_KEY": "your-value",
"GEOMCP_RATES_TBC_ENABLED": "your-value",
"GEOMCP_RATES_TBC_API_KEY": "your-value",
"GEOMCP_RATES_CREDO_ENABLED": "your-value",
"GEOMCP_RATES_CREDO_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http georgia https://geo-mcp.abgeo.cloud/mcpclaude mcp add georgia --env GEOMCP_TRANSIT_TTC_ENABLED=your-value --env GEOMCP_TRANSIT_TTC_API_KEY=your-value --env GEOMCP_RATES_TBC_ENABLED=your-value --env GEOMCP_RATES_TBC_API_KEY=your-value --env GEOMCP_RATES_CREDO_ENABLED=your-value --env GEOMCP_RATES_CREDO_API_KEY=your-value -- docker run -i --rm -e GEOMCP_TRANSIT_TTC_ENABLED -e GEOMCP_TRANSIT_TTC_API_KEY -e GEOMCP_RATES_TBC_ENABLED -e GEOMCP_RATES_TBC_API_KEY -e GEOMCP_RATES_CREDO_ENABLED -e GEOMCP_RATES_CREDO_API_KEY ghcr.io/abgeo/georgia-mcp:1.1.2 stdioFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"georgia": {
"url": "https://geo-mcp.abgeo.cloud/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"georgia": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GEOMCP_TRANSIT_TTC_ENABLED",
"-e",
"GEOMCP_TRANSIT_TTC_API_KEY",
"-e",
"GEOMCP_RATES_TBC_ENABLED",
"-e",
"GEOMCP_RATES_TBC_API_KEY",
"-e",
"GEOMCP_RATES_CREDO_ENABLED",
"-e",
"GEOMCP_RATES_CREDO_API_KEY",
"ghcr.io/abgeo/georgia-mcp:1.1.2",
"stdio"
],
"env": {
"GEOMCP_TRANSIT_TTC_ENABLED": "your-value",
"GEOMCP_TRANSIT_TTC_API_KEY": "your-value",
"GEOMCP_RATES_TBC_ENABLED": "your-value",
"GEOMCP_RATES_TBC_API_KEY": "your-value",
"GEOMCP_RATES_CREDO_ENABLED": "your-value",
"GEOMCP_RATES_CREDO_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"georgia": {
"type": "http",
"url": "https://geo-mcp.abgeo.cloud/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"georgia": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GEOMCP_TRANSIT_TTC_ENABLED",
"-e",
"GEOMCP_TRANSIT_TTC_API_KEY",
"-e",
"GEOMCP_RATES_TBC_ENABLED",
"-e",
"GEOMCP_RATES_TBC_API_KEY",
"-e",
"GEOMCP_RATES_CREDO_ENABLED",
"-e",
"GEOMCP_RATES_CREDO_API_KEY",
"ghcr.io/abgeo/georgia-mcp:1.1.2",
"stdio"
],
"env": {
"GEOMCP_TRANSIT_TTC_ENABLED": "your-value",
"GEOMCP_TRANSIT_TTC_API_KEY": "your-value",
"GEOMCP_RATES_TBC_ENABLED": "your-value",
"GEOMCP_RATES_TBC_API_KEY": "your-value",
"GEOMCP_RATES_CREDO_ENABLED": "your-value",
"GEOMCP_RATES_CREDO_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://geo-mcp.abgeo.cloud/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
GEOMCP_TRANSIT_TTC_ENABLED envGEOMCP_RATES_TBC_ENABLED envGEOMCP_RATES_CREDO_ENABLED envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 8, 2026. The maker wrote them, not us; we show them as plain text.
air_get_qualityReturns the newest air quality readings of the automatic stations of the National Environmental Agency of Georgia (NEA), for a city, one station, or every station. Each reading gives PM10, PM2.5, NO2, O3, SO2, or CO, its concentration (µg/m³, CO in mg/m³), its hour, and its level
air_list_historyReturns the hourly readings of one station of the National Environmental Agency of Georgia (NEA) over at most 7 days of the last 7, newest first, with the level of each reading. The default is the last 24 hours. Call air_get_quality first to find the station code. The NEA stamps
cinema_get_seat_mapReturns the seats of the hall of one session of Cavea that has not started: each row, each seat with its class, a mark for a taken seat, and a mark for special needs. Gives the count of free seats and the price in lari of each seat class. The server reads the map at each call. It
cinema_list_cinemasLists the open cinemas of Cavea, in Tbilisi and Batumi. Returns the code, the name, the city, and the address of each cinema. Use the code in cinema_list_sessions. Data from the web site of Cavea, cavea.ge.
cinema_list_moviesLists the movies that Cavea shows now, or the movies coming soon. Returns the code, the name, the genres, the duration in minutes, the age rating, the premiere, the directors, the actors, and a description of each movie. Use the code in cinema_list_sessions. Data from the web sit
cinema_list_sessionsLists the sessions of the movies of Cavea on one date that have not started, in the order of the start time. Narrow the list by a movie, a cinema, an audio language, or a format. Returns the cinema, the hall, the start time, the languages, the formats, the price in lari, and the
cinema_search_moviesFinds the movies of Cavea, now showing or coming soon, by a part of the English name. Give the text in English: Cavea does not match a Georgian name. Returns the code, the name, the status, the duration in minutes, and the age rating of each movie. Data from the web site of Cavea
fuel_get_pricesReturns the current fuel prices of Georgian fuel companies: the price in GEL of one unit of each product. Use it for the price of petrol, diesel, or gas at a company today, or to compare companies. Each product has a grade that every company shares: regular (litre), premium (litr
offers_get_offerReturns the full conditions of one offer of a Georgian bank. Use the bank and the id from offers_search_offers. Give the person the url of the offer with the conditions.
offers_search_offersFinds the current offers that Georgian banks give to card holders at partners: discounts, cashback, and points. Filters by bank, customer tier, category, benefit kind, card, and period. For "this month", give the first and the last date of the month. When a bank has a next_offset
postal_search_codesFinds the postal codes of Georgian Post for an address, a street, a town, or a village of Georgia, by text in Georgian or English. Returns each matching address with its 4-digit postal code and its district. Georgian Post gives a postal code for each street in Tbilisi, Batumi, an
rates_get_commercial_ratesReturns the current commercial exchange rates of Georgian banks: the prices in GEL at which a bank buys and sells one unit of a currency. Use it for the price of a currency at a bank today, or to compare banks. Ask for 1 to 10 currencies. buy: the price in GEL that the bank pays
rates_get_official_ratesReturns the official exchange rates of the lari that the National Bank of Georgia (NBG) sets, for one date. Use it for the rate of a currency today or on a past date, for a contract, an invoice, or a tax form. Each rate is the price in GEL of `quantity` units; `rate_per_unit` is
rates_list_official_historyReturns the official exchange rates of one currency over a period of up to 31 days, as set by the National Bank of Georgia (NBG). Use it for the movement of a currency over a week or a month. The answer holds one point for each set in force in the period, the set in force on the
stats_get_cellsReturns the figures of one table of Geostat for a selection: value codes, or the last values, for each dimension. A dimension with no selection takes every value. Selects at most 1000 cells. An unpublished figure is null. The title of the table names the unit. Data from Geostat.
stats_get_inflationReturns the inflation of Georgia for one month, in percent: annual (to the same month of the previous year), monthly (to the previous month), the 12 month average, and core inflation. For the whole country, a city, and a price group. The default is the newest published month. Dat
stats_get_tableReturns the title and the dimensions of one table of Geostat, with the code and the text of each value. Read it before stats_get_cells. The values of a time dimension go from the oldest to the newest. A table has no unit field: the title names it. Data from Geostat.
stats_search_tablesFinds the tables of Geostat, the National Statistics Office of Georgia, whose title or folder holds every word of a text: for example prices, salaries, population, GDP, and trade. Returns the code, the title, the folder, and the update date of each table, the newest first. Then c
transit_get_routeReturns a route of the TTC with each direction: its headsign and its stops in order.
transit_get_timetableReturns the planned departure times of one direction of a route of the TTC at one stop, on a date of the current week. A time of 24:00 or later is after midnight, on the next date.
transit_list_arrivalsLists the next vehicles of the TTC at a stop: route number, kind, headsign, minutes from as_of, and the expected instant. live is true when the TTC tracks the vehicle; else the time comes from the timetable. With a route, lists the next vehicles of that route only.
transit_list_nearby_stopsLists the stops of the TTC within a distance of a point in Tbilisi, nearest first, with the distance in metres. Use transit_search_places to get the coordinates of a place.
transit_plan_tripPlans a trip by public transport of the TTC in Tbilisi between two points, given as coordinates. Returns up to 3 itineraries with each leg: walk or ride, route, stops, instants, distance in metres. Use transit_search_places to get coordinates.
transit_search_placesFinds places in Tbilisi (addresses, streets, buildings) by text, with their coordinates, for transit_plan_trip and transit_list_nearby_stops. Data from OpenStreetMap through the TTC.
transit_search_routesFinds the routes of the TTC by number or by name. Kinds: bus, minibus, metro, cable_car. With no query, lists every route.
transit_search_stopsFinds the stops of the Tbilisi Transport Company (bus stops, metro stations, cable car stations) by name or stop code, in Georgian or English. Use the stop id of the result with transit_list_arrivals or transit_get_timetable.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account abgeo, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 132 ms (HTTP 200)
No sign-in needed
Read 26 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: GEOMCP_TRANSIT_TTC_API_KEY, GEOMCP_RATES_TBC_API_KEY, GEOMCP_RATES_CREDO_API_KEY
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (1.1.2) reached the registry 2 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, CLIO Paraview
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Visualize simulation results in ParaView: load fields, then slice, contour, color and render them.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Georgia MCP
Georgia's public data, inside your chat.
An MCP server for Georgian public data, read from the organizations that publish it.
Ask Claude, ChatGPT, or any MCP client in your own words.
Website · Claude directory · Install · Tools · Report a bug
Georgian public data is spread over many sites: the National Bank, each commercial bank, each fuel company, the Tbilisi Transport Company. Georgia MCP reads them for your model, so you can ask one question and get one answer.
What is the official USD to GEL rate today?
Which bank buys euros at the best rate right now?
Where is diesel cheapest in Georgia?
When does the next bus reach my stop?
Which TBC Bank card offers give a discount at restaurants?
| Subject | Sources |
|---|---|
| Exchange rates | National Bank of Georgia, Bank of Georgia, TBC Bank, Liberty Bank, Terabank, Halyk Bank, Basisbank, Credo Bank, Rico Credit, Scapp, MJC, Inteli Express, MBC, Crystal, Kursi.ge |
| Fuel prices | SOCAR, Wissol, Gulf, Rompetrol, Lukoil, Portal, Connect, Neogas |
| Card offers | Bank of Georgia, TBC Bank, Liberty Studio |
| Tbilisi public transport | Tbilisi Transport Company |
| Postal codes | Georgian Post |
| Cinemas | Cavea |
| Statistics and inflation | Geostat |
The hosted server runs at:
https://geo-mcp.abgeo.cloud/mcp
Open Georgia MCP in the Claude directory and select Connect. It then works on claude.ai, Claude Desktop, and the Claude mobile apps.
If you added Georgia MCP on claude.ai, it is already in Claude Code under the same account. Run /mcp to check: it is listed as claude.ai Georgia MCP. To add it yourself, for example when you sign in with an API key, run:
claude mcp add --transport http georgia-mcp https://geo-mcp.abgeo.cloud/mcp
Open Plugins, select +, then Add custom MCP server. Paste the address above and set the authentication to None. A custom server needs a paid plan.
Add this to ~/.cursor/mcp.json:
{
"mcpServers": { "georgia-mcp": { "url": "https://geo-mcp.abgeo.cloud/mcp" } } }
Add this to .vscode/mcp.json in your project:
{
"servers": { "georgia-mcp": { "type": "http", "url": "https://geo-mcp.abgeo.cloud/mcp" } } }
With Docker:
docker run -p 8080:8080 ghcr.io/abgeo/georgia-mcp
Then connect your client to http://localhost:8080/mcp.
With a release binary, over stdio: download the archive for your system from the latest release, unpack it, and put georgia-mcp on your PATH. Then run:
claude mcp add georgia-mcp -- georgia-mcp stdio
Each release signs checksums.txt with cosign and carries build provenance. Each check also proves that the workflow of this repository built the file from the tag. To check an archive, run:
gh attestation verify georgia-mcp_<version>_linux_amd64.tar.gz --owner ABGEO \
--signer-workflow ABGEO/georgia-mcp/.github/workflows/release.yml
Or check the checksums with cosign, then the archive:
cosign verify-blob checksums.txt --bundle checksums.txt.sigstore.json \
--certificate-identity "https://github.com/ABGEO/georgia-mcp/.github/workflows/release.yml@refs/tags/v " \ --certificate-oidc-issuer https://token.actions.githubusercontent.com sha256sum --ignore-missing -c checksums.txt
To check an image:
cosign verify ghcr.io/abgeo/georgia-mcp:<version> \
--certificate-identity "https://github.com/ABGEO/georgia-mcp/.github/workflows/images.yml@refs/tags/v " \ --certificate-oidc-issuer https://token.actions.githubusercontent.com
Each archive and each image comes with an SPDX SBOM.
With Go, over stdio:
go install github.com/abgeo/georgia-mcp/cmd/georgia-mcp@latest
claude mcp add georgia-mcp -- georgia-mcp stdio
Three sources need a key, so they are off by default. To turn one on, set its switch to true and its key:
| Source | Switch | Key |
|---|---|---|
| Tbilisi Transport Company | GEOMCP_TRANSIT_TTC_ENABLED | GEOMCP_TRANSIT_TTC_API_KEY |
| TBC Bank developer API | GEOMCP_RATES_TBC_ENABLED | GEOMCP_RATES_TBC_API_KEY |
| Credo Bank rates API | GEOMCP_RATES_CREDO_ENABLED | GEOMCP_RATES_CREDO_API_KEY |
configs/.env.example lists every setting.
| Tool | Answers |
|---|---|
rates_get_official_rates | The official rate of the lari for today or a past date. |
rates_list_official_history | The official rate of one currency for each day of a period. |
rates_get_commercial_rates | The buy and sell rates of the commercial banks right now. |
fuel_get_prices | Today's fuel prices of each company, grouped by grade. |
offers_search_offers | The current card offers of the banks. |
offers_get_offer | The full terms of one card offer. |
transit_search_stops | Stops of Tbilisi by name or code. |
transit_list_nearby_stops | Stops near a point, nearest first. |
transit_list_arrivals | The next vehicles at a stop, live. |
transit_search_routes | Routes of Tbilisi by number or name. |
transit_get_route | One route with each direction and every stop. |
transit_get_timetable | The planned departures of a route from one stop. |
transit_search_places | A place in Tbilisi by name or address. |
transit_plan_trip | A trip by public transport between two points of Tbilisi. |
postal_search_codes | The postal code of an address, a street, a town, or a village. |
cinema_list_cinemas | The open cinemas of Cavea. |
cinema_list_movies | The movies of Cavea, now showing or coming soon. |
cinema_search_movies | The movies of Cavea by a part of the English name. |
cinema_list_sessions | The sessions of one date, with the prices and the occupancy. |
cinema_get_seat_map | The seats of one session, with the free seats of each class. |
stats_search_tables | The statistical tables of Geostat by words of the title or the folder. |
stats_get_table | One table of Geostat with its dimensions and their values. |
stats_get_cells | The figures of one table of Geostat for a selection. |
stats_get_inflation | The inflation of Georgia for a month, a city, and a price group. |
air_get_quality | The newest air quality readings of a city, a station, or every station. |
air_list_history | The hourly air quality readings of one station over at most 7 days. |
The website shows the input and a real output of each tool.
Georgia MCP follows spec driven development. The code comes from the documents in docs/specs/. Read that guide before you open a pull request.
You need Go (the version in go.mod) and Task.
cp configs/.env.example .env # then fill in the keys
task run # serve over HTTP on :8080 task lint test build # check the server task test:live # run the tests against the real sources
Each vendor client is a package under pkg/ that another project can import. task --list shows every task.
Bug reports and ideas are welcome in issues, and questions in Q&A. To add a source or a tool, open an issue first: each one starts as a requirements document. Read the contributing guide before you open a pull request.
The hosted server keeps an access log and a record of each tool call, never the input of a call. Read the privacy policy and the terms of service.
To report a vulnerability, follow the security policy. Please don't open a public issue.
Georgia MCP is not an official service. It is not affiliated with the National Bank of Georgia or any bank, fuel company, transport operator, postal opera
Only the beginning is shown; read the rest in the repo